प्रौद्योगिकी साझेदारी

Linux वातावरणे Python जालसेवानां परिनियोजनम्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

"बालिका, पुनः मिलित्वा भाग्यस्य उपरि निर्भरं भवति। परस्परं न जानामि इति अभिनयं मा कुरुत। "दीर्घकालं न पश्यतु" इति वदन् मा कम्पयतु..."

Python इत्यनेन लिखितं backend API Linux वातावरणे परिनियोजितुं भवान् अधोलिखितानां विस्तृतपदानां अनुसरणं कर्तुं शक्नोति । अस्मिन् लेखे पर्यावरणस्य सज्जता, एपिआइ लेखनम्, Gunicorn इत्यस्य उपयोगः WSGI सर्वररूपेण, Nginx इत्यस्य विपरीतप्रॉक्सीरूपेण विन्यस्तीकरणं, सेवानां प्रबन्धनार्थं Systemd इत्यस्य उपयोगः च समाविष्टाः भविष्यन्ति ।

1. पर्यावरणस्य सज्जीकरणं कुर्वन्तु

पायथन् संस्थापयन्तु

यदि भवतः Linux प्रणाल्यां Python संस्थापितम् नास्ति तर्हि भवन्तः तस्य संस्थापनार्थं निम्नलिखितम् आदेशं उपयोक्तुं शक्नुवन्ति ।

sudo yum update
sudo yum install python3 python3-pip
  • 1
  • 2

आवश्यकपुस्तकालयाः संस्थापयन्तु

भवान् Flask अथवा Django framework इत्यस्य उपयोगं करोति इति कल्पयित्वा प्रथमं आवश्यकानि पुस्तकालयाः संस्थापयन्तु:

pip3 install flask  # 如果你使用的是 Flask
pip3 install django  # 如果你使用的是 Django
  • 1
  • 2

2. एपिआइ कोड लिखत

फ्लास्क उदाहरणम्

एकं सरलं Flask API उदाहरणं रचयन्तु:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api', methods=['GET'])
def api():
    return jsonify({'message': 'Hello, World!'})

if __name__ == '__main__':
    app.run(host='0.0.0.0')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Django उदाहरणम्

एकं नूतनं Django परियोजनां रचयन्तु तथा च API योजयन्तु:

django-admin startproject myproject
cd myproject
django-admin startapp myapp
  • 1
  • 2
  • 3

अस्ति myapp/views.py एपिआइ दृश्यं योजयन्तु:

from django.http import JsonResponse
def api(request):
    return JsonResponse({'message': 'Hello, World!'})
  • 1
  • 2
  • 3

अस्ति myproject/urls.py URL मार्गनिर्धारणं विन्यस्यताम् :

from django.contrib import admin
from django.urls import path
from myapp.views import api

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', api),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3. विधिः 1 - प्रत्यक्षः आरम्भः

विकासे अथवा परीक्षणवातावरणे शीघ्रं अनुप्रयोगं आरभ्य, भवान् प्रत्यक्षतया चालयितुं शक्नोति:

python main.py 或者 nohup python main.py
  • 1
Django उदाहरणम् : १.

Django इत्यस्य स्वकीयः विकाससर्वरः अस्ति, यस्मात् भवान् आरभुं शक्नोति:

python manage.py runserver 0.0.0.0:8000
  • 1

उत्पादनवातावरणे Gunicorn इत्यस्य उपयोगः अनुशंसितः अस्ति यत् उत्पादनवातावरणे अनुप्रयोगस्य कार्यक्षमतां स्थिरतां च सुनिश्चित्य भवन्तः Gunicorn इत्यस्य उपयोगं कुर्वन्तु ।गुनिकॉर्न् अनुप्रयोगसर्वररूपेण, पायथन् कोडस्य निष्पादनं बहुप्रक्रियाप्रबन्धनं च सम्पादयति ।

4. विधिः 2 - Gunicorn (उत्पादनवातावरणे WSGI सर्वरः) विन्यस्तं कुर्वन्तु

गुनिकॉर्नं स्थापयन्तु

गुनिकॉर्न् संस्थापयन्तु : १.

pip3 install gunicorn
  • 1

Flask अनुप्रयोगं चालयन्तु

Gunicorn इत्यस्य उपयोगेन Flask अनुप्रयोगं चालयन्तु:

gunicorn --bind 0.0.0.0:8000 app:app
  • 1

Django अनुप्रयोगं चालयन्तु

Django अनुप्रयोगं चालयितुं Gunicorn इत्यस्य उपयोगं कुर्वन्तु:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application
  • 1

5. Nginx इत्यस्य उपयोगं विपरीतप्रॉक्सीरूपेण कुर्वन्तु

nginx संस्थापयन्तु

Nginx संस्थापनं कुर्वन्तु:

sudo yum install nginx
  • 1

Nginx विन्यस्तं कुर्वन्तु

विन्याससञ्चिकां सम्पादयन्तु /etc/nginx/sites-available/default

server {
    listen 80;
    server_name your_domain_or_IP;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Nginx विन्यासः पुनः लोड् कुर्वन्तु:

sudo systemctl restart nginx
  • 1

6. Gunicorn इत्यस्य प्रबन्धनार्थं Systemd इत्यस्य उपयोगं कुर्वन्तु

Systemd सेवासञ्चिकां रचयन्तु

नूतनं Systemd सेवासञ्चिकां रचयन्तु:

sudo vim /etc/systemd/system/myproject.service
  • 1

सेवाविन्यासं योजयन्तु

फ्लास्क अनुप्रयोग
[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=your_user
Group=www-data
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 app:app

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
Django अनुप्रयोग

भविष्यति ExecStart रेखां परिवर्तयन्तु :

ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 myproject.wsgi:application
  • 1

सेवां आरभ्य सक्षमं कुर्वन्तु

सेवां आरभ्य सक्षमं कुर्वन्तु:

sudo systemctl start myproject
sudo systemctl enable myproject
  • 1
  • 2

7. सेवास्थितिं पश्यन्तु

सेवा प्रचलति इति सुनिश्चितं कुर्वन्तु:

sudo systemctl status myproject
  • 1

एवं प्रकारेण भवतः Python API सफलतया Linux वातावरणे परिनियोजितं भवति । भवान् स्वस्य विशिष्टप्रकल्पस्य आवश्यकतानां अनुरूपं आवश्यकतानुसारं विन्यासं समायोजयितुं शक्नोति । आशास्ति यत् एषः विस्तृतः मार्गदर्शकः सहायकः अभवत्!