VPS पर PHP एप्लिकेशन की तैनाती: A से Z तक चरण-दर-चरण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: PHP प्रोजेक्ट के लिए VPS सबसे अच्छा विकल्प क्यों है?

\n

PHP में वेब एप्लिकेशन विकसित करना केवल आधा काम है। दूसरा, कम महत्वपूर्ण हिस्सा नहीं, सही तैनाती है। यदि आप अपनी सीमाओं के साथ साझा होस्टिंग से आगे बढ़ गए हैं और पर्यावरण पर पूर्ण नियंत्रण चाहते हैं, तो वर्चुअल प्राइवेट सर्वर (VPS) एक आदर्श समाधान है। इस लेख में, हम सर्वर खरीदने से लेकर आपके PHP एप्लिकेशन को प्रोडक्शन मोड में लॉन्च करने तक का सफर तय करेंगे। आप सीखेंगे कि Nginx + PHP-FPM + MySQL स्टैक को कैसे कॉन्फ़िगर करें, डोमेन, SSL प्रमाणपत्र सेट करें और कोड अपडेट को स्वचालित करें।

\n\n

चरण 1: VPS की प्रारंभिक सेटिंग और कनेक्शन

\n

1.1 OS चयन और प्रारंभिक लॉगिन

\n

हम Ubuntu 22.04 LTS का उपयोग करने की सलाह देते हैं - स्थिर और दीर्घकालिक समर्थन के साथ। VPS खरीदने के बाद, आपको एक IP पता और root पासवर्ड प्राप्त होगा।

\n

SSH के माध्यम से कनेक्ट करें:

\n
ssh root@आपका_सर्वर_IP
\n\n

1.2 उपयोगकर्ता बनाना और सुरक्षा सेटिंग

\n

root के रूप में काम करना एक बुरी प्रथा है। आइए sudo अधिकारों के साथ एक अलग उपयोगकर्ता बनाएं:

\n
adduser deployer\nusermod -aG sudo deployer
\n

अब सुविधाजनक और सुरक्षित लॉगिन के लिए SSH कुंजियाँ सेट करें। स्थानीय मशीन पर एक कुंजी जनरेट करें (यदि कोई नहीं है):

\n
ssh-keygen -t rsa -b 4096
\n

सार्वजनिक कुंजी को सर्वर पर कॉपी करें:

\n
ssh-copy-id deployer@आपका_सर्वर_IP
\n

कुंजी द्वारा लॉगिन की जाँच करने के बाद, पासवर्ड लॉगिन और root एक्सेस अक्षम करें:

\n
sudo nano /etc/ssh/sshd_config\n# बदलें:\nPermitRootLogin no\nPasswordAuthentication no\n# SSH पुनरारंभ करें:\nsudo systemctl restart sshd
\n\n

चरण 2: LEMP स्टैक (Nginx, PHP, MySQL) की स्थापना और सेटिंग

\n

2.1 Nginx स्थापना

\n

पैकेज अपडेट करें और वेब सर्वर स्थापित करें:

\n
sudo apt update && sudo apt upgrade -y\nsudo apt install nginx -y
\n

स्थिति जांचें:

\n
sudo systemctl status nginx
\n\n

2.2 PHP 8.x और आवश्यक एक्सटेंशन की स्थापना

\n

PHP के वर्तमान संस्करण के साथ रिपॉजिटरी जोड़ें:

\n
sudo apt install software-properties-common\nsudo add-apt-repository ppa:ondrej/php\nsudo apt update\nsudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip -y
\n\n

2.3 MySQL (MariaDB) स्थापना

\n
sudo apt install mariadb-server mariadb-client -y\nsudo mysql_secure_installation
\n

अपने एप्लिकेशन के लिए डेटाबेस और उपयोगकर्ता बनाएं:

\n
sudo mysql -u root\nCREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'strong_password';\nGRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;
\n\n

चरण 3: Nginx में वर्चुअल होस्ट (सर्वर ब्लॉक) सेट करना

\n

अपने डोमेन के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएं (उदाहरण के लिए, myapp.ru):

\n
sudo nano /etc/nginx/sites-available/myapp
\n

PHP-FPM के लिए निम्नलिखित टेम्पलेट डालें:

\n
server {\n    listen 80;\n    server_name myapp.ru www.myapp.ru;\n    root /var/www/myapp/public;\n    index index.php index.html;\n\n    location / {\n        try_files $uri $uri/ /index.php?$query_string;\n    }\n\n    location ~ \\.php$ {\n        include snippets/fastcgi-php.conf;\n        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;\n    }\n\n    location ~ /\\.ht {\n        deny all;\n    }\n}
\n

साइट को सक्रिय करें और Nginx को पुनः लोड करें:

\n
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/\nsudo nginx -t  # कॉन्फ़िगरेशन जांच\nsudo systemctl reload nginx
\n\n

चरण 4: एप्लिकेशन कोड की तैनाती (Git + Composer)

\n

4.1 रिपॉजिटरी क्लोन करना

\n

प्रोजेक्ट के लिए निर्देशिका बनाएं और कोड क्लोन करें (उदाहरण के लिए, GitHub से):

\n
sudo mkdir -p /var/www/myapp\nsudo chown -R deployer:depl                

ब्लॉग

पुस्तक अनुशंसाएँ