ఉబుంటు 20.04 సిస్టమ్లో Nginx వెబ్ సర్వర్ను ఇన్స్టాల్ చేయడానికి మరియు సెటప్ చేయడానికి పూర్తి దశల వారీ గైడ్
Nginx అనేది బహుళ ప్లాట్ఫారమ్లలో అందుబాటులో ఉన్న ఓపెన్ సోర్స్ మరియు ప్రసిద్ధ రివర్స్ ప్రాక్సీ వెబ్ సర్వర్. సాఫ్ట్వేర్ను అభివృద్ధి చేశారు ఇగోర్ సిసోవ్ C10K సమస్యకు పరిష్కారంగా మరియు 2004లో మొదటిసారి విడుదలైంది. C10K సమస్య 2000ల ప్రారంభంలో చాలా సులభం కాదు ఏకకాలంలో పది వేల మంది క్లయింట్లను నిర్వహించడంలో సమస్య.
ఈ ట్యుటోరియల్లో, Ubuntu 20.04 LTSలో Nginxని ఎలా ఇన్స్టాల్ చేసి సెటప్ చేయాలో చూద్దాం.
ముందస్తు అవసరాలు
ఉబుంటు 20.04 వ్యవస్థాపించిన సిస్టమ్ మరియు a సుడో
వినియోగదారు. అదనంగా, మీరు పోర్ట్ 80 లేదా 443లో నడుస్తున్న అపాచీ వంటి ఇతర వెబ్ సర్వర్లను కలిగి ఉండవలసిన అవసరం లేదు.
Nginxని ఇన్స్టాల్ చేస్తోంది
Nginx ఉబుంటు 20.04 రిపోజిటరీలో అందుబాటులో ఉంది మరియు సముచితమైనది
దీన్ని ఇన్స్టాల్ చేయడానికి ప్యాకేజీ మేనేజర్ని ఉపయోగించవచ్చు. కాబట్టి, Nginxని ఇన్స్టాల్ చేయడానికి టెర్మినల్ను ఉపయోగించి తెరవండి ctrl+alt+t
మరియు అమలు చేయండి:
sudo apt update && sudo apt ఇన్స్టాల్ nginx
ఇన్స్టాలేషన్ త్వరలో పూర్తవుతుంది మరియు Nginx డెమోన్ నేపథ్యంలో స్వయంచాలకంగా ప్రారంభమవుతుంది. కాబట్టి, Nginx స్థితిని తనిఖీ చేయడానికి, అమలు చేయండి:
sudo systemctl స్థితి nginx
పై ఆదేశాన్ని అమలు చేసిన తర్వాత మీరు Nginx స్థితిని పొందాలి క్రియాశీల (నడుస్తున్న)
క్రింద చూసినట్లుగా ఆకుపచ్చ రంగులో.
ఉబుంటు ఫైర్వాల్ (UFW)ని కాన్ఫిగర్ చేస్తోంది
డిఫాల్ట్గా, అవుట్గోయింగ్ పోర్ట్లు HTTP (80) మరియు HTTPS (443) ఉబుంటు 20.04లో మూసివేయబడ్డాయి. అదనంగా, డిఫాల్ట్ ఫైర్వాల్ డెమోన్ ufw
అన్ని పోర్ట్లు మూసివేయబడినందున నిలిపివేయబడింది.
అందువల్ల, ఇతర సిస్టమ్ల నుండి Nginx సర్వర్ను యాక్సెస్ చేయడానికి, మీరు దీన్ని ప్రారంభించాలి ufw
మరియు పోర్ట్లో ట్రాఫిక్ను అనుమతించడానికి దాన్ని సరిగ్గా సెటప్ చేయండి 80
మరియు 443
. మీరు ప్రారంభించే ముందు ufw
, మీరు రిమోట్ సర్వర్లో Nginxని సెటప్ చేస్తుంటే, ముందుగా నవీకరించండి ufw
అనుమతించడానికి నియమాలు ssh
అమలు చేయడం ద్వారా:
sudo ufw sshని అనుమతిస్తుంది
పై ఆదేశం అనుమతిస్తుంది ssh
అనుమతించకుండానే రిమోట్ సర్వర్కి యాక్సెస్ ssh
మీరు రిమోట్ సర్వర్ నుండి లాక్ చేయబడతారు.
ప్రారంభించిన తర్వాత ssh
యాక్సెస్, మీరు ప్రారంభించవచ్చు ufw
అమలు చేయడం ద్వారా ఫైర్వాల్ డెమోన్:
sudo ufw ప్రారంభించండి
ఇప్పుడు, మీరు HTTP మరియు HTTPS పోర్ట్లను అనుమతించడానికి ఫైర్వాల్ నియమాలను మార్చాలి, తద్వారా Nginx వెబ్ ట్రాఫిక్ను అందించగలదు. నియమాలను మార్చడానికి, అమలు చేయండి:
sudo ufw 'Nginx ఫుల్'ని అనుమతిస్తుంది
Nginx పూర్తి
అన్ని IP చిరునామాల నుండి ఇన్కమింగ్ మరియు అవుట్గోయింగ్ ట్రాఫిక్ కోసం HTTP మరియు HTTPS పోర్ట్లు రెండింటినీ అనుమతిస్తుంది.
ఆ తర్వాత, నియమాలు సరిగ్గా జోడించబడిందో లేదో తనిఖీ చేయండి ufw
ఆదేశాన్ని అమలు చేయడం ద్వారా ఫైర్వాల్:
sudo ufw స్థితి
పై ఆదేశం మనం జోడించిన నియమాలను అవుట్పుట్ చేస్తుంది ufw
ఫైర్వాల్ డెమోన్.
Nginx సర్వర్కి కనెక్ట్ చేస్తోంది
ఇప్పుడు మేము Nginxని ఇన్స్టాల్ చేసాము మరియు కాన్ఫిగర్ చేసాము ufw
ఇన్కమింగ్ HTTP మరియు HTTPS వెబ్ ట్రాఫిక్ను అనుమతించడానికి, మీరు సర్వర్ యొక్క IP చిరునామాను ఉపయోగించడం ద్వారా Nginx సర్వర్ని యాక్సెస్ చేయగలగాలి.
మీకు సర్వర్ యొక్క IP చిరునామా తెలియకుంటే, దాన్ని సులభంగా తిరిగి పొందడానికి దిగువ ఆదేశాన్ని ఉపయోగించండి.
ip addr షో eth0 | grep inet | awk '{ముద్రణ $2; }' | సెడ్ 'లు/\/.*$//'
మీరు IP చిరునామాను పొందిన తర్వాత, దానిని మీ బ్రౌజర్లో అతికించి, ఎంటర్ నొక్కండి.
//your-server-ip
ప్రతిదీ సరిగ్గా కాన్ఫిగర్ చేయబడి ఉంటే, మీరు ‘nginxకి స్వాగతం!’ వెబ్పేజీని చూడగలరు.
Nginx ఫైల్లు మరియు డైరెక్టరీలు
ఇప్పుడు మేము Nginxని ఇన్స్టాల్ చేసాము మరియు మీ సర్వర్లో రన్ చేస్తున్నాము. మీ వెబ్సైట్/వెబ్ యాప్ని కాన్ఫిగర్ చేయడానికి మీరు ఉపయోగించాల్సిన ముఖ్యమైన Nginx ఫైల్లు మరియు డైరెక్టరీలలో కొన్నింటిని చూద్దాం.
వెబ్ సర్వర్ కంటెంట్
మీరు మీ సర్వర్ బ్లాక్ కోసం మీ రూట్ డైరెక్టరీగా ఉండాలనుకుంటున్న ఏదైనా స్థానాన్ని కాన్ఫిగర్ చేయవచ్చు. Nginx యొక్క డిఫాల్ట్ HTML నేరుగా /var/www/html
, మేము ఇంతకు ముందు యాక్సెస్ చేసిన 'స్వాగతం' పేజీ ఇక్కడ ఉంది.
డొమైన్ల కోసం సాధారణంగా రూట్ డైరెక్టరీగా ఉపయోగించే ఇతర స్థానాలు:
/హోమ్//
/var/www/html/
/ఎంపిక/
Nginx కాన్ఫిగరేషన్ ఫైల్స్
అన్ని Nginx కాన్ఫిగరేషన్ ఫైల్లు ఉన్నాయి /etc/nginx
డైరెక్టరీ. ప్రాథమిక డొమైన్ను సెటప్ చేయడానికి మనకు అవసరమైన కొన్ని ముఖ్యమైన ఫైల్లను చూద్దాం.
/etc/nginx/nginx.conf
: ఈ ఫైల్ Nginxని అమలు చేయడానికి అవసరమైన అన్ని కాన్ఫిగరేషన్లను కలిగి ఉంది./etc/nginx/sites-available/
: ఈ డైరెక్టరీ డొమైన్ల యొక్క అన్ని సర్వర్ బ్లాక్ కాన్ఫిగరేషన్ను కలిగి ఉంది, కానీ ప్రస్తుతం ప్రారంభించబడలేదు/నియోగించబడలేదు మరియు అందువల్ల క్లయింట్లు యాక్సెస్ చేయలేరు./etc/nginx/sites-enabled/
: ఈ డైరెక్టరీ ప్రస్తుతం యాక్టివ్/ఎనేబుల్ డొమైన్లను క్లయింట్లు యాక్సెస్ చేయగలదు. డొమైన్ను ఎనేబుల్ చేయడానికి మనం డొమైన్ కాన్ఫిగరేషన్ ఫైల్ని లింక్ చేయాలిసైట్లు-అందుబాటులో ఉన్నాయి
కుసైట్లు-ప్రారంభించబడ్డాయి
డైరెక్టరీ./etc/nginx/snippets
/: ఈ డైరెక్టరీలో, మేము కాన్ఫిగరేషన్ యొక్క పునర్వినియోగ విభాగాలను నిల్వ చేయవచ్చు. కాన్ఫిగరేషన్ యొక్క విభాగాలు/బ్లాక్లను పునర్వినియోగపరచగలగడం వల్ల ఇది ఉత్పత్తి వాతావరణంలో చాలా సమయాన్ని ఆదా చేస్తుంది.
సర్వర్ లాగ్లు
Nginx ఈవెంట్లు/కార్యకలాపాలను లాగ్ చేస్తుంది మరియు వాటిని లాగ్ ఫైల్లలో నిల్వ చేస్తుంది /var/log/nginx
డైరెక్టరీ. Nginx ఈ ఫైల్లలో కార్యకలాపాలను లాగ్ చేస్తుంది:
/var/log/nginx/access.log
: ఈ ఫైల్ Nginx సర్వర్ని యాక్సెస్ చేసిన క్లయింట్లను లాగ్ చేస్తుంది. వివరాలలో క్లయింట్ యొక్క IP చిరునామా, సమయం మరియు తేదీ, సర్వర్ మరియు OSని యాక్సెస్ చేయడానికి ఉపయోగించే బ్రౌజర్ ఉన్నాయి./var/log/nginx/error.log
: ఈ ఫైల్ Nginx సర్వర్ నడుస్తున్నప్పుడు ఎదుర్కొన్న లోపాలను లాగ్ చేస్తుంది.
కాబట్టి, ఈ విభాగంలో, ప్రారంభించడానికి సరిపోయే కొన్ని ముఖ్యమైన Nginx ఫైల్లు మరియు డైరెక్టరీలను మేము క్లుప్తంగా చూశాము.
సర్వర్ బ్లాక్లను సెటప్ చేస్తోంది
ఇప్పుడు మాకు Nginx ఫైల్లు మరియు సర్వర్ గురించి కొంత ప్రాథమిక జ్ఞానం ఉంది, మేము మా స్వంత సర్వర్ బ్లాక్ను సెటప్ చేయడానికి సిద్ధంగా ఉన్నాము. సర్వర్ బ్లాక్లు అపాచీ వర్చువల్ హోస్ట్ల మాదిరిగానే ఉంటాయి.
మేము సర్వర్ బ్లాక్ను ఎలా సృష్టించాలో మరియు మేము ఉపయోగిస్తామని ప్రదర్శించడానికి ఎలా చూస్తాము example.com
సృష్టి ప్రక్రియలో డొమైన్గా.
💡 భర్తీ చేయండి example.com
మీ డొమైన్ పేరుతో.
మేము సర్వర్ బ్లాక్లను కాన్ఫిగర్ చేయడం ప్రారంభించే ముందు, వెబ్సైట్ కంటెంట్ కోసం రూట్ డైరెక్టరీగా పనిచేయడానికి మనం డైరెక్టరీని సృష్టించాలి. మనం సృష్టించుకుందాం /var/www/example.com/html
డొమైన్ వినియోగానికి డైరెక్టరీ mkdir
ఆదేశం.
sudo mkdir -p /var/www/example.com/html
ది -p
ఎంపిక అవసరమైన అన్ని పేరెంట్ డైరెక్టరీలను సృష్టిస్తుంది. అంటే, అది సృష్టిస్తుంది example.com
ఒక పేరెంట్ డైరెక్టరీ html
అది ఉనికిలో లేకుంటే.
దీనితో డైరెక్టరీ యాజమాన్యాన్ని మార్చండి $USER
పర్యావరణ వేరియబుల్:
sudo chown -R $USER:$USER /var/www/example.com/html
తరువాత, సరళమైనదాన్ని సృష్టించండి index.html
మీరు కాన్ఫిగర్ చేయబడుతున్న డొమైన్ను సందర్శించినప్పుడు యాక్సెస్ చేయబడే ఫైల్. ఇది వివరణాత్మక ప్రయోజనం కోసం మాత్రమే.
నానో /var/www/example.com/html/index.html
మేము ఇప్పుడే సర్వర్లో సృష్టించిన ఫైల్లో కింది కంటెంట్ను అతికించండి.
example.comకి స్వాగతం! యో! example.com అందుబాటులో ఉంది!
నొక్కండి ctrl+o
వ్రాయడానికి మరియు సేవ్ చేయడానికి index.html
ఫైల్ చేసి, ఆపై నొక్కండి ctrl+x
బయటకు పోవుటకు నానో
సంపాదకుడు.
ఇప్పుడు చివరకు మనం సర్వర్ బ్లాక్ని సృష్టించడంపైకి వెళ్లవచ్చు, తద్వారా Nginx సేవలను అందించగలదు index.html
కొంతమంది వినియోగదారు వెళ్ళినప్పుడు example.com
. కాబట్టి సర్వర్ బ్లాక్ను సృష్టించడానికి మనం పేరు పెట్టబడిన కాన్ఫిగరేషన్ ఫైల్ను తయారు చేయాలి example.com
లో సైట్లు-అందుబాటులో ఉన్నాయి
డైరెక్టరీ. అలా చేయడానికి, మేము నానోను ఉపయోగిస్తాము మరియు అమలు చేస్తాము:
sudo nano /etc/nginx/sites-available/example.com
ఆపై, కింది కాన్ఫిగరేషన్ను టైప్ చేయండి లేదా కాపీ/పేస్ట్ చేయండి. అప్పుడు నొక్కండి ctrl+o
మరియు వ్రాయడానికి & సేవ్ చేయడానికి నమోదు చేయండి. అదేవిధంగా, నొక్కండి ctrl+x
నానో ఎడిటర్ను మూసివేయడానికి.
సర్వర్ {వినండి 80; వినండి [::]:80; server_name example.com www.example.com; రూట్ /var/www/example-domain.com/html; ఇండెక్స్ index.html; స్థానం / { try_files $uri $uri/ =404; } }
ఎగువ కాన్ఫిగరేషన్ డిఫాల్ట్ సర్వర్ బ్లాక్ కాన్ఫిగరేషన్ను పోలి ఉంటుంది, మేము మార్చాము రూట్
మా కొత్త రూట్ డైరెక్టరీని సూచించడానికి ప్రకటన మరియు మార్చబడింది సర్వర్_పేరు
మా డొమైన్ పేరుకు. కాగా ది స్థానం{}
ఫైల్లు కనుగొనబడకపోతే స్టేట్మెంట్ ఎర్రర్ క్యాచ్ స్టేట్మెంట్గా పనిచేస్తుంది మరియు క్లయింట్కు లోపం 404ని ప్రదర్శిస్తుంది.
తరువాత, మేము మా సర్వర్ బ్లాక్ని ప్రారంభించవచ్చు, తద్వారా Nginx సర్వ్ చేస్తుంది example.com
వెబ్ పేజీలు. మా సర్వర్ బ్లాక్ని ఎనేబుల్ చేయడానికి మనం సిమ్లింక్ని సృష్టించాలి example.com
నుండి ఫైల్ సైట్లు-అందుబాటులో ఉన్నాయి
కు సైట్లు-ప్రారంభించబడ్డాయి
డైరెక్టరీ. అలా చేయడానికి, అమలు చేయండి:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
లో ఒక లింక్ సృష్టించబడుతుంది సైట్-ప్రారంభించబడింది
డైరెక్టరీ మరియు ఇప్పుడు example.com
ఎనేబుల్ చేయాలి. ఇప్పుడు మేము మా Nginx సర్వర్లో రెండు సర్వర్ బ్లాక్లను ప్రారంభించాము, వాటి ఆధారంగా అభ్యర్థనకు ప్రతిస్పందిస్తుంది వినండి
మరియు సెవర్_పేరు
ఆదేశాలు సేవ్ చేయబడ్డాయి example.com
సర్వర్ బ్లాక్ కాన్ఫిగరేషన్.
అన్ని కాన్ఫిగరేషన్ ఫైల్లు సరిగ్గా ఉన్నాయో లేదో తనిఖీ చేయడానికి మరియు సింటాక్స్ లోపం లేనట్లయితే, అమలు చేయండి:
sudo nginx -t
ఇప్పుడు, చివరకు కింది ఆదేశాన్ని అమలు చేయడం ద్వారా మార్పులను వర్తింపజేయడానికి Nginxని పునఃప్రారంభించండి:
sudo systemctl nginxని పునఃప్రారంభించండి
Nginx ఇప్పుడు మీ సర్వర్ బ్లాక్ను అందించడం ప్రారంభిస్తుంది, మీరు దీనికి వెళ్లవచ్చు //మీ-డొమైన్-పేరు
మరియు మీ వెబ్పేజీని ప్రత్యక్షంగా చూడండి.
గమనిక: పై విభాగం పని చేయడానికి మీరు మీ స్వంత డొమైన్ను సెటప్ చేసి, భర్తీ చేయాలి example.com
మీ స్వంత డొమైన్ పేరుతో. అలాగే, మీరు మీ Nginx సర్వర్ యొక్క IP చిరునామాను సూచించడానికి మీ డొమైన్ కోసం DNSని కాన్ఫిగర్ చేయాలి.
ముగించడానికి, మేము Nginxని ఎలా ఇన్స్టాల్ చేయాలో, కాన్ఫిగర్ చేయాలో చూశాము ufw
Nginx సర్వర్కి రిమోట్ యాక్సెస్ను అనుమతించడానికి, Nginxకి రిమోట్గా కనెక్ట్ చేయబడింది, కొన్ని ప్రాథమిక Nginx ఫైల్లు మరియు డైరెక్టరీలతో పరిచయం పొందింది మరియు సర్వర్ బ్లాక్ను ఎలా సెటప్ చేయాలో నేర్చుకున్నాను.
Nginx గురించి మరింత తెలుసుకోవడానికి మరియు తెలుసుకోవడానికి, మీరు Nginx వికీని చూడాలనుకోవచ్చు.