Technology sharing

Python in Linux operas telae ambitus explicas

2024-07-12

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

Insert imaginem descriptionis hic

"Puella, pendet a fortuna cum iterum conveniant. Noli simulare te non cognosse. Noli expavescere cum dicis "Longum tempus non vides"...

Ad tergum API in Pythone ad ambitum Linux explicandum scriptum, singula vestigia infra sequi potes. Hic articulus operiet apparatum environment, API scripto, utens Gunicorni ut servo WSGI, Nginx in adversarium procuratorem conformans et Systemd ad officia administrandi.

1. para amet

install Python

Si Python in systemate Linux tuo non installatur, hoc imperio uti potes ut eam instituas:

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

Install necessaria libraries

Ponendo uteris lagena vel Django compage, primum inaugurare bibliothecas requisitas:

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

2. scribe API codice

Vas exemplum

Fac simplex exemplum API Flask:

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 exemplum

Novam inceptum Django crea et API adde:

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

exist myapp/views.py API addere visum in:

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

exist myproject/urls.py URL configurare fusis in:

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. Ratio I - Direct startup

Ut celeriter applicationes incipias in ambitu evolutionis vel probationis, eam directe currere potes:

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

Django proprium progressum habet server, quod ab eo incipere potest.

python manage.py runserver 0.0.0.0:8000
  • 1

Commendatur uti Gunicorn in ambitu productionis.Gunicorn Ut application servo, exsecutionem Pythonis codicem tractat et multi-processus administratione.

4. Ratio 2 - Configure Gunicornis (WSGI server in productionem environment)

Gunicornis install

Gunicornis install:

pip3 install gunicorn
  • 1

Tenensque lenticulam currunt application

Flask currere per applicationem Gunicornis:

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

Curre Django application

Gunicornis utere ad applicationes Django currere:

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

5. Usus Nginx in contrarium procuratorem

install nginx

Nginx install:

sudo yum install nginx
  • 1

Configurare Nginx

Configuratione file recensere /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

Reload configuratione Nginx:

sudo systemctl restart nginx
  • 1

6. Usus Systemd ad Gunicorn administrare

Create Systemd servitium file

Novam Systemd operas fasciculi:

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

Configuratione addere ministerium

Lagena application
[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 application

Will ExecStart Mutare lineam in:

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

Satus et da ministerium

Incipe et da operam:

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

7. Reprehendo ministerium status

Fac officium currit;

sudo systemctl status myproject
  • 1

Hoc modo tuus API Python ad Linux ambitum feliciter explicatur. Configurationem adaptare potes prout opus est ad aptam necessitates specificas projectas. Spero hoc detailed ducem utile fuit!