Teknologian jakaminen

Python-verkkopalveluiden käyttöönotto Linux-ympäristössä

2024-07-12

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

Lisää kuvan kuvaus tähän

"Tyttö, se riippuu tuurista, milloin tapaamme uudelleen. Älä teeskentele ettet tunne toisianne. Älä vapise, kun sanot: "Ei ole nähty pitkään aikaan"...

Voit ottaa Pythonissa kirjoitetun tausta-API:n käyttöön Linux-ympäristössä noudattamalla alla olevia yksityiskohtaisia ​​ohjeita. Tämä artikkeli käsittelee ympäristön valmistelua, API-kirjoitusta, Gunicornin käyttöä WSGI-palvelimena, Nginxin määrittämistä käänteisenä välityspalvelimena ja Systemdin käyttöä palveluiden hallintaan.

1. Valmistele ympäristö

Asenna Python

Jos Python ei ole asennettuna Linux-järjestelmääsi, voit asentaa sen käyttämällä seuraavaa komentoa:

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

Asenna tarvittavat kirjastot

Olettaen, että käytät Flask- tai Django-kehystä, asenna ensin tarvittavat kirjastot:

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

2. Kirjoita API-koodi

Pullo esimerkki

Luo yksinkertainen Flask API -esimerkki:

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 esimerkki

Luo uusi Django-projekti ja lisää API:

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

olla olemassa myapp/views.py Lisää API-näkymä:

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

olla olemassa myproject/urls.py Määritä URL-reititys:

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. Tapa 1 - Suora käynnistys

Voit käynnistää sovelluksen nopeasti kehitys- tai testausympäristössä ajamalla sen suoraan:

python main.py 或者 nohup python main.py
  • 1
Django esimerkki:

Djangolla on oma kehityspalvelin, josta voit aloittaa:

python manage.py runserver 0.0.0.0:8000
  • 1

On suositeltavaa käyttää Gunicornia tuotantoympäristössä Jotta sovelluksen suorituskyky ja vakaus voidaan varmistaa tuotantoympäristössä, on suositeltavaa käyttää Gunicornia.Gunicorn Sovelluspalvelimena hoitaa Python-koodin suorittamisen ja usean prosessin hallinnan.

4. Tapa 2 - Määritä Gunicorn (WSGI-palvelin tuotantoympäristössä)

Asenna Gunicorn

Asenna Gunicorn:

pip3 install gunicorn
  • 1

Suorita Flask-sovellus

Suorita Flask-sovellus Gunicornilla:

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

Suorita Django-sovellus

Käytä Gunicornia ajaaksesi Django-sovelluksia:

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

5. Käytä Nginxiä käänteisenä välityspalvelimena

Asenna nginx

Asenna Nginx:

sudo yum install nginx
  • 1

Määritä Nginx

Muokkaa asetustiedostoa /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

Lataa Nginx-kokoonpano uudelleen:

sudo systemctl restart nginx
  • 1

6. Käytä Systemdiä Gunicornin hallintaan

Luo Systemd-palvelutiedosto

Luo uusi Systemd-palvelutiedosto:

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

Lisää palveluasetukset

Pullo sovellus
[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 sovellus

Tahtoa ExecStart Muuta rivi muotoon:

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

Käynnistä ja ota palvelu käyttöön

Käynnistä ja ota palvelu käyttöön:

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

7. Tarkista palvelun tila

Varmista, että palvelu on käynnissä:

sudo systemctl status myproject
  • 1

Tällä tavalla Python-sovellusliittymäsi otetaan onnistuneesti käyttöön Linux-ympäristössä. Voit muokata kokoonpanoa tarpeen mukaan projektisi tarpeiden mukaan. Toivottavasti tästä yksityiskohtaisesta oppaasta on ollut apua!