VPS पर PHP एप्लिकेशन का डिप्लॉयमेंट: चरण-दर-चरण मार्गदर्शिका

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

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

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

परिचय

PHP-एप्लिकेशन विकसित करना केवल आधा काम है। दूसरा, उतना ही महत्वपूर्ण हिस्सा है डिप्लॉयमेंट, यानी तैयार कोड को लाइव सर्वर पर तैनात करना। कई नौसिखिए डेवलपर्स को अपने प्रोजेक्ट को लोकल मशीन से VPS (Virtual Private Server) पर स्थानांतरित करने में कठिनाइयों का सामना करना पड़ता है। एनवायरनमेंट सेटअप, वेब सर्वर, डेटाबेस और सुरक्षा के साथ काम करना जटिल लग सकता है, लेकिन वास्तव में यह एक क्रमिक और समझने योग्य प्रक्रिया है।

इस लेख में, हम चरण दर चरण समझेंगे कि VPS पर PHP एप्लिकेशन को सही तरीके से कैसे डिप्लॉय किया जाए। आप सीखेंगे कि सर्वर कैसे तैयार करें, Nginx और PHP-FPM को कैसे कॉन्फ़िगर करें, MySQL डेटाबेस को कैसे कनेक्ट करें और Git के माध्यम से अपडेट डिप्लॉयमेंट को कैसे ऑटोमेट करें। यह सामग्री उन लोगों के लिए है जिनके पास पहले से Linux और Git का बुनियादी ज्ञान है, लेकिन वे अपने ज्ञान को व्यवस्थित करना चाहते हैं।



1. सर्वर तैयार करना और LEMP स्टैक स्थापित करना

सबसे पहले, अपने VPS से SSH के माध्यम से कनेक्ट करें और LEMP (Linux, Nginx, MySQL, PHP) के रूप में जाना जाने वाला बुनियादी सॉफ्टवेयर सेट स्थापित करें।

सर्वर से कनेक्ट करें:

ssh root@आपका-आईपी-पता

पैकेज अपडेट करें और आवश्यक एक्सटेंशन के साथ Nginx, MySQL और PHP स्थापित करें:

sudo apt update && sudo apt upgrade -ysudo apt install nginx mysql-server php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

स्थापना के बाद, सेवाएं शुरू करें और उन्हें स्टार्टअप में जोड़ें:

sudo systemctl start nginxsudo systemctl enable nginxsudo systemctl start php8.1-fpm  # संस्करण भिन्न हो सकता हैsudo systemctl enable php8.1-fpm

इस चरण पर, बुनियादी बुनियादी ढांचा तैयार है। अब हम डेटाबेस सेटअप और वेब सर्वर कॉन्फ़िगरेशन की ओर बढ़ते हैं।



2. MySQL सेटअप और डेटाबेस बनाना

अधिकांश PHP-एप्लिकेशन (जैसे WordPress, Laravel या कस्टम प्रोजेक्ट) के लिए डेटाबेस की आवश्यकता होती है। MySQL की प्रारंभिक सेटअप करें:

sudo mysql_secure_installation

निर्देशों का पालन करें: root के लिए पासवर्ड सेट करें, अनाम उपयोगकर्ताओं को हटाएं, root के रिमोट लॉगिन को प्रतिबंधित करें और टेस्ट डेटाबेस को हटाएं।

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

sudo mysql -u root -p

SQL क्वेरी निष्पादित करें (myapp, myuser और mypassword को अपने मानों से बदलें):

CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';FLUSH PRIVILEGES;EXIT;

डेटाबेस तैयार है। डेटाबेस का नाम, उपयोगकर्ता और पासवर्ड नोट कर लें - एप्लिकेशन सेटअप करते समय इनकी आवश्यकता होगी।



3. कोड रखना और Nginx वर्चुअल होस्ट कॉन्फ़िगर करना

अब समय है अपने PHP एप्लिकेशन के कोड को सर्वर पर स्थानांतरित करने का। सबसे सुविधाजनक तरीका Git का उपयोग करना है। मान लीजिए कि आपका प्रोजेक्ट GitHub या GitLab पर संग्रहीत है।

प्रोजेक्ट के लिए एक निर्देशिका बनाएं और रिपॉजिटरी को क्लोन करें:

sudo mkdir -p /var/www/myappsudo chown -R $USER:$USER /var/www/myappgit clone https://github.com/आपका-उपयोगकर्ता-नाम/आपका-रिपॉजिटरी.git /var/www/myapp

यदि प्रोजेक्ट Composer का उपयोग करता है (जैसे Laravel या Symfony), तो निर्भरताएं स्थापित करें:

cd /var/www/myappcomposer install --no-dev --optimize-autoloader

अनुमतियां सेट करें। आमतौर पर, वेब सर्वर को कुछ फ़ोल्डरों (जैसे Laravel में storage और bootstrap/cache) में लिखने की अनुमति होनी चाहिए:

sudo chown -R www-data:www-data /var/www/myapp/storagesudo chown -R www-data:www-data /var/www/myapp/bootstrap/cache

अब Nginx के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन बनाएं। फ़ाइल बनाएं:

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

निम्नलिखित कॉन्फ़िगरेशन डालें (अनुकूलित करें)

ब्लॉग

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