Ubuntu 24.04 LTS पर प्रोडक्शन-रेडी LEMP स्टैक — Nginx, MySQL और PHP-FPM — इंस्टॉल और कॉन्फ़िगर करने की एक स्पष्ट, चरण-दर-चरण मार्गदर्शिका, जिसमें एक परीक्षित सर्वर ब्लॉक और एक PHP टेस्ट पेज शामिल है।
परिचय
LEMP स्टैक ओपन-सोर्स सॉफ़्टवेयर का एक समूह है जिसका उपयोग डायनामिक वेब एप्लिकेशन सर्व करने के लिए किया जाता है। यह नाम Linux, ENginx (उच्चारण "Engine-X"), MySQL और PHP का संक्षिप्त रूप है। यह वेब का एक बड़ा हिस्सा संचालित करता है, जिसमें WordPress, Laravel और Magento साइटें शामिल हैं।
इस ट्यूटोरियल में आप Ubuntu 24.04 LTS पर एक संपूर्ण LEMP स्टैक इंस्टॉल और कॉन्फ़िगर करेंगे: वेब सर्वर के रूप में Nginx, डेटाबेस के रूप में MySQL, और डायनामिक कंटेंट को प्रोसेस करने के लिए PHP-FPM। अंत तक आपके पास एक PHP पेज सर्व करने वाला कार्यशील सर्वर ब्लॉक होगा।
यह मार्गदर्शिका किसी भी Ubuntu 24.04 सर्वर पर काम करती है। अगर आप इसे किंगडम के भीतर Skyline Cloud VPS या क्लाउड सर्वर पर चला रहे हैं, तो आपको किंगडम के भीतर डेटा रेज़िडेंसी, PDPL/NCA अनुरूपता, और स्थानीय अरबी सहायता भी मिलती है।
आवश्यक शर्तें
शुरू करने से पहले, आपके पास होना चाहिए:
- एक Ubuntu 24.04 सर्वर जिसमें एक नॉन-रूट यूज़र हो जिसके पास
sudoविशेषाधिकार हों। - एक बुनियादी फ़ायरवॉल (UFW) — नीचे इसका विवरण दिया गया है।
- वैकल्पिक रूप से, एक डोमेन नाम जो किसी
Aरिकॉर्ड के ज़रिये आपके सर्वर के सार्वजनिक IP की ओर इंगित करता हो।
अगर आपके पास अभी तक कोई सर्वर नहीं है, तो आप Skyline Cloud पर कुछ ही मिनटों में एक सर्वर बना सकते हैं।
चरण 1 — पैकेज इंडेक्स अपडेट करना
हमेशा एक अप-टू-डेट पैकेज इंडेक्स से शुरू करें ताकि आप वर्तमान संस्करण इंस्टॉल करें:
sudo apt update
sudo apt upgrade -y
चरण 2 — Nginx इंस्टॉल करना
Nginx वेब सर्वर इंस्टॉल करें:
sudo apt install nginx -y
अगर UFW सक्रिय है, तो HTTP और HTTPS ट्रैफ़िक की अनुमति दें। Nginx Full प्रोफ़ाइल पोर्ट 80 और 443 दोनों खोलती है:
sudo ufw allow 'Nginx Full'
sudo ufw status
सत्यापित करें कि Nginx चल रहा है:
systemctl status nginx
किसी ब्राउज़र में http://your_server_ip पर जाएँ — आपको डिफ़ॉल्ट Welcome to nginx! पेज दिखना चाहिए।
चरण 3 — MySQL इंस्टॉल करना
MySQL डेटाबेस सर्वर इंस्टॉल करें:
sudo apt install mysql-server -y
MySQL स्वतः शुरू हो जाता है। इसके बाद, असुरक्षित डिफ़ॉल्ट को हटाने के लिए सिक्योरिटी स्क्रिप्ट चलाएँ:
sudo mysql_secure_installation
आपको VALIDATE PASSWORD घटक कॉन्फ़िगर करने, अनाम (anonymous) यूज़र हटाने, रिमोट रूट लॉगिन को अस्वीकार करने, और टेस्ट डेटाबेस को ड्रॉप करने के लिए कहा जाएगा। इन हार्डनिंग चरणों के लिए Y का उत्तर दें।
एक नई Ubuntu इंस्टॉल पर, root MySQL यूज़र auth_socket प्लगइन के ज़रिये प्रमाणित होता है, इसलिए आप शेल से बिना पासवर्ड के कनेक्ट करते हैं:
sudo mysql
root का उपयोग करने के बजाय एक समर्पित एप्लिकेशन यूज़र बनाना सर्वोत्तम अभ्यास है। MySQL प्रॉम्प्ट से:
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'a_strong_password';
CREATE DATABASE appdb;
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
चरण 4 — PHP इंस्टॉल करना
Apache के विपरीत, Nginx में कोई अंतर्निहित PHP प्रोसेसर नहीं होता। आप PHP-FPM (FastCGI Process Manager) और MySQL एक्सटेंशन इंस्टॉल करते हैं:
sudo apt install php-fpm php-mysql -y
Ubuntu 24.04 डिफ़ॉल्ट रूप से PHP 8.3 के साथ आता है। संस्करण और FPM सेवा के नाम की पुष्टि करें:
php -v
systemctl status php8.3-fpm
सॉकेट पाथ /run/php/php8.3-fpm.sock पर ध्यान दें — आप इसका संदर्भ Nginx कॉन्फ़िग में देंगे।
चरण 5 — PHP-FPM का उपयोग करने के लिए Nginx कॉन्फ़िगर करना
अपनी साइट के लिए एक वेब रूट और एक सर्वर ब्लॉक बनाएँ। your_domain को अपने डोमेन या सर्वर IP से बदलें।
sudo mkdir -p /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain
सर्वर ब्लॉक फ़ाइल बनाएँ:
sudo nano /etc/nginx/sites-available/your_domain
निम्नलिखित कॉन्फ़िगरेशन जोड़ें:
server {
listen 80;
server_name your_domain www.your_domain;
root /var/www/your_domain;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sites-enabled में लिंक करके साइट को सक्षम करें, फिर डिफ़ॉल्ट साइट को हटा दें ताकि यह टकराव न करे:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
सिंटैक्स त्रुटियों के लिए कॉन्फ़िगरेशन का परीक्षण करें, फिर रीलोड करें:
sudo nginx -t
sudo systemctl reload nginx
चरण 6 — PHP प्रोसेसिंग का परीक्षण
अपने वेब रूट में एक टेस्ट PHP फ़ाइल बनाएँ:
nano /var/www/your_domain/info.php
यह कंटेंट जोड़ें:
<?php
phpinfo();
अपने ब्राउज़र में http://your_domain/info.php पर जाएँ। आपको एक विस्तृत PHP जानकारी पेज दिखना चाहिए, जो पुष्टि करता है कि Nginx सही ढंग से अनुरोधों को PHP-FPM तक पहुँचा रहा है।
इसके तुरंत बाद फ़ाइल को हटा दें — यह सर्वर के ऐसे विवरण उजागर करती है जिनका उपयोग हमलावर कर सकते हैं:
sudo rm /var/www/your_domain/info.php
चरण 7 — HTTPS के साथ सुरक्षित करना (अनुशंसित)
किसी भी सार्वजनिक साइट के लिए आपको ट्रैफ़िक को HTTPS पर सर्व करना चाहिए। अगर आपका डोमेन सर्वर की ओर इंगित करता है, तो Certbot इंस्टॉल करें और एक निःशुल्क Let's Encrypt प्रमाणपत्र प्राप्त करें:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain -d www.your_domain
Certbot आपके सर्वर ब्लॉक को संपादित करता है, प्रमाणपत्र इंस्टॉल करता है, और स्वचालित नवीनीकरण सेट करता है। आप systemctl status certbot.timer के साथ नवीनीकरण टाइमर सत्यापित कर सकते हैं। ऐसी व्यावसायिक साइटों के लिए जिन्हें संगठन-सत्यापित (organisation-validated) या वाइल्डकार्ड प्रमाणपत्र की आवश्यकता हो, Skyline के मैनेज्ड SSL विकल्प देखें।
सेवा सारांश
| घटक | पैकेज | सेवा | डिफ़ॉल्ट पोर्ट / सॉकेट |
|---|---|---|---|
| वेब सर्वर | nginx |
nginx |
80 / 443 |
| डेटाबेस | mysql-server |
mysql |
3306 (localhost) |
| PHP प्रोसेसर | php-fpm |
php8.3-fpm |
/run/php/php8.3-fpm.sock |
निष्कर्ष
अब आपके पास Ubuntu 24.04 पर एक कार्यशील LEMP स्टैक है — Nginx अनुरोधों को सर्व कर रहा है, PHP-FPM डायनामिक कोड को प्रोसेस कर रहा है, और MySQL आपके डेटा को संग्रहीत कर रहा है, जो UFW और HTTPS के पीछे सुरक्षित है। यहाँ से आप /var/www/your_domain में WordPress, एक Laravel ऐप, या कोई भी PHP प्रोजेक्ट डिप्लॉय कर सकते हैं।
अगर आप ऑपरेटिंग सिस्टम को स्वयं प्रबंधित नहीं करना चाहते, तो एक मैनेज्ड प्लेटफ़ॉर्म या व्यावसायिक ईमेल होस्टिंग उस काम को संभाल सकती है। VPS साइज़िंग, मूल्य निर्धारण, और व्यापक उत्पाद श्रेणी का पता लगाने के लिए, VPS और क्लाउड सर्वर हब पर जाएँ।
डिप्लॉय करने के लिए तैयार हैं? Skyline Cloud के साथ किंगडम के भीतर एक क्लाउड सर्वर शुरू करें और अपने LEMP स्टैक को कुछ ही मिनटों में लाइव करें।
Comments
0 total · 0 threads