यदि आपने पहले एक लिनक्स सर्वर प्रशासित किया है, तो आप आमतौर पर इस्तेमाल किए गए एलएएमपी (लिनक्स, अपाचे, माईएसक्यूएल, पीएचपी) स्टैक से परिचित होंगे। हालांकि, अपाचे, MySQL और PHP कभी-कभी संसाधन गहन हो सकते हैं और आपके सर्वर के लिए सबसे अच्छा नहीं हो सकता है। इस ट्यूटोरियल में, हम बेहतर विकल्प के साथ लिनक्स को छोड़कर स्टैक के प्रत्येक हिस्से को प्रतिस्थापित करने जा रहे हैं - Nginx, MariaDB और HHVM।

कल्पना

1. यह ट्यूटोरियल उबंटू 14.04 सर्वर पर किया जाता है, हालांकि निर्देश किसी डेबियन-आधारित डिस्ट्रो के लिए भी काम करेंगे।

2. यह ट्यूटोरियल केवल एलईएमएच स्टैक को स्थापित करने और स्थापित करने पर केंद्रित है। यह सर्वर के सुरक्षा पहलू को छूता नहीं है।

3. इस ट्यूटोरियल को पूरा करने के लिए आपके पास पहले से ही आपके सर्वर (या आपकी मशीन पर भौतिक पहुंच) तक एसएसएच पहुंच होनी चाहिए।

Nginx स्थापित करना

Nginx Apache के लिए एक हल्के, अभी तक शक्तिशाली, प्रतिस्थापन है। यह एक ओपन सोर्स रिवर्स प्रॉक्सी सर्वर के साथ-साथ उच्च समवर्ती, उच्च प्रदर्शन और कम स्मृति उपयोग पर एक मजबूत फोकस वाला एक वेब सर्वर है। ध्यान दें कि Nginx Apache के साथ संगत नहीं है, इसलिए सभी अपाचे कॉन्फ़िगरेशन, विशेष रूप से उन .htaccess फ़ाइलों को जिन्हें आपने बनाया है, Nginx में काम नहीं करेंगे। एक ही सर्वर पर Apache और Nginx दोनों को चलाने के लिए भी संभव है, लेकिन इसमें कुछ जटिल कॉन्फ़िगरेशन शामिल होगा जिसे हम यहां शामिल नहीं करेंगे।

Nginx उबंटू भंडार में पाया जाता है, लेकिन यह अक्सर पुराना है। नवीनतम स्थिर संस्करण प्राप्त करने के लिए, अपने सिस्टम में निम्नलिखित पीपीए जोड़ें:

 sudo add-apt-repository ppa: nginx / स्थिर sudo apt-get अद्यतन प्राप्त करें 

इस पोस्ट के रूप में Nginx का नवीनतम संस्करण 1.6.2 है। वैकल्पिक रूप से, यदि आप नवीनतम विकास संस्करण को आजमा देना चाहते हैं, तो आप इसके बजाय इस पीपीए का उपयोग कर सकते हैं:

 sudo add-apt-repository ppa: nginx / development sudo apt-get अद्यतन प्राप्त करें 

इस पोस्ट के रूप में नवीनतम विकास संस्करण 1.7.8 है।

Nginx को स्थापित करने के लिए, आदेश चलाएं:

 sudo apt-nginx स्थापित करें 

एक बार इंस्टॉल हो जाने के बाद, यह सुनिश्चित करने के लिए निम्न आदेश चलाएं कि यह प्रारंभ हो गया है:

 सुडो सेवा nginx शुरू करें 

इसके बाद, अपने वेब ब्राउजर में, यूआरएल पर जाएं "http://123.4.56.789" (123.4.56.789 को अपने सर्वर के आईपी पते से बदलें), और आपको निम्नलिखित देखना चाहिए:

मारियाडीबी स्थापित करना

कई सालों तक, MySQL कई अनुप्रयोगों के लिए डिफ़ॉल्ट डेटाबेस प्रबंधन सेवा है। चूंकि इसे ओरेकल द्वारा अधिग्रहित किया गया था, इसलिए कई लोगों ने अपने "ओपन-सोर्स" -नेस पर सवाल उठाना शुरू कर दिया, और समुदाय (जिसमें माईएसक्यूएल के संस्थापक शामिल थे) ने माईएसक्यूएल का कांटा बनाने का फैसला किया और इसे मारिया डीबी नाम दिया। मारिया डीबी MySQL के लिए एक ड्रॉप-इन प्रतिस्थापन है, जिसका अर्थ है कि यह MySQL डेटाबेस के साथ पूरी तरह से संगत है और इसका उपयोग MySQL के लिए कुल प्रतिस्थापन के रूप में किया जा सकता है।

दिलचस्प तथ्य : माईएसक्यूएल की स्थापना माइकल Widenius द्वारा की गई है और इसकी पहली बेटी माई के नाम पर रखा गया है। मारिया डीबी का मुख्य डेवलपर माइकल Widenius भी है और उसकी दूसरी बेटी मारिया के नाम पर रखा गया है।

आपके सर्वर में, यदि आपने पहले MySQL इंस्टॉल किया है, तो मारियाडीबी इंस्टॉल करने से पहले MySQL को पूरी तरह से निकालना सबसे अच्छा है:

 sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo rm -rf / var / lib / mysql sudo apt-get autoclean 

इसके बाद, मारिया डीबी के लिए पीपीए जोड़ें:

 sudo apt-get इंस्टॉल करें सॉफ़्टवेयर-गुण-सामान्य सुडो एपीटी-कुंजी एड --recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http: //sfo1.mirrors .digitalocean.com / मारियाडब / रेपो / 10.0 / उबंटू भरोसेमंद मुख्य 'सुडो एपीटी-अपडेट अपडेट 

ध्यान दें कि आप यहां अपना स्वयं का पीपीए भी उत्पन्न कर सकते हैं और अपने सर्वर के सबसे नज़दीकी स्थान ढूंढ सकते हैं।

इस आदेश के साथ मारियाडीबी स्थापित करें:

 sudo apt-get mariadb-server स्थापित करें 

स्थापना के दौरान, यह आपको रूट उपयोगकर्ता के लिए पासवर्ड सेट करने के लिए संकेत देगा।

स्थापना के बाद, आप आदेश के साथ मारियाडीबी शुरू कर सकते हैं:

 सुडो सेवा mysql शुरू करें 

PHP और HHVM इंस्टॉल करना

एचएचवीएम PHP के लिए एक प्रतिस्थापन नहीं है। यह हैक और PHP में लिखे गए प्रोग्राम निष्पादित करने के लिए डिज़ाइन की गई एक ओपन-सोर्स वर्चुअल मशीन है। PHP प्रदान करता है कि विकास लचीलापन को बनाए रखते हुए बेहतर प्रदर्शन प्राप्त करने के लिए एचएचवीएम एक पूर्ण-इन-टाइम (जेआईटी) संकलन दृष्टिकोण का उपयोग करता है।

एचएचवीएम स्थापित करने से पहले, पहले सर्वर में PHP स्थापित करना महत्वपूर्ण है। पूर्ण PHP5 पैकेज को स्थापित करने के बजाय, जिसमें अपाचे फ़ाइलों का समूह शामिल है, हम केवल php5-fpm इंस्टॉल करेंगे, जो आवश्यक PHP निर्भरताओं को स्थापित करेगा। इसके अलावा, हमें php5-fpm लिए फॉलबैक के रूप में php5-fpm आवश्यकता होगी।

 sudo apt-php5-fpm php5-mysql php5-curl स्थापित करें 

एक बार हो जाने के बाद, आदेशों के साथ एचएचवीएम स्थापित करें:

 wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu भरोसेमंद मुख्य | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get अद्यतन sudo apt-get hhvm इंस्टॉल करें 

एचएचवीएम स्थापित होने के बाद, इसे कमांड के साथ Nginx के लिए कॉन्फ़िगर करने के लिए आगे बढ़ें:

 sudo /usr/share/hhvm/install_fastcgi.sh 

अंत में, एचएचवीएम को पुनरारंभ करें

 सुडो सेवा एचएचवीएम पुनरारंभ करें 

परीक्षण करने के लिए कि क्या HHVM काम कर रहा है, Nginx रूट फ़ोल्डर में "phpinfo.php" फ़ाइल बनाएं।

 सुडो नैनो / var/www/html/phpinfo.php 

और निम्न पंक्ति पेस्ट करें:

सहेजने के लिए "Ctrl + o" दबाएं और बाहर निकलने के लिए "Ctrl + x" दबाएं।

अपने ब्राउज़र में, यूआरएल लोड करें: http://123.4.56.789/phpinfo.php (अपने सर्वर के आईपी पते के साथ 123.4.56.789 को प्रतिस्थापित करें)। एचएचवीएम काम कर रहा है यह दिखाने के लिए आपको केवल "हिपहॉप" शब्द देखना चाहिए।

Nginx और HHVM में चलाने के लिए साइटों को कॉन्फ़िगर करना (php5-fpm fallback के साथ)

अब जब आपके पास सबकुछ स्थापित है, तो अब आपकी वेबसाइट चलाने के लिए वर्चुअल होस्ट बनाने का समय है।

अपनी वेबसाइट विवरण रखने वाली एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं:

 सुडो नैनो / आदि / nginx / साइट्स उपलब्ध / मेरी साइट 

और निम्न स्निपेट में पेस्ट करें:

 सर्वर {सुनो 80; सुनो [::]: 80; रूट / var / www / html; # अगर आप PHP इंडेक्स index.html index.htm का उपयोग कर रहे हैं तो सूची में index.php जोड़ें; server_name mywebsite.com; hhvm-with-fallback.conf शामिल करें; स्थान / {# फ़ाइल के रूप में अनुरोध करने का पहला प्रयास, फिर # निर्देशिका के रूप में, फिर 404 प्रदर्शित करने के लिए वापस आना। try_files $ uri $ uri / = 404; } # PHP स्क्रिप्ट को फास्टसीजीआई सर्वर पर 127.0.0.1:9000 # स्थान @fallback {# स्निपेट / fastcgi-php.conf पर सुनें; # # # Php5-fpm के साथ: fastcgi_pass यूनिक्स: /var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_params शामिल करें; } # .htaccess फ़ाइलों तक पहुंच से इनकार करते हैं, अगर अपाचे का दस्तावेज़ रूट # nginx के साथ एक # स्थान ~ /\.ht {सभी को अस्वीकार करता है; }} 

आप server_name को अपने डोमेन और root फ़ोल्डर स्थान पर इंगित करने के लिए बदल सकते हैं जहां आप फ़ाइलों को सेवा देना चाहते हैं।

एचएचवीएम में कभी-कभी दुर्घटनाग्रस्त होने के बिना कभी-कभी दुर्घटनाग्रस्त होने की यह बग है; इससे वेबसाइट 500 त्रुटि के साथ विफल हो जाएगी। इस मामले में, हम एक फॉलबैक सिस्टम तैयार करेंगे जिससे एचएचवीएम विफल होने पर PHP5-FPM ले जाएगा। उपरोक्त कॉन्फ़िगर स्निपेट में location @fallback ब्लॉक location @fallback ? एचएचवीएम विफल होने पर वह कॉलबैक है। समीकरण को पूरा करने के लिए, हमें अभी भी "hhvm-with-fallback.conf" फ़ाइल बनाने की आवश्यकता है जो "hhvm.conf" फ़ाइल का एक संशोधित संस्करण है।

 सुडो नैनो /etc/nginx/hhvm-with-fallback.conf 

निम्नलिखित स्निपेट पेस्ट करें:

 स्थान ~ \। (एचएच | php) $ {proxy_intercept_errors पर; error_page 500 501 502 503 = @fallback; fastcgi_keep_conn पर; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_params शामिल करें; } 

फ़ाइल को सहेजें और बाहर निकलें।

अंत में, Nginx सेटिंग्स के साथ परीक्षण करें

 सुडो nginx -t 

और अगर सबकुछ ठीक है, तो Nginx को पुनरारंभ करें।

 सुडो सेवा nginx पुनरारंभ करें 

बस। आपने अपने लिनक्स सर्वर पर LEMH स्टैक सेटअप पूरा कर लिया है।