परिचय
PHP एप्लिकेशन को वर्चुअल प्राइवेट सर्वर (VPS) पर डिप्लॉय (तैनात) करना, स्थानीय डेवलपमेंट से प्रोडक्शन में जाने का एक महत्वपूर्ण चरण है। शेयर्ड होस्टिंग के विपरीत, VPS रनटाइम एनवायरनमेंट पर पूर्ण नियंत्रण देता है, जो आधुनिक फ्रेमवर्क (Laravel, Symfony) और उच्च-लोड वाली परियोजनाओं के लिए महत्वपूर्ण है।
इस गाइड में, हम Ubuntu 22.04 पर VPS में PHP एप्लिकेशन को डिप्लॉय करने के पूरे चक्र को समझेंगे। आप सीखेंगे कि सर्वर को कैसे कॉन्फ़िगर करें, आवश्यक घटकों को कैसे स्थापित करें और डिप्लॉयमेंट प्रक्रिया को स्वचालित कैसे करें। सभी कोड उदाहरण उपयोग के लिए तैयार हैं।
1. VPS तैयारी और प्रारंभिक सेटअप
1.1. सर्वर से कनेक्शन
VPS खरीदने के बाद, आपको IP पता, लॉगिन (आमतौर पर root) और पासवर्ड मिलेगा। SSH के माध्यम से कनेक्ट करें:
ssh root@आपका_ip_पतायदि आप SSH-कुंजियों का उपयोग कर रहे हैं (अनुशंसित), तो अपनी सार्वजनिक कुंजी सर्वर पर जोड़ें।
1.2. सिस्टम अपडेट और उपयोगकर्ता बनाना
पैकेज अपडेट करें और काम करने के लिए एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता बनाएं:
apt update && apt upgrade -yadduser deployerusermod -aG sudo deployerअब नए उपयोगकर्ता के साथ कनेक्ट करें:
ssh deployer@आपका_ip_पता1.3. फ़ायरवॉल सेटअप
बुनियादी सुरक्षा के लिए UFW का उपयोग करें:
sudo ufw allow OpenSSHsudo ufw allow 'Nginx Full'sudo ufw enablesudo ufw status2. LEMP स्टैक (Linux, Nginx, MySQL, PHP) स्थापित करना
2.1. Nginx स्थापित करना
sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginxब्राउज़र में http://आपका_ip_पता खोलकर काम की जाँच करें। आपको Nginx का स्वागत पृष्ठ देखना चाहिए।
2.2. PHP और PHP-FPM स्थापित करना
आधुनिक फ्रेमवर्क के लिए PHP 8.x का उपयोग करें:
sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring php8.1-curl php8.1-zip php8.1-gd -yसंस्करण जाँचें और PHP-FPM प्रारंभ करें:
php -vsudo systemctl start php8.1-fpmsudo systemctl enable php8.1-fpm2.3. MySQL स्थापित करना
sudo apt install mysql-server -ysudo mysql_secure_installationअपने एप्लिकेशन के लिए डेटाबेस बनाएं:
sudo mysql -u root -pCREATE DATABASE your_database_name;CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_user'@'localhost';FLUSH PRIVILEGES;EXIT;3. वर्चुअल होस्ट सेटअप और एप्लिकेशन डिप्लॉयमेंट
3.1. Nginx वर्चुअल होस्ट बनाना
अपने डोमेन के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं:
sudo nano /etc/nginx/sites-available/yourdomain.comनिम्नलिखित कॉन्फ़िगरेशन डालें (अपने प्रोजेक्ट के अनुसार अनुकूलित करें):
server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; }
location ~ /\\.ht { deny all; }}साइट को सक्रिय करें:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl reload nginx3.2. Git के माध्यम से कोड डिप्लॉय करना
Git स्थापित करें और रिपॉजिटरी क्लोन करें:
sudo apt install git -ycd /var/wwwsudo git clone https://github.com/yourusername/your-repo.git yourdomain.comएक्सेस अधिकार सेट करें:
sudo chown -R www-data:www-data /var/www/yourdomain.comsudo chmod -R 755 /var/www/yourdomain.com/storagesudo chmod -R 755 /var/www/yourdomain.com/b