ఎలా చేయాలి గైడ్‌లు

Nginx సర్వర్ బ్లాక్స్ తో బహుళ వెబ్ సైట్ల హోస్టింగ్ ఎలా చేయాలి?

  • 13 నిమిషాల పఠనం
  • Hostragons బృందం
Nginx సర్వర్ బ్లాక్స్ తో బహుళ వెబ్ సైట్ల హోస్టింగ్ ఎలా చేయాలి?

Nginx సర్వర్ బ్లాక్స్ అనేవి ఒకే Nginx సెటప్ లో అనేక డొమైన్‌లు లేదా వెబ్ సైట్లను వేర్వేరు సెట్టింగ్స్ తో హోస్ట్ చేయడానికి ఉపయోగించే వర్చువల్ హోస్ట్ విధానం. ఉదాహరణకు ఒకే VPS లో example.com, blog.example.com మరియు second-site.com కోసం వేర్వేరు రూట్ డైరెక్టరీలు, లాగ్ ఫైల్స్, SSL సర్టిఫికేట్లు మరియు PHP సెట్టింగ్స్ నిర్దేశించుకోవచ్చు. సారాంశంగా, ప్రతి సైట్ కు ప్రత్యేక ఫోల్డర్ సృష్టించాలి, డొమైన్ యొక్క DNS రికార్డులను సర్వర్ IP కి పాయింట్ చేయాలి, /etc/nginx/sites-available లో వేరు సర్వర్ బ్లాక్ ఫైల్ రాయాలి, దాన్ని sites-enabled లోకి సింబాలిక్ లింక్ చేయాలి, సెట్టింగ్స్ ని పరీక్షించి Nginx సర్వీస్ ని రీస్టార్ట్ చేయాలి.

ఈ గైడ్ లో Nginx సర్వర్ బ్లాక్స్ ద్వారా బహుళ వెబ్ సైట్లను ప్రొడక్షన్ వాతావరణానికి అనుగుణంగా ఎలా హోస్ట్ చేయాలో వివరించబోతున్నాం. ఉద్దేశ్యం కేవలం పని చేసే సెటప్ కాకుండా, నిర్వహణ సులభత, భద్రత, వేగం, బ్యాకప్, మరియు స్కేలబిలిటీ కలిగిన వ్యవస్థను నిర్మించడం. ముఖ్యంగా డిజిటల్ ఏజెన్సీలు, డెవలపర్లు, ఈ-కామర్స్ యజమానులు, బహుళ బ్రాండ్ నిర్వహించే సంస్థలు మరియు ఒకే సర్వర్ లో అనేక ప్రాజెక్ట్ లను నడిపే సిస్టమ్ అడ్మిన్స్ కోసం ఉపయోగపడే ప్రాక్టికల్ స్టెప్స్ ఇస్తున్నాం. మీకు ఇంకా సర్వర్ లేకపోతే VPS సర్వర్ మరియు డొమైన్ నిర్వహణ కోసం డొమెయిన్ నమోదు పేజీలను చూడండి.

Nginx సర్వర్ బ్లాక్స్ అంటే ఏమిటి?

Nginx సర్వర్ బ్లాక్స్ అనేవి Nginx కాన్ఫిగరేషన్ లో server బ్లాక్ రూపంలో ఉండే భాగాలు. ఇవి వచ్చిన HTTP లేదా HTTPS రిక్వెస్ట్ ఏ సైట్ కి జారుతుందో నిర్ణయిస్తాయి. Apache లో VirtualHost అనే కాన్సెప్ట్ కు సమానంగా ఉంటుంది. యూజర్ బ్రౌజర్ లో డొమైన్ టైప్ చేసినప్పుడు DNS ఆ డొమైన్ ని సర్వర్ IP కి పరిష్కరిస్తుంది. ఆ తరువాత Nginx రిక్వెస్ట్ లోని Host హెడర్ ను చూస్తూ server_name కి సరిపడే సర్వర్ బ్లాక్ ని ఎంచుకుంటుంది.

దీంతో ఒకే IP అడ్రస్ మరియు ఒకే ఫిజికల్ లేదా వర్చువల్ సర్వర్ మీద ఎన్నో వెబ్ సైట్లను నడిపించవచ్చు. ప్రతి సైట్ కి వేరు రూట్ డైరెక్టరీ, యాక్సెస్ లాగ్, ఎర్రర్ లాగ్, రిరైట్స్, SSL సర్టిఫికేట్లు, క్యాష్ పాలసీలు, భద్రతా నియమాలు ఏర్పాటు చేయవచ్చు. ఉదాహరణకి మీ కార్పొరేట్ సైట్ ని /var/www/kurumsal/public లో, బ్లాగ్ ని /var/www/blog/public లో, టెస్ట్ ఎన్విరాన్‌మెంట్ ని /var/www/staging/public లో ఉంచవచ్చు.

Nginx ఈ విధానంలో చాలా సామర్థ్యవంతంగా ఉంటుంది, ఎందుకంటే ఇది ఈవెంట్-డ్రివెన్ ఆర్కిటెక్చర్ కలిగి ఉండి, ఎక్కువ సమకాలిక కనెక్షన్లను తక్కువ రిసోర్సులతో నిర్వహిస్తుంది. అందువల్ల షేర్డ్ హోస్టింగ్, VPS, క్లౌడ్ సర్వర్స్, మరియు హై ట్రాఫిక్ అప్లికేషన్లలో ఎక్కువగా ఉపయోగిస్తారు. బహుళ సైట్ల సక్రమం గా నడవాలంటే ఫైల్ అనుమతులు, DNS రౌటింగ్, SSL సెటప్, లాగ్ విభజన వంటి అన్ని వివరాలు సరైన ప్లానింగ్ తో చేయాలి.

Nginx సర్వర్ బ్లాక్స్ ఎప్పుడు ఉపయోగించాలి?

ఒకే సర్వర్ పై అనేక వెబ్ ప్రాజెక్ట్స్ లేదా డొమైన్ లను నిర్వహించాల్సినప్పుడు Nginx సర్వర్ బ్లాక్స్ ఉపయోగిస్తారు. ఇది రెండు చిన్న కార్పొరేట్ సైట్లైనా, లేదా అనేక కస్టమర్ ప్రాజెక్టులు, సబ్‌డొమైన్‌లు లేదా మైక్రోసర్వీసులు కావచ్చు. ముఖ్య విషయం ప్రతి ప్రాజెక్ట్ పరస్పరం తేలికగా వేరుగా ఉండాలి.

  • ఏకకాలంలో ఒక VPS మీద అనేక డొమైన్ లను హోస్ట్ చేయాలనుకుంటే.
  • www తో ఉన్న డొమైన్ మరియు www లేని డొమైన్ లను ఒకే కెనానికల్ URL కి రీడైరెక్ట్ చేయాలనుకుంటే.
  • సబ్‌డొమైన్‌లను వేర్వేరు ఫోల్డర్‌లు లేదా అప్లికేషన్లకు కनेक్ట్ చేయాలనుకుంటే.
  • ప్రతి సైట్ కి వేరు SSL సర్టిఫికేట్ మరియు భద్రతా పాలసీ ఇవ్వాలనుకుంటే.
  • కస్టమర్ ప్రాజెక్ట్స్ ను వేరు లాగ్ ఫైల్స్ తో ట్రాక్ చేయాలనుకుంటే.
  • Laravel, WordPress, స్టాటిక్ HTML, Node.js లాంటి వేర్వేరు అప్లికేషన్లను ఒకే సర్వర్ లో నడిపించాలనుకుంటే.

ఉదాహరణకి ఒక డిజిటల్ ఏజెన్సీ 4 GB RAM ఉన్న VPS లో 8 తక్కువ ట్రాఫిక్ ఉన్న కార్పొరేట్ సైట్లను సులభంగా హోస్ట్ చేయవచ్చు. కానీ ప్రతి సైట్ ట్రాఫిక్, డిస్క్ వాడకం, PHP ప్రాసెస్, డేటాబేస్ లోడ్, బ్యాకప్ ఫ్రీక్వెన్సీ లను బాగా అంచనా వేయాలి. ప్రాజెక్టులు ఎక్కువ ట్రాఫిక్ కలిగి ఉంటే, లేదా రిసోర్స్ ఐసోలేషన్ అవసరం ఉంటే మరింత శక్తివంతమైన VPS, క్లౌడ్ సర్వర్ లేదా మేనేజ్డ్ హోస్టింగ్ సేవలను ఎంచుకోవాలి. ఈ సందర్భంలో వెబ్ హోస్టింగ్ మరియు కార్యాలయ హోస్టింగ్ ఆప్షన్స్ ని పోల్చవచ్చు.

ప్రారంభానికి అవసరమైనవి

ఈ గైడ్ లో Ubuntu లేదా Debian ఆధారిత Linux సర్వర్ ఉపయోగిస్తామని భావిస్తాం. కమాండ్లు డిస్ట్రో ఆధారంగా కొంత తేడా ఉండవచ్చు, కాని భావం ఒకటే. ప్రొడక్షన్ లోకి వెళ్లేముందు తప్పక బ్యాకప్ తీసుకోండి. Nginx లో తప్పు సెట్టింగ్ వల్ల అన్ని సైట్లు తాత్కాలికంగా అందుబాటులో ఉండకపోవచ్చు.

అవసరమైన టెక్నికల్ సిద్ధత

  • Root లేదా sudo అధికారాలు ఉన్న Linux యూజర్ అకౌంట్.
  • ఇన్‌స్టాల్ చేసి రన్ అవుతున్న Nginx సర్వీస్.
  • సర్వర్ IP కి పాయింట్ చేసిన కనీసం ఒక డొమైన్.
  • 80 మరియు 443 పోర్టులు ఫైర్వాల్ లో ఓపెన్ చేయబడినవి.
  • సైట్ ఫైళ్లకు సులభమైన డైరెక్టరీ స్ట్రక్చర్.
  • SSL కోసం చెల్లుబాటు అయ్యే సర్టిఫికేట్ లేదా ఉచిత Let’s Encrypt ఉపయోగం.
  • PHP ఆధారిత అప్లికేషన్ల కోసం PHP-FPM సెట్ అప్.

DNS లో A రికార్డ్ ప్రధాన డొమైన్ ని IPv4 అడ్రస్ కి, AAAA ఉంటే IPv6 అడ్రస్ కి పాయింట్ చేస్తుంది. www వంటి సబ్‌డొమైన్ ల కోసం CNAME లేదా A రికార్డ్ ఉపయోగిస్తారు. DNS ప్రపగేషన్ సాధారణంగా కొన్ని నిమిషాల నుంచి 24 గంటల వరకు పడుతుంది. కొత్త సెటప్ లో ముందుగా DNS రికార్డ్స్ సెట్ చేసి, తర్వాత Nginx సర్వర్ బ్లాక్స్ సెట్టింగ్స్ చేయడం పని వేగవంతం చేస్తుంది.

సిఫార్సు డైరెక్టరీ నిర్మాణం

బహుళ సైట్లు హోస్ట్ చేస్తుంటే ఒకే ఫోల్డర్ లో అన్ని ఫైళ్లను ఉంచడం తప్పు. మొదట్లో సులభంగా అనిపించినా, నిర్వహణ, బ్యాకప్, డీబగ్గింగ్ లో పెద్ద ఇబ్బంది. ఉత్తమ పద్ధతి, ప్రతి డొమైన్ కి ఒక ప్రత్యేక ఫోల్డర్, అందులో public, logs, backups లాంటి ఉపఫోల్డర్లు ఉండేలా చేయడం.

ఉదాహరణకి: /var/www/site1.com/public, /var/www/site1.com/logs, /var/www/site2.com/public, /var/www/site2.com/logs. Nginx root డైరెక్టరీగా public ఫోల్డర్ ను సూచించాలి. ఇలా 하면 అప్లికేషన్ ఫైల్స్, .env వంటి సున్నితమైన ఫైళ్లకు వెబ్ ద్వారా నేరుగా యాక్సెస్ ఉండదు.

ప్రతి సైట్ ఫోల్డర్ లో ఒక సాదాసీదా index.html ఫైల్ పెట్టి, "ఈ site1.com టెస్ట్ పేజీ" వంటి టెక్స్ట్ చేర్చండి. ఇది సర్వర్ బ్లాక్ సక్రమంగా పనిచేస్తుందో లేదో త్వరగా తెలుసుకునేందుకు ఉపయోగపడుతుంది. ప్రొడక్షన్ లో ఈ ఫోల్డర్స్ యజమాని www-data లేదా deployment కి ఉపయోగించే ప్రత్యేక యూజర్ గా ఉండాలి. ఫైళ్ల అనుమతులు ఫోల్డర్లకు 755, ఫైళ్లకు 644 సాధారణంగా సరిపోతుంది. WordPress లాంటి వ్రాయడానికి అవసరమైన అప్లికేషన్లకు uploads ఫోల్డర్ ప్రత్యేకంగా చూసుకోవాలి.

స్టెప్ బై స్టెప్ Nginx సర్వర్ బ్లాక్ సృష్టించడం

కింది స్టెప్స్ site1.com ద్వారా వివరించబడ్డాయి. ఇదే విధానాన్ని రెండో, మూడో లేదా మరింత సైట్ల కోసం అనుసరించవచ్చు. ముఖ్యంగా ప్రతి సైట్ కి ప్రత్యేక server_name, root, log ఫైల్స్ ఉండాలి.

1. సైట్ ఫోల్డర్ సృష్టించండి

మొదటి పనిగా వెబ్ ఫైళ్లు నిల్వ చేయడానికి ఫోల్డర్ తయారు చేయాలి. ఉదా: sudo mkdir -p /var/www/site1.com/public. తర్వాత పరీక్ష కోసం /var/www/site1.com/public/index.html లో "ఈ site1.com టెస్ట్ పేజీ" అని టెక్స్ట్ రాయండి.

ఫైళ్ల యజమానిని సరిచూడండి: sudo chown -R www-data:www-data /var/www/site1.com. deployment వేరే యూజర్ తో ఉంటే ఆ గ్రూప్ అనుమతులు కూడా సరిచూడండి. ప్రొడక్షన్ లో 777 అనుమతులు ఇవ్వకండి, ఇది సెక్యూరిటీ ప్రమాదం.

2. సర్వర్ బ్లాక్ ఫైల్ సృష్టించండి

Nginx లో సాధారణంగా /etc/nginx/sites-available లో సెటప్ ఫైళ్లను ఉంచి, అవి సక్రియం కావడానికి /etc/nginx/sites-enabled లో సింబాలిక్ లింక్ చేస్తారు. ఉదాహరణ ఫైల్: /etc/nginx/sites-available/site1.com.

సాధారణ HTTP సర్వర్ బ్లాక్ ఇలా ఉంటుంది:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/public;
index index.html index.htm;
access_log /var/log/nginx/site1.com.access.log;
error_log /var/log/nginx/site1.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}

ఇక్కడ listen 80 అంటే HTTP ట్రాఫిక్ కోసం, server_name లో ఏ డొమైన్ లు ఈ బ్లాక్ కి చెందినవో, root వెబ్ ఫైళ్ళు ఎక్కడ ఉన్నాయో సూచిస్తుంది. try_files ఆ ఫైల్ లేకపోతే 404 చూపిస్తుంది. స్టాటిక్ సైట్లకు ఇది సరిపోతుంది.

3. సైట్ ని యాక్టివేట్ చేయండి

సింబాలిక్ లింక్ సృష్టించండి: sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/site1.com. ఇది ఫైళ్ళను కాపీ చేయడం కన్నా మంచి పద్ధతి, ఎందుకంటే ఒకే ఫైల్ పై పని అవుతుంది. మార్పులు చేసినప్పుడు లింక్ ఫైల్ కూడా అప్డేట్ అవుతుంది.

మరియు డిఫాల్ట్ Nginx పేజీ మీ సైట్ ముందు రావకుండా చేయాలంటే /etc/nginx/sites-enabled/default లింక్ తొలగించవచ్చు. కానీ ముందుగా మీ సర్వర్ బ్లాక్ సరిగా పనిచేస్తుందో నిర్ధారించుకోండి.

4. సెట్టింగ్స్ పరీక్షించి Nginx ని రీలోడ్ చేయండి

ప్రతి మార్పు తర్వాత sudo nginx -t తో కాన్ఫిగరేషన్ సింటాక్స్ పరీక్షించాలి. అది సక్సెస్ అయితే sudo systemctl reload nginx తో సర్వీస్ ని యాజమాన్యం చేస్తున్న కనెక్షన్లను నయంగా కొనసాగిస్తూ రీస్టార్ట్ చేయండి.

పరీక్ష విఫలం అయితే ఎర్రర్ మెసేజ్ లో ఫైల్ పేరు, లైన్ నంబర్ ఉంటాయి. పొరపాట్లు: మిస్సింగ్ సెమికోలన్, తప్పు బ్రాకెట్లు, తప్పు డైరెక్టరీ పాత్, server_name లో డూప్లికేట్లు వంటివి. సరి చేయకుండానే Nginx రీలోడ్ చేయొద్దు.

రెండో, మూడో సైట్లు జోడించడం

బహుళ సైట్లు హోస్ట్ చేయడం లాభం మొదటి సైట్ సరిగా సెటప్ అయిన తర్వాత ఈ ప్రక్రియను పునరావృతం చేయడం. site2.com కోసం /var/www/site2.com/public డైరెక్టరీ సృష్టించి, /etc/nginx/sites-available/site2.com కాన్ఫిగరేషన్ రాయండి, root, లాగ్ ఫైళ్లు site2.com కి మార్చండి, సింబాలిక్ లింక్ చేసి Nginx టెస్ట్ చేయండి.

రెండో సైట్ కొరకు సర్వర్ బ్లాక్ ఉదాహరణ:
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/public;
index index.html;
access_log /var/log/nginx/site2.com.access.log;
error_log /var/log/nginx/site2.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}

ప్రతి సైట్ కి వేరు లాగ్ ఫైళ్లు ఉండటం ఎంతో ముఖ్యం. ఉదా: ఒక సైట్ లో 404 ఎర్రర్స్ పెరిగినా, మరొక సైట్ కి ప్రభావం ఉండదు. లాగ్ ద్వారా సాంకేతిక సమస్యల్ని త్వరగా గుర్తించవచ్చు. ట్రాఫిక్ విశ్లేషణ, బాట్ దాడులు, బ్రోకెన్ లింక్స్, పనితీరు సమస్యలు సైట్ వారీగా ట్రాక్ అవుతాయి.

SSL మరియు HTTPS సెట్టింగ్స్

2026 SEO ప్రమాణాల ప్రకారం HTTPS కేవలం భద్రత కోసం కాకుండా యూజర్ విశ్వాసం మరియు టెక్నికల్ క్వాలిటీ సూచిక. బ్రౌజర్లు HTTP సైట్లను "సేఫ్ కాదు" అని చూపిస్తాయి; పేమెంట్లు, లాగిన్, ఫారమ్ లాంటి ప్రాజెక్ట్స్ లో SSL తప్పనిసరి. బహుళ సైట్లలో ప్రతి డొమైన్ కి సరైన సర్టిఫికేట్ ఇవ్వాలి. Hostragons లో మీ SSL అవసరాలకు SSL సర్టిఫికేట్ చూడండి.

Let’s Encrypt వాడితే certbot తో సులభంగా సర్టిఫికేట్ పొందవచ్చు. ఉదా: certbot --nginx -d site1.com -d www.site1.com Nginx కాన్ఫిగరేషన్ ని గుర్తించి HTTPS బ్లాక్ ను ఆటోమేటిక్ జత చేస్తుంది. అయితే ఆటోమేటిక్ మార్పులు తర్వాత ఫైల్ సరిచూడడం మంచి అలవాటు.

HTTPS సెటప్ లో సాధారణంగా 80 పోర్ట్ ట్రాఫిక్ 443 కి 301 పర్మనెంట్ రీడైరెక్ట్ అవుతుంది. www వాడాలి లేదా కాదు నిర్ణయించి అన్ని వెర్షన్లను ఒకే కెనానికల్ URL కి ఫార్వర్డ్ చేయాలి. ఉదా: https://www.site1.com కాకుండా https://site1.com వాడితే http మరియు https లోని www ట్రాఫిక్ www లేని వెర్షన్ కి పాయింట్ చేయాలి. ఇది కాపీ కంటెంట్ సమస్యను తగ్గిస్తుంది.

PHP మరియు WordPress సైట్ల కోసం Nginx సర్వర్ బ్లాక్స్

స్టాటిక్ HTML కి సెట్టింగ్ సులభం కానీ WordPress, Laravel, లేదా కస్టమ్ PHP అప్లికేషన్లకు PHP-FPM ఇంటిగ్రేషన్ అవసరం. ఇలాంటి సైట్లలో index.php పేర్కొనాలి, PHP రిక్వెస్ట్ ను ఫాస్ట్‌సీజీ ఐ/ఓ కు పంపాలి. ఉదా: Ubuntu లో PHP 8.3 కోసం సాకెట్ /run/php/php8.3-fpm.sock ఉంటుంది. వెర్షన్ ఆధారంగా మారవచ్చు.

PHP సైట్ కోసం ఉదాహరణ:
server {
listen 80;
server_name wordpress-site.com www.wordpress-site.com;
root /var/www/wordpress-site.com/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}

WordPress లో పర్మాలింక్స్ సరిగ్గా పనిచేయాలంటే try_files $uri $uri/ /index.php?$args అవసరం. xmlrpc.php యాక్సెస్, wp-login.php రేట్ లిమిటింగ్, uploads ఫోల్డర్ లో PHP బ్లాక్ చేయడం వంటి భద్రతా చర్యలు కూడా తీసుకోవాలి. ఒకే VPS లో అనేక WordPress సైట్లను హోస్ట్ చేస్తే ప్రతీ సైట్ కి వేరు డేటాబేస్, వేరు యూజర్, మరియు రెగ్యులర్ అప్డేట్స్ అవసరం. WordPress హోస్టింగ్ కోసం WordPress హోస్టింగ్ చూడండి.

Nginx సర్వర్ బ్లాక్స్ vs Apache VirtualHost

Nginx సర్వర్ బ్లాక్స్ vs Apache VirtualHost

Nginx, Apache రెండూ ఒకే లక్ష్యాన్ని తేడా ఆర్కిటెక్చర్ తో చేరతాయి. రెండూ ఒకే సర్వర్ లో బహుళ సైట్లను హోస్ట్ చేయగలవు. ఎంచుకోవడం అనేది అప్లికేషన్ అవసరాలు, నిర్వహణ అలవాట్లు, పనితీరు అంచనాలపై ఆధారపడి ఉంటుంది.

Nginx సర్వర్ బ్లాక్స్ vs Apache VirtualHost
క్రైటీరియాNginx సర్వర్ బ్లాక్స్Apache VirtualHost
పనితీరుహై కనకరెంట్లలో తక్కువ రిసోర్సులతో మెరుగైన పనితీరు.మాడ్యూల్స్, ప్రాసెస్ మోడల్ వల్ల ఎక్కువ రిసోర్స్ వినియోగం.
కాన్ఫిగరేషన్సెంట్రలైజ్డ్, సింపుల్ కాన్ఫిగరేషన్..htaccess తో ఫోల్డర్ స్థాయి ఫ్లెక్సిబిలిటీ.
స్టాటిక్ ఫైల్ సర్వింగ్అత్యంత వేగవంతమైనది.సరాసరి పనితీరు కానీ Nginx కన్నా కొంత మెల్లగా ఉంటుంది.
PHP హ్యాండ్లింగ్PHP-FPM ద్వారా పనిచేస్తుంది.mod_php లేదా PHP-FPM రెండూ ఉపయోగించవచ్చు.
ఉపయోగ సందర్భంరీవర్స్ ప్రాక్సీ, స్టాటిక్ ఫైల్ సర్వింగ్, హై ట్రాఫిక్ మరియు ఆధునిక అప్లికేషన్స్ కు బలమైనది..htaccess ఆధారిత పాత అప్లికేషన్లు, షేర్డ్ హోస్టింగ్ కి సులభం.

.htaccess పై ఆధారపడిన అప్లికేషన్లకు Apache సులభంగా అనిపించవచ్చు. కానీ హై ట్రాఫిక్, రీవర్స్ ప్రాక్సీ, క్యాషింగ్, ఆధునిక డిప్లాయ్ మెంట్స్ కోసం Nginx అనేక సందర్భాల్లో మెరుగైన ఎంపిక. కొన్నిసార్లు Nginx రీవర్స్ ప్రాక్సీగా, Apache బ్యాక్ ఎండ్ సర్వర్ గా కలిసి పనిచేస్తాయి.

భద్రత కోసం ఉత్తమ ఆచరణలు

ఒకే సర్వర్ లో బహుళ సైట్లను హోస్ట్ చేయడం ఖర్చు తగ్గిస్తుంది కానీ భద్రత బాధ్యత పెంచుతుంది. ఒక సైట్ లో సమస్యలు ఇతర సైట్లను ప్రభావితం చెయ్యకూడదు అంటే ఐసోలేషన్ మరియు కనీస అధికారాల సిద్ధాంతం పాటించాలి.

  • ప్రతి సైట్ కి వేరు డేటాబేస్ మరియు వేరు డేటాబేస్ యూజర్ సృష్టించండి.
  • వెబ్ రూట్ డైరెక్టరీ ని public ఫోల్డర్ తో మాత్రమే పరిమితం చేయండి.
  • బ్యాకప్, .env, .git, config, SQL ఫైల్స్ వెబ్ యాక్సెస్ కి దూరంగా ఉంచండి.
  • SSL సర్టిఫికేట్లను సమయానికి రీన్యూ చేసి HTTPS రీడైరెక్ట్ తప్పనిసరి చేయండి.
  • సర్వర్ లో UFW లేదా ఇలాంటి ఫైర్వాల్ ఉపయోగించి అవసరమైన పోర్టులు మాత్రమే ఓపెన్ చేయండి.
  • Nginx మరియు OS అప్డేట్లను రెగ్యులర్ గా చేస్తూ ఉండండి.
  • ప్రతి సైట్ కి వేరు access_log మరియు error_log ఉంచండి.
  • అడ్మిన్ ప్యానెల్స్ కి IP ఫిల్టరింగ్ లేదా అదనపు ఆథెంటికేషన్ జోడించండి.
  • ఫైల్ అనుమతుల్లో 777 వంటి విస్తృత అనుమతులు ఇవ్వకుండా జాగ్రత్త పడండి.

అదనంగా X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Content-Security-Policy వంటి హెడర్లను అవసరమైన ప్రాజెక్ట్స్ లో జత చేయడం మంచిది. కానీ Content-Security-Policy తప్పుగా అమలు చేస్తే స్క్రిప్ట్, స్టైల్ ఫైళ్లను బ్లాక్ చేయవచ్చు. కనుక ముందుగా టెస్ట్ ఎన్విరాన్‌మెంట్ లో పరీక్షించాలి. మరిన్ని భద్రతా టిప్స్ కోసం వెబ్ సైట్ భద్రత చూడండి.

పనితీరు మరియు SEO విషయంలో జాగ్రత్తలు

Nginx సర్వర్ బ్లాక్స్ కేవలం వెబ్ సైట్లు హోస్ట్ చేయడమే కాకుండా పనితీరు మరియు SEO పై కూడా ప్రభావం చూపుతాయి. తప్పు రీడైరెక్ట్ లు, తప్పు canonical సెట్టింగ్స్, gzip లేదా brotli కంప్రెషన్ లేకపోవడం, భారీ లాగ్ ఫైళ్లు, క్యాష్ పాలసీ లోపాలు సైట్ వేగాన్ని తగ్గిస్తాయి. Google పేజీ అనుభవం సిగ్నల్స్ యూజర్ ఫ్రెండ్లీ, వేగవంతమైన, భద్రత కలిగిన సైట్లను ప్రాధాన్యం ఇస్తాయి.

ముఖ్యంగా ప్రతి డొమైన్ కి ఒకే కెనానికల్ వెర్షన్ సెట్ చేయండి. HTTP నుండి HTTPS కు, www నుండి www లేని వెర్షన్ కి లేదా దాని విరుద్ధంగా సింగిల్ స్టెప్ రీడైరెక్ట్ చేయండి. రీడైరెక్ట్ చైన్ ఇలా ఉండొద్దు: http://site.com → http://www.site.com → https://www.site.com → https://site.com. ఒకే 301 తో నేరుగా టార్గెట్ కి వెళ్ళడం ఉత్తమం.

స్టాటిక్ ఫైళ్లకు cache-control హెడర్ లు ఉపయోగించండి. ఇమేజ్‌లు, CSS, JS ఫైళ్లు నిర్దిష్ట కాలం బ్రౌజర్ లో నిల్వ ఉండేలా చేయండి. తరచుగా మారే ఫైళ్లకు వర్షన్ నేమింగ్ లేదా క్వెరీ స్ట్రింగ్ విధానాలు వాడండి. gzip కంప్రెషన్ HTML, CSS, JS, JSON వంటి టెక్స్ట్ ఫైళ్లకు బాండ్‌విడ్త్ తగ్గింపును ఇస్తుంది. భారీ ట్రాఫిక్ ఉన్న సైట్లకు Nginx మైక్రో క్యాష్, FastCGI క్యాష్ లేదా CDN వాడటం మంచిది. ప్రపంచవ్యాప్తంగా యాక్సెస్ అవసరాల కోసం CDN అంటే ఏమిటి చదవండి.

లాగ్ మేనేజ్‌మెంట్ మరియు మానిటరింగ్

బహుళ సైట్లు హోస్ట్ చేస్తుంటే లాగ్ మేనేజ్‌మెంట్ సమస్యల పరిష్కారంలో కీలకం. వేరు వేరు లాగ్ ఫైళ్లు ఏ సైట్ లో ఏ సమస్య వచ్చిందో స్పష్టంగా చూపిస్తాయి. access_log యూజర్ రిక్వెస్ట్ లను, error_log కాన్ఫిగరేషన్, అనుమతులు, ఫైల్ లేని సమస్యలు, అప్స్ట్రిమ్ లోపాలను రికార్డ్ చేస్తుంది. 502 Bad Gateway అంటే PHP-FPM లేదా బ్యాక్ ఎండ్ సర్వీస్ లో సమస్య. 403 Forbidden అంటే అనుమతులు లేదా index ఫైల్ లో సమస్య. 404 Not Found అంటే root డైరెక్టరీ లేదా try_files లో లోపం ఉండొచ్చు.

లాగ్ ఫైల్స్ అనేకం పెరగకుండా logrotate సెట్టింగ్స్ పర్యవేక్షించాలి. చిన్న ప్రాజెక్ట్స్ లో డైలీ లేదా వీక్ లీ రోటేషన్ సరిపోతుంది. భారీ సైట్లకు సెంట్రలైజ్డ్ లాగ్ కలెక్షన్, మెట్రిక్స్ ట్రాకింగ్, అలర్ట్ సిస్టమ్ అవసరం. డిస్క్ ఫుల్ ఐతే Nginx లాగ్ రాయలేకపోవచ్చు, డేటాబేస్ ఆగిపోవచ్చు, సైట్లు అందుబాటులో ఉండకపోవచ్చు. అందుకే డిస్క్ వాడకం మితులు నిర్ణయించటం మంచిది.

సాధారణ లోపాలు మరియు త్వరిత పరిష్కారాలు

Nginx సర్వర్ బ్లాక్స్ తో పని చేస్తుంటే కొన్ని సాధారణ లోపాలు వస్తుంటాయి. వాటిని ముందుగానే తెలుసుకోవడం సెటప్ కాలం తగ్గిస్తుంది.

  • తప్పు సైట్ ఓపెన్ అవుతుంది: server_name డూప్లికేషన్లు, డిఫాల్ట్ సర్వర్ బ్లాక్ పరిశీలించండి.
  • 403 Forbidden error: root డైరెక్టరీ, ఫైల్ అనుమతులు, index ఫైల్ ఉన్నదో కాదో చూడండి.
  • 404 Not Found error: root పాత్, try_files నియమాలు సరిచూడండి.
  • 502 Bad Gateway error: PHP-FPM రన్ అవుతుందో, సాకెట్ పాత్ సరిగా ఉందో పరిశీలించండి.
  • SSL సర్టిఫికేట్ తప్పు సైట్ కి సంబంధించినట్టు కనిపిస్తుంది: 443 పోర్ట్ server_name మరియు సర్టిఫికేట్ ఫైల్ లను చెక్ చేయండి.
  • రీడైరెక్ట్ లూప్: HTTP-HTTPS, www రీడైరెక్ట్ నియమాలు సింప్లిఫై చేయండి.
  • Nginx reload అవడం లేదు: sudo nginx -t అవుట్‌పుట్ లోని లైన్ నంబర్ ఆధారంగా సింటాక్స్ తప్పులు సరిచూడండి.

అనుభవజ్ఞులైన అడ్మిన్ లు ఇలా చెక్ చేస్తారు: DNS సరిగా ఉందా? Nginx కాన్ఫిగరేషన్ యాక్టివ్ గా ఉన్నదా? root ఫోల్డర్ ఉందా? అనుమతులు సరైనవా? సర్వీస్ పరీక్ష పాస్ అయిందా? లాగ్ లో ఏదైనా ఎర్రర్ ఉందా? ఇలా ఒకక్రమంగా వెళ్ళినట్లయితే సమస్యను త్వరగా గుర్తించి పరిష్కరించవచ్చు.

ప్రొడక్షన్ వాతావరణం కోసం ప్రాక్టికల్ చెక్లిస్ట్

లైవ్ కి తీసుకెళ్లేముందు ఈ చెక్లిస్ట్ తో ప్రతి సైట్ ని వెరిఫై చేయండి. ముఖ్యంగా కస్టమర్ ప్రాజెక్ట్స్ లో డెలివరీ ముందు ఈ అంశాలు డాక్యుమెంటేషన్ చేయడం ప్రొఫెషనల్ ప్రమాణంగా ఉంటుంది.

  • డొమైన్ A లేదా AAAA రికార్డ్ సరైన IP కి పాయింట్ అవుతోంది.
  • www మరియు www లేని వెర్షన్లలో ఒకటి కెనానికల్ గా ఎంచుకున్నారు.
  • HTTP ట్రాఫిక్ HTTPS కి 301 పర్మనెంట్ రీడైరెక్ట్ అవుతోంది.
  • SSL సర్టిఫికేట్ చెల్లుబాటు గావించి ఆటోమేటిక్ రీన్యూ ఆన్ ఉంది.
  • ప్రతి సైట్ కి వేరు root మరియు లాగ్ ఫైళ్లు సెట్ అయ్యాయి.
  • Nginx సెట్టింగ్స్ sudo nginx -t తో పరీక్షించబడినవి.
  • బ్యాకప్ ప్లాన్ సిద్ధంగా ఉంది, రిస్టోర్ టెస్ట్ కూడా చేయబడింది.
  • ఫైల్ అనుమతులు కనీస అవసరాల మేరకు ఉన్నవి.
  • ఫైర్వాల్ లో అవసరమైన పోర్టులు మాత్రమే ఓపెన్ చేయబడ్డాయి.
  • ఎర్రర్ లాగ్స్ కనీసం 15 నిమిషాలు మానిటర్ చేయబడ్డాయి.

చిన్న అంశాలుగా కనిపించినా ఇవి ప్రొడక్షన్ లో సర్వర్ డౌన్ టైమ్ తగ్గించడంలో చాలా ఉపయోగపడతాయి. ముఖ్యంగా SSL రిన్యూవల్, DNS చెక్, లాగ్ మానిటరింగ్ వంటి దశలు అనేక దాచిన సమస్యలను ముందుగానే పట్టుకోవడంలో సహాయపడతాయి.

ముగింపు

Nginx సర్వర్ బ్లాక్స్ ఒకే సర్వర్ పై అనేక సైట్లను సక్రమం, భద్రతతో, పనితీరు మెరుగ్గా హోస్ట్ చేయడానికి మేలు చేసే పద్ధతులలో ఒకటి. సరైన డైరెక్టరీ నిర్మాణం, వేరు కాన్ఫిగరేషన్ ఫైళ్లు, క్లియర్ రీడైరెక్ట్ లు, HTTPS అమలు, లాగ్ విభజన, మరియు రెగ్యులర్ టెస్టింగ్ తో బహుళ సైట్ల నిర్వహణ చాలా సమర్థవంతంగా ఉంటుంది. చిన్న పోర్ట్ఫోలియో సైట్ల నుంచి పెద్ద బహుళ కస్టమర్ ప్రాజెక్ట్స్ వరకు ఈ ప్రిన్సిపిల్స్ వర్తిస్తాయి.

కొత్త ప్రాజెక్ట్ ప్రారంభిస్తుంటే ముందుగా డొమైన్, సర్వర్ రిసోర్సులు, SSL అవసరాలు క్లియర్ చేసుకుని, పై చెక్లిస్ట్ ఆధారంగా Nginx సెట్టింగ్స్ సృష్టించండి. మరింత సులభమైన ఇన్‌ఫ్రాస్ట్రక్చర్ కోసం Hostragons యొక్క హోస్టింగ్ ప్యాకేజీలు, VPS సర్వర్, SSL సర్టిఫికేట్ సేవలను పరిశీలించండి.

సామాన్యంగా అడిగే ప్రశ్నలు

Nginx సర్వర్ బ్లాక్స్ తో ఎంతమంది సైట్లు హోస్ట్ చేయవచ్చు?

సాంకేతికంగా Nginx తో ఒకే సర్వర్ పై అనేక సైట్లను హోస్ట్ చేయవచ్చు; పరిమితి CPU, RAM, డిస్క్, ట్రాఫిక్, డేటాబేస్ లోడ్, PHP-FPM సామర్థ్యాల మీద ఆధారపడి ఉంటుంది. తక్కువ ట్రాఫిక్ ఉన్న స్టాటిక్ సైట్లకు పది దశల సైట్లు సులభం, కాని అధిక ట్రాఫిక్ లేదా కాంప్లెక్స్ WordPress, ఈ-కామర్స్ సైట్లకు తక్కువ సంఖ్య సురక్షితం.

ప్రతి సైట్ కి వేరు SSL సర్టిఫికేట్ అవసరమా?

అవును, ప్రతి డొమైన్ లేదా సబ్‌డొమైన్ HTTPS లో హోస్ట్ చేయాలంటే సర్టిఫికేట్ పొందాలి. వేరు వేరు సర్టిఫికేట్లు లేదా SAN, wildcard సర్టిఫికేట్లు ఉపయోగించవచ్చు. ముఖ్యంగా Nginx 443 సర్వర్ బ్లాక్ లో సరైన సర్టిఫికేట్ ఫైళ్లు సరైన డొమైన్ కు కేటాయించాలి.

Nginx సర్వర్ బ్లాక్ తో సబ్‌డొమైన్ హోస్ట్ చేయవచ్చా?

ఖచ్చితంగా. blog.site.com, panel.site.com లాంటి సబ్‌డొమైన్‌ల కోసం వేరు server_name అమర్చుకుని వేరు root డైరెక్టరీ లేదా వేరు బ్యాక్ ఎండ్ అప్లికేషన్‌కు రీడైరెక్ట్ చేయవచ్చు. DNS లో సబ్‌డొమైన్ కి A లేదా CNAME రికార్డ్ సెట్ చేయాలి.

site-available మరియు sites-enabled మధ్య తేడా ఏమిటి?

sites-available లో ఉపయోగించదగిన కాన్ఫిగరేషన్ ఫైళ్లు ఉంటాయి; sites-enabled లో ప్రస్తుతం యాక్టివ్ కాన్ఫిగరేషన్లు ఉంటాయి. సాధారణంగా sites-enabled లో sites-available ఫైళ్లకు సింబాలిక్ లింక్ ఉంటాయి. ఇది సైట్లను ఆన్/ఆఫ్ చేయడాన్ని సులభతరం చేస్తుంది.

తప్పు సైట్ మొదలవుతుంటే కారణం ఏమిటి?

సాధారణ కారణాలు: DNS తప్పు IP కి పాయింట్ అవడం, server_name లో పొరపాటు, డిఫాల్ట్ Nginx బ్లాక్ రిక్వెస్ట్ ను రీడైరెక్ట్ చేయడం, 443 పోర్ట్ లో తప్పు SSL బ్లాక్ పనిచేయడం. ముందుగా DNS రికార్డ్స్, nginx -t అవుట్‌పుట్, sites-enabled లింక్స్, access_log ఫైళ్లు సరిచూడండి.

ఈ వ్యాసాన్ని పంచుకోండి:

Hostragons బృందం

హోస్టింగ్, సర్వర్లు మరియు డొమైన్ పేర్లపై మా నిపుణుల బృందం నుండి తాజా మార్గదర్శకాలు. మీ ప్రాజెక్ట్ కోసం సరైన పరిష్కారాన్ని కలిసి కనుగొందాం.

మమ్మల్ని సంప్రదించండి