PHP एप्लिकेशन डिप्लॉय: VPS, Docker, Cloud — सही तरीका चुनें

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

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

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

परिचय: कैसे चुनें सही डिप्लॉय तरीका?

\n

आपने एक शानदार PHP वेबसाइट बनाई है। यह आपकी लोकल मशीन पर बढ़िया चलती है, आंखों को सुकून देती है और क्रैश नहीं होती। लेकिन अब असली चुनौती आती है — अपने प्रोजेक्ट को दुनिया को दिखाने का समय। और यहीं से शुरू होता है असली मज़ा: डिप्लॉय का तरीका चुनना। VPS? Docker? Cloud? या तीनों एक साथ? विकल्प देखकर आंखें चकरा जाती हैं और समय कम होता है।

\n

असल में, ये सभी तरीके एक डेवलपर के औजारों की तरह हैं। फावड़ा, एक्सकेवेटर और बुलडोज़र — सब खोदते हैं, लेकिन अलग-अलग गति और कीमत पर। इस लेख में हम PHP एप्लिकेशन डिप्लॉय के तीन मुख्य तरीकों को समझेंगे, काम के कोड उदाहरण देंगे और आपको सही विकल्प चुनने में मदद करेंगे। चलिए शुरू करते हैं!

\n\n

1. क्लासिक तरीका: VPS (वर्चुअल प्राइवेट सर्वर)

\n

PHP के लिए VPS — यह आपके अपने घर जैसा है। आपके पास समर्पित संसाधन (CPU, RAM, डिस्क), पूर्ण रूट एक्सेस और पूरी आज़ादी है। आप तय करते हैं कि क्या इंस्टॉल करना है: Apache या Nginx, PHP का कौन सा वर्जन और कौन से एक्सटेंशन। यह उन लोगों के लिए आदर्श है जो हर छोटी चीज़ को कंट्रोल करना चाहते हैं और कमांड लाइन से नहीं डरते।

\n\n

VPS के फायदे और नुकसान

\n
    \n
  • फायदे: पूर्ण नियंत्रण, निश्चित कीमत (हर महीने फिक्स), किसी भी ज़रूरत के अनुसार कॉन्फ़िगर किया जा सकता है।
  • \n
  • नुकसान: सुरक्षा, अपडेट और बैकअप की ज़िम्मेदारी आपकी। सर्वर कॉन्फ़िगरेशन का ज्ञान ज़रूरी है।
  • \n
\n\n

VPS पर PHP कैसे डिप्लॉय करें (कोड के साथ स्टेप-बाय-स्टेप)

\n

मान लीजिए आपके पास Ubuntu 22.04 पर एक सर्वर है। एक सामान्य PHP एप्लिकेशन (जैसे Laravel या Symfony) को चलाने के लिए न्यूनतम कमांड ये हैं:

\n\n
# सर्वर से कनेक्ट करें\nssh root@your-server-ip\n\n# पैकेज अपडेट करें\napt update && apt upgrade -y\n\n# Nginx, PHP 8.2 और MySQL इंस्टॉल करें\napt install nginx php8.2-fpm php8.2-mysql php8.2-cli php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip mysql-server -y\n\n# PHP के लिए Nginx कॉन्फ़िगर करें\ncat > /etc/nginx/sites-available/your-site << 'EOF'\nserver {\n    listen 80;\n    server_name your-domain.com;\n    root /var/www/your-site/public;\n\n    index index.php;\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}\nEOF\n\n# साइट को एक्टिवेट करें और Nginx को रीस्टार्ट करें\nln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/\nsystemctl restart nginx\n\n# एप्लिकेशन फाइलें कॉपी करें (Git या SCP के ज़रिए)\ncd /var/www\ngit clone https://github.com/your-repo/your-site.git\ncd your-site\ncomposer install --no-dev\nphp artisan key:generate  # Laravel के लिए
\n\n

हो गया! आपका PHP एप्लिकेशन अब IP एड्रेस पर उपलब्ध है। अब बस SSL सर्टिफिकेट (Certbot के ज़रिए) जोड़ना और डेटाबेस कॉन्फ़िगर करना बाकी है।

\n\n

2. आधुनिक मानक: Docker

\n

अगर VPS एक घर है, तो Docker PHP — सामान ढोने का कंटेनर। आप पूरे एप्लिकेशन (कोड, डिपेंडेंसी, सर्वर सेटिंग्स) को एक इमेज में पैक करते हैं और इसे कहीं भी चला सकते हैं। "मेरी मशीन पर तो चल रहा था" जैसी समस्या नहीं — कंटेनर हर जगह एक जैसा एनवायरनमेंट गारंटी करता है।

\n\n

PHP के लिए Docker क्यों शानदार है?

\n
    \n
  • आइसोलेशन: हर एप्लिकेशन अपने कंटेनर में रहता है।
  • \n
  • रिप्रोड्यूसिबिलिटी: एक बार सेटअप करो, हर जगह इस्तेमाल करो।
  • \n
  • स्केलिंग: आसानी से एप्लिकेशन के 10 इंस्टेंस चला सकते हैं।
  • \n
\n\n

उदाहरण: PHP + Nginx + MySQL के लिए Docker-compose

\n

प्रोजेक्ट की रूट डायरेक्टरी में docker-compose.yml फाइल बनाएं:

\n\n
version: '3.8'\n\nservices:\n  app:\n    image: php:8.2-fpm\n    container_name: php_app\n    working_dir: /var/www\n    volumes:\n      - ./:/var/www\n    networks:\n      - app-network\n\n  web:\n    image: nginx:alpine\n    container_name: nginx_web\n    ports:\n      - "80:80"\n    volumes:\n      - ./:/var/www\n      - ./nginx.conf:/etc/nginx/conf.d/default.conf\n    depends_on:\n      - app\n    networks:\n      - app-network\n\n  db:\n    image: mysql:8.0\n    container_name: mysql_db\n    environment:\n      MYSQL_ROOT_PASSWORD: rootpassword\n      MYSQL_DATABASE: your_database\n      MYSQL_USER: your_user\n      MYSQL_PASSWORD: your_password\n    volumes:\n      - db_data:/var/lib/mysql\n    networks:\n      - app-network\n\nvolumes:\n  db_data:\n\nnetworks:\n  app-network:\n    driver: bridge
\n\n

अब बस docker-compose up -d चलाएं और आपका पूरा PHP एप्लिकेशन Docker कंटेनर में चलने के लिए तैयार है!

ब्लॉग

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