VPS पर PHP ऐप्लिकेशन डिप्लॉय करें: पूरी गाइड A से Z तक

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

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

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

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

\n

PHP ऐप्लिकेशन डेवलप करना तो आधी लड़ाई है। दूसरी, उतनी ही महत्वपूर्ण लड़ाई है इसे सही तरीके से सर्वर पर डिप्लॉय करना। वर्चुअल प्राइवेट सर्वर (VPS) आपको वह लचीलापन, नियंत्रण और परफॉरमेंस देता है जो शेयर्ड होस्टिंग में नहीं मिलता। आपको रूट एक्सेस, एनवायरनमेंट को बारीकी से सेट करने की आज़ादी और पूरी तरह से अलग संसाधन मिलते हैं।

\n

इस गाइड में हम सर्वर खरीदने से लेकर एक काम करने वाले PHP 8.x, Nginx, MySQL और Git ऐप्लिकेशन तक का सफर तय करेंगे। सभी स्टेप्स Ubuntu 22.04 LTS ऑपरेटिंग सिस्टम के लिए हैं, जो वेब सर्वरों के लिए सबसे लोकप्रिय डिस्ट्रीब्यूशन है।

\n\n

1. VPS की शुरुआती सेटिंग और कनेक्शन

\n\n

1.1. VPS चुनना और खरीदना

\n

PHP ऐप्लिकेशन के लिए न्यूनतम ज़रूरतें: 1 vCPU, 1 GB RAM, 20 GB SSD। अच्छी रेपुटेशन वाले प्रोवाइडर्स जैसे DigitalOcean, Linode, Vultr या भारतीय प्रोवाइडर्स जैसे Hostinger, Bluehost चुनें।

\n

खरीदने के बाद आपको IP एड्रेस, रूट पासवर्ड (या SSH-की) मिलेगी।

\n\n

1.2. SSH से कनेक्ट करना और यूज़र बनाना

\n

सर्वर से कनेक्ट करें (192.168.1.1 को अपने IP से बदलें):

\n
ssh root@192.168.1.1
\n

रोज़मर्रा के काम के लिए एक सामान्य यूज़र बनाएं:

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

सुरक्षित लॉगिन के लिए SSH-की सेट करें:

\n
mkdir -p /home/deployer/.ssh\ncp ~/.ssh/authorized_keys /home/deployer/.ssh/\nchown -R deployer:deployer /home/deployer/.ssh\nchmod 700 /home/deployer/.ssh\nchmod 600 /home/deployer/.ssh/authorized_keys
\n

रूट यूज़र का पासवर्ड लॉगिन बंद करें, /etc/ssh/sshd_config एडिट करें:

\n
PermitRootLogin prohibit-password\nPasswordAuthentication no
\n

SSH रीस्टार्ट करें: systemctl restart sshd

\n\n

1.3. बेसिक सर्वर सुरक्षा

\n
    \n
  • पैकेज अपडेट करें: apt update && apt upgrade -y
  • \n
  • fail2ban इंस्टॉल करें: apt install fail2ban -y
  • \n
  • UFW (फ़ायरवॉल) सेट करें:
  • \n
\n
ufw allow OpenSSH\nufw allow 'Nginx Full'\nufw enable
\n\n

2. LEMP-स्टैक (Linux, Nginx, MySQL, PHP) इंस्टॉल और सेट करना

\n\n

2.1. Nginx इंस्टॉल करना

\n
apt install nginx -y\nsystemctl enable nginx\nsystemctl start nginx
\n

ब्राउज़र में सर्वर का IP एड्रेस डालकर जाँचें। आपको Nginx का वेलकम पेज दिखना चाहिए।

\n\n

2.2. PHP 8.x और PHP-FPM इंस्टॉल करना

\n

PHP के नए वर्जन के लिए रिपॉजिटरी जोड़ें:

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

PHP-FPM का स्टेटस चेक करें:

\n
systemctl status php8.2-fpm
\n\n

2.3. MySQL (MariaDB) इंस्टॉल करना

\n
apt install mariadb-server -y\nsystemctl enable mariadb\nsystemctl start mariadb
\n

सिक्योरिटी स्क्रिप्ट चलाएं:

\n
mysql_secure_installation
\n

ऐप्लिकेशन के लिए डेटाबेस और यूज़र बनाएं:

\n
mysql -u root -p\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

2.4. Nginx वर्चुअल होस्ट सेट करना

\n

अपने डोमेन (जैसे myapp.com) के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं:

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

फ़ाइल में यह कोड डालें:

\n
server {\n    listen 80;\n    server_name myapp.com www.myapp.com;\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        fastcgi_pass unix:                

ब्लॉग

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