Κοινή χρήση τεχνολογίας

Ανάπτυξη διαδικτυακών υπηρεσιών Python σε περιβάλλον Linux

2024-07-12

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

Εισαγάγετε την περιγραφή της εικόνας εδώ

"Κορίτσι, εξαρτάται από την τύχη όταν θα ξαναβρεθούμε. Μην κάνεις ότι δεν γνωριζόμαστε. Μην τρέμεις όταν λες "Πολύ καιρό δεν βλέπω"...

Για να αναπτύξετε ένα backend API γραμμένο σε Python σε περιβάλλον Linux, μπορείτε να ακολουθήσετε τα παρακάτω λεπτομερή βήματα. Αυτό το άρθρο θα καλύπτει την προετοιμασία περιβάλλοντος, τη σύνταξη API, τη χρήση του Gunicorn ως διακομιστή WSGI, τη διαμόρφωση του Nginx ως αντίστροφου διακομιστή μεσολάβησης και τη χρήση του Systemd για τη διαχείριση υπηρεσιών.

1. Προετοιμάστε το περιβάλλον

Εγκαταστήστε την Python

Εάν η Python δεν είναι εγκατεστημένη στο σύστημά σας Linux, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να την εγκαταστήσετε:

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

Εγκαταστήστε τις απαραίτητες βιβλιοθήκες

Υποθέτοντας ότι χρησιμοποιείτε το πλαίσιο Flask ή Django, εγκαταστήστε πρώτα τις απαιτούμενες βιβλιοθήκες:

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

2. Γράψτε τον κωδικό API

Παράδειγμα φιάλης

Δημιουργήστε ένα απλό παράδειγμα 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 Προσθήκη προβολής API σε:

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.Gunicorn Ως διακομιστής εφαρμογών, χειρίζεται την εκτέλεση κώδικα Python και τη διαχείριση πολλαπλών διεργασιών.

4. Μέθοδος 2 - Διαμόρφωση του Gunicorn (διακομιστής WSGI σε περιβάλλον παραγωγής)

Εγκαταστήστε το Gunicorn

Εγκαταστήστε το Gunicorn:

pip3 install gunicorn
  • 1

Εκτελέστε την εφαρμογή Flask

Εκτελέστε την εφαρμογή Flask χρησιμοποιώντας το Gunicorn:

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

Εκτελέστε την εφαρμογή Django

Χρησιμοποιήστε το Gunicorn για να εκτελέσετε εφαρμογές Django:

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. Χρησιμοποιήστε το Systemd για να διαχειριστείτε το Gunicorn

Δημιουργία αρχείου υπηρεσίας 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. Μπορείτε να προσαρμόσετε τη διαμόρφωση όπως απαιτείται για να ταιριάζει στις συγκεκριμένες ανάγκες του έργου σας. Ελπίζουμε ότι αυτός ο λεπτομερής οδηγός ήταν χρήσιμος!