कुछ समय पहले मैंने आपको ट्यूटोरियल की इस श्रृंखला के बारे में बतायापर उच्च मांग होस्टिंग के लिए एक सर्वर को कैसे स्थापित करें और कॉन्फ़िगर करें। यह लेख Nginx को स्थापित करने और कॉन्फ़िगर करने के बारे में होगा:
अनुक्रमणिका
nginx:
हमने आपको पहले ही लेख में नग्नेक्स के बारे में बताया था नेग्नेक्स: अपाचे के लिए एक दिलचस्प विकल्प, वहां हमने आपको बताया कि यह Apache, LightHttpd या Cherokee जैसे एक वेब सर्वर है, लेकिन Apache की तुलना में यह अपने प्रदर्शन और कम हार्डवेयर खपत के लिए खड़ा है, ठीक उसी कारण से कई बड़ी साइट्स जैसे Facebook, MyOpera.com, DropBox या यहां तक कि वर्डप्रेस .com अपाचे के बजाय Nginx का उपयोग करते हैं। लिनक्स की दुनिया में FromLinux एकमात्र ऐसा नहीं है जो Nginx का उपयोग करता है, जहाँ तक मुझे पता है, emsLinux और MuyLinux भी इसका उपयोग करते हैं Since
नगनेक्स के साथ मेरा व्यक्तिगत अनुभव कई साल पहले का है, जब आवश्यकता से बाहर मैंने अपाचे के लिए हल्के विकल्पों की तलाश शुरू कर दी थी। उस समय Nginx संस्करण 0.6 के लिए जा रहा था और PHP में बनाए गए उच्च मांग साइटों के साथ इसकी संगतता सबसे इष्टतम नहीं थी, हालांकि आज संस्करण 0.9 से आगे (डेबियन स्टेबल पर उपलब्ध v1.2.1, आर्कलिन पर उपलब्ध v1.4.2) ने बहुत सुधार किया है, इस बिंदु पर कि नगिनक्स + पीएचपी के एक उचित विन्यास और संघ के साथ सब कुछ एक आकर्षण की तरह काम करेगा।
इस ट्यूटोरियल श्रृंखला में मैं Nginx संस्करण 1.2.1-2.2 का उपयोग करूंगा, डेबियन स्थिर रेपो (व्हीज़ी) में उपलब्ध है।
1. स्थापना:
हम पहली चीज के साथ शुरू करेंगे, हमारे रिपॉजिटरी से नग्नेक्स स्थापित करें।
यदि आपके सर्वर पर आप वितरण का उपयोग करते हैं जैसे कि डेबियन, उबंटू या टर्मिनल में कुछ व्युत्पन्न, तो आपको निम्नलिखित डालना चाहिए और दबाएं दर्ज :
aptitude install nginx
यदि आप अपने सर्वर पर एक और वितरण जैसे कि CentOS, Red Hat, Fedora का उपयोग करते हैं, तो बस पैकेज स्थापित करें: आधिकारिक रिपॉजिटरी से nginx
2. विन्यास:
हमारे पास पहले से ही Nginx स्थापित है, लेकिन हमें स्पष्ट रूप से इसे कॉन्फ़िगर करने की आवश्यकता है। मैंने एफ़टीपी पर एक संपीड़ित फ़ाइल तैयार की है जिसमें डेसिडलाइन सर्वर में उपयोग किए जाने वाले सभी कॉन्फ़िगरेशन शामिल हैं, दोनों PHP, Nginx, आदि के लिए। आइए डाउनलोड करें और उस फ़ाइल को अनज़िप करें:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
यह nginx-spawn-fastcgi नामक एक फ़ोल्डर बनाएगा, इसमें से हमें शुद्ध Nginx के लिए दो फ़ाइलों की आवश्यकता होगी (अर्थात, इसे PHP से लिंक किए बिना):
- nginx.conf - »मुख्य Nginx कॉन्फ़िगरेशन फ़ाइल (हम इसकी सामग्री के बारे में बाद में बात करेंगे)
- index.html - »एक सरल html फ़ाइल जिसका उपयोग हम यह देखने के लिए करेंगे कि क्या Nginx वास्तव में हमारे लिए सबसे बुनियादी रूप में काम करता है
- mywebsite.net - »एक साधारण वेबसाइट के लिए कॉन्फ़िगरेशन फ़ाइल, एक VHost (वर्चुअल होस्ट) जो पिछले HTML तक पहुंच को कॉन्फ़िगर करेगा
चलिए सबसे पहले Nginx सेटिंग फ़ोल्डर में जाते हैं:
cd /etc/nginx/
तो चलिए इसके डिफ़ॉल्ट कॉन्फ़िगरेशन को हटाते हैं और अपना खुद का:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
जैसा कि मैंने कहा, यह मुख्य नग्नेक्स कॉन्फ़िगरेशन फ़ाइल है, इसमें मैंने पहले ही निम्नलिखित को परिभाषित किया है:
उपयोगकर्ता www-डेटा; कार्यकर्ता_प्रौद्योगिक 4; pid /var/run/nginx.pid;
फ़ाइल सिस्टम के लिए उपयोगकर्ता की पहुंच (जिसके साथ nginx हर जगह पहुंच जाएगा), PID के साथ काम करने के लिए प्रक्रियाओं की संख्या और साथ ही PID (nginx प्रक्रिया आईडी)।
हमारे पास एक छोटा सा ब्लॉक भी है जिसे इवेंट्स (ईवेंट्स के लिए सेटिंग) कहा जाता है जिसमें एक लाइन होती है जो प्रति ईवेंट की अनुमति दी गई अधिकतम कनेक्शन इंगित करती है। नीचे ब्लॉक कहा जाता है http।
यह http ब्लॉक वह है जिसमें होस्टिंग से संबंधित लगभग सभी चीजें शामिल हैं, कम से कम कई चीजें जो आपको रुचि देंगी। उदाहरण के लिए, जीने का अधिकतम समय या प्रतीक्षा (टाइमआउट), जहां हमारे सामान्य लॉग होंगे (access.log और error.log), gzip का उपयोग कर डेटा संपीड़न, साथ ही साथ अन्य नियम जो भविष्य में उपयोगी हो सकते हैं।
एक बार जब मुख्य कॉन्फ़िगरेशन फ़ाइल होती है, तो हम अपने VHost से साइट्स-उपलब्ध फ़ोल्डर में फाइल कॉपी करें
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
इसके अलावा, हमें इस फ़ाइल से साइट्स-सक्षम फ़ोल्डर में एक प्रतीकात्मक लिंक बनाना चाहिए।
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
मैं साइटों-सक्षम और साइटों-उपलब्ध होने की उपयोगिता की व्याख्या करता हूं।
वे क्षणों को पाएंगे जब उनके पास कई vhost फाइलें तैयार और कॉन्फ़िगर होनी चाहिए, क्योंकि उस सर्वर पर वे 5 साइटें कहेंगे। हालाँकि, ऐसा होता है कि यह उन 2 vhosts में से 5 को सक्षम करने का समय नहीं है, लेकिन उनके पास फाइलें तैयार होनी चाहिए ताकि जब आवश्यक हो वे कम से कम समय में ऑनलाइन हों। साइट-उपलब्ध (साइट्स-उपलब्ध) में आप जितने चाहें उतने व्हाट्सएप डाल सकते हैं, क्योंकि जिन नग्नेक्स को ऑनलाइन डालने के लिए पढ़ते हैं, वे केवल साइटों-सक्षम (साइट-सक्षम) हैं, यह विपरीत दिशा में भी काम करेगा, यदि आप किसी साइट को ऑफ़लाइन (उदाहरण के लिए अस्थायी रूप से) रखना चाहते हैं, तो आपके सर्वर से फ़ाइलों को हटाने की कोई आवश्यकता नहीं है (जिन फ़ाइलों को हमें किसी अन्य समय की आवश्यकता होगी), हम बस साइटों के प्रतीकात्मक लिंक को सक्षम करते हैं और यह है। प्रतीकात्मक लिंक होने और बस एक फ़ोल्डर से दूसरे फ़ोल्डर में फ़ाइल की प्रतिलिपि बनाने की उपयोगिता यह है कि जब हम एक vhost को संपादित करना चाहते हैं, तो इससे कोई फर्क नहीं पड़ता कि क्या हम सक्षम या उपलब्ध में स्थित को संपादित करते हैं, अंत में यह वही है
पुरालेख।
फ़ाइल mywebsite.net जैसा कि मैंने पहले कहा था, एक vhost जो एक उदाहरण के रूप में कार्य करता है, अर्थात्, और दूसरे शब्दों में, हमें mywebsite.net को संशोधित करना होगा और हमारे कॉन्फ़िगरेशन को स्थापित करना होगा।
हमें निम्नलिखित को बदलना चाहिए:
- access_log (पंक्ति 3): यह इस साइट पर पहुंच लॉग फ़ाइल का पथ होगा
- error_log (पंक्ति 4): यह इस साइट पर त्रुटि लॉग फ़ाइल का पथ होगा
- server_name (पंक्ति 5): URL, डोमेन जो उस फ़ोल्डर में होस्ट किया गया है, उदाहरण के लिए, यदि वह FromLinux फोरम था तो वह होगा: server_name forum.fromlinux.net
- रूट (लाइन 6): उस फ़ोल्डर का पथ जहां html फाइलें हैं, चलो इसे / var / www / में छोड़ दें क्योंकि यह केवल एक परीक्षा होगी
अब हमें बस उस HTML फ़ाइल को उस फ़ोल्डर में कॉपी करना होगा जिसे हम अपनी VHost फ़ाइल, / var / www / में परिभाषित करते हैं:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
फिर हम नेग्नेक्स को फिर से शुरू करते हैं और यह है:
service nginx restart
और वसीला, कुछ इस तरह दिखाई देगा:
मैं आपको याद दिलाता हूं कि हम HTML के लिए पहले Nginx के साथ काम कर रहे हैं, PHP समर्थन के बिना, यह PHP स्थापित करें और इसे Nginx से लिंक करें अगले ट्यूटोरियल की सामग्री होगी (कुछ दिनों में, मैं वादा करता हूं)।
वैसे भी, यह नगनेक्स इंस्टॉलेशन और कॉन्फ़िगरेशन ट्यूटोरियल है ताकि यह शुद्ध काम करे, यानी एक HTML साइट, मुझे आशा है कि यह आपके लिए हितकारी होगा।
मैं स्पष्ट करूंगा कि हां, अभी भी सबसे अच्छे अभ्यास हैं जिन्हें उपयोग करने के लिए रखा जा सकता है, हालांकि, आइए ट्यूटोरियल की इस श्रृंखला को समाप्त करने की प्रतीक्षा करें और फिर हम काम के अंतिम परिणाम का मूल्यांकन करेंगे yes
सादर
26 टिप्पणियाँ, तुम्हारा छोड़ दो
धन्यवाद, बहुत मददगार!
टिप्पणी के लिए धन्यवाद
बैकपोर्ट्स में nginx 1.4 है।
हां, लेकिन उत्पादन में एक सर्वर पर मैं उस but का उपयोग नहीं करता हूं
"यह" से आपका तात्पर्य है नगीनक्स द्वारा जारी नवीनतम स्थिर और परीक्षित संस्करण से, आप इसे ध्वनि बनाते हैं जैसे कि यह साइड से एप्ट-पिनिंग है। ~ _ ~
ओह आओ, यह है कि ... सर्वर पर मैं कभी भी अन्य रिपोज, या बैकपोर्ट या उस जैसे कुछ का उपयोग करना पसंद नहीं करता हूं
सर्वर पर हमेशा स्थिर, मैंने वर्षों पहले सीखा था।
पिछले अप्रैल से Nginx 1.4 स्थिर है, बैकपोर्ट में यह 1.4.1-3 है।
2013-04-24
nginx-1.4.0 स्थिर संस्करण को जारी किया गया है, जिसमें 1.3.x शाखा में विकसित कई नई विशेषताओं को शामिल किया गया है - WebSocket कनेक्शन, OCSP स्टेपलिंग, SPDY मॉड्यूल, गनज़िप फ़िल्टर और बहुत कुछ के लिए समर्थन।
http://nginx.org/en/CHANGES-1.4
आप सही कह रहे हैं, मेरी टोपी बंद है।
साझा करने के लिए धन्यवाद, मैं वर्तमान में आपके सबसे पुराने पोस्ट को व्यवहार में ला रहा हूं।
मैं आपको XD सवालों से भरने जा रहा हूं
पढ़ने के लिए धन्यवाद 🙂
कोई भी संदेह या प्रश्न जो आप जानते हैं, हम यहां आपकी सहायता करने के लिए हैं, वहां आपके पास forum.desdelinux.net है जहां एक साथ हम आपको सबसे अच्छा समाधान देने की कोशिश करेंगे
सादर
मेरे पास एक सवाल है कि मेरे पास LAMP [Linux (Debian Wheezy), Apache, PHP और MySQL] है जो मेरे सर्वर पर वर्डप्रेस और ओक्क्लाउड के लिए चल रहा है, मैं Ngnix पर कैसे जाता हूं, एक और सवाल यह है कि Nixix और Lighttpd में क्या अंतर है।
अपाचे से नग्नेक्स में प्रवास करने की सबसे बड़ी जटिलता या कठिनाई प्रत्येक साइट के कॉन्फ़िगरेशन हैं, जो कि विशेष रूप से आपके द्वारा उपयोग किए जाने वाले .acaccess हैं।
.Htaccess सबसे जटिल है जब यह Nginx पर स्विच करने की बात आती है, क्योंकि वे अलग-अलग कॉन्फ़िगरेशन हैं जिन्हें आपको Nginx VHost में डालना होगा।
LightHTTPd और Nginx के बारे में ... मुझे नहीं पता, मैंने कई साल पहले केवल एक बार LightHTTPd का उपयोग किया था, वर्तमान में मुझे नहीं पता कि इसका विकास कैसे हो रहा है, विशेष रूप से PHP का उपयोग कर।
Apache की तुलना में NGINX काफी सीधा दिखता है। अगली कड़ी की प्रतीक्षा में यह PHP के साथ पूरक होने में सक्षम है
मैं nginx to के लिए और अधिक अनुकूलन करने के लिए सुझावों की प्रतीक्षा कर रहा हूं
वैसे, गारा, आप अपने अगले ट्यूटोरियल में शामिल कर सकते हैं कि एसएसएल समर्थन कैसे लागू किया जाए।
नमस्ते.
जो युक्तियाँ वास्तव में PHP प्रसंस्करण, साइटों को कैश करने के लिए अनुकूलन करने के लिए आती हैं, मैं उस कॉन्फ़िगरेशन का उदाहरण रख सकता हूं जिसका उपयोग हम FromLinux में Nginx + Wordpress + W3_Total_Cache actually के लिए करते हैं
अच्छे योगदान के लिए धन्यवाद।
और आर्चलिनक्स के लिए गाइड कब? एक्सडी
आर्क में यह बहुत समान है, केवल पैकेजों के नाम बदलते हैं लेकिन ... यह लगभग समान है
लेकिन आर्क के साथ उत्पादन सर्वर किसके पास है? 😀
हाय वहाँ है,
यह मुझे फिर से xD है ...
मैं आपके कदमों को आर्चलिनक्स वाली मशीन पर लागू कर रहा था और मुझे निम्नलिखित समस्या है:
[abr4xas@Genius www]$ systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since vie 2013-11-15 20:11:35 VET; 1min 13s ago
Process: 1258 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)
कोई सुझाव 😀
जो ... xox, मैं केवल एक आंतरिक सर्वर चाहता हूं, अर्थात, मैं केवल xampp को बदलना चाहता हूं, क्या मुझे यह सब करना चाहिए?
यदि आप चाहते हैं कि आप इसे लागू कर सकते हैं (जो मैं दोहराता हूं, तो यह डीएल के साथ काम करता है), वास्तव में मेरा वर्चुअल सर्वर (जिसका उपयोग मैं विकास और परीक्षण के लिए करता हूं) मैंने इसे इसी चीज के साथ किया है जो मैं समझाता हूं।
यही है, आप या तो XAMPP को हटा सकते हैं और इस संस्करण को डाल सकते हैं और यह ठीक काम करेगा, या यदि आप XAMPP छोड़ना चाहते हैं ... यह अभी भी आपके लिए काम करेगा।
इसका उपयोग करने का सकारात्मक बिंदु यह है कि मैं दिखाता हूं कि अपाचे की तुलना में हार्डवेयर की बहुत कम खपत है, लेकिन, आपके व्यक्तिगत कंप्यूटर पर, जो एक उच्च मांग होस्टिंग नहीं है, इससे बहुत दूर ... अगर एक्सएएमपीपी आपके लिए अच्छा काम करता है, तो मैं नहीं करता हूं देखें कि इसे क्यों निकालें 🙂
मेरे पास पहले से ही मेरा लिनक्स सर्वर चल रहा है (डेबियन, Nginx, MySQL, और PHP) मेरे पास एक कठिन समय था पीएचपी को नग्नेक्स के साथ काम करने के लिए क्योंकि मुझे सरल अपाचे वेब सर्वर का उपयोग किया गया था।
खैर मेरा सवाल यह है कि क्या किसी को पता है कि मैं अपने डोमेन के लिए खरीदे गए टेस्ट डोमेन को कैसे इंगित कर सकता हूं? मैं यह देखने के लिए अपने .com डोमेन की कोशिश करना चाहूंगा कि यह कैसे काम करता है, लेकिन मुझे यह पता नहीं है कि इसे कैसे करना है, क्योंकि मुझे हमेशा नोप DUC के साथ इसे एक्सेस करने के लिए NOIP पते का उपयोग किया जाता है।
मुझे आशा है कि कोई मेरी मदद कर सकता है, धन्यवाद!
मुझे यह तब मिला जब आपके पैर से जुड़ने की कोशिश कर रहा हूं:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
HTTP अनुरोध भेजा गया, प्रतिक्रिया की प्रतीक्षा की जा रही है ... 404 नहीं मिला
2015-11-23 17:46:30 ERROR 404: नहीं मिला।
मेरे पास अपना सर्वर CentOS (Gunicorn, Nginx, PHP) पर चल रहा है, मुझे उन्हें काम करने के लिए बहुत काम करना पड़ा लेकिन जिस बिंदु पर मैं फंस गया, वह यह है कि जिस वेब पेज को मैं लॉन्च करना चाहता हूं उसे इस मामले में डोमेन प्रदाता कॉन्फ़िगरेशन की आवश्यकता है। डैडी, तो इस बिंदु पर मैं नहीं जानता कि कैसे जारी रखा जाए।
क्या आप मेरे साथ विन्यास फाइल साझा कर सकते हैं क्योंकि मैं उन्हें डाउनलोड नहीं कर सकता