私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
「お嬢ちゃん、また会えるかどうかは運次第だよ。知らないふりしないでね。『久しぶり』って言っても震えないで…」
Python で記述されたバックエンド API を Linux 環境にデプロイするには、以下の詳細な手順に従うことができます。この記事では、環境の準備、API の作成、WSGI サーバーとしての Gunicorn の使用、リバース プロキシとしての Nginx の構成、およびサービスの管理のための Systemd の使用について説明します。
Linux システムに Python がインストールされていない場合は、次のコマンドを使用してインストールできます。
sudo yum update
sudo yum install python3 python3-pip
Flask または Django フレームワークを使用していると仮定して、まず必要なライブラリをインストールします。
pip3 install flask # 如果你使用的是 Flask
pip3 install django # 如果你使用的是 Django
簡単な 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')
新しい Django プロジェクトを作成し、API を追加します。
django-admin startproject myproject
cd myproject
django-admin startapp myapp
存在する myapp/views.py
API ビューを次の場所に追加します。
from django.http import JsonResponse
def api(request):
return JsonResponse({'message': 'Hello, World!'})
存在する 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),
]
開発環境またはテスト環境でアプリケーションをすばやく開始するには、アプリケーションを直接実行します。
python main.py 或者 nohup python main.py
Django には独自の開発サーバーがあり、以下から開始できます。
python manage.py runserver 0.0.0.0:8000
本番環境では Gunicorn を使用することをお勧めします。 本番環境でアプリケーションのパフォーマンスと安定性を確保するには、Gunicorn を使用することをお勧めします。ガンイコーン アプリケーション サーバーとして、Python コードの実行とマルチプロセス管理を処理します。
Gunicorn をインストールします。
pip3 install gunicorn
Gunicorn を使用して Flask アプリケーションを実行します。
gunicorn --bind 0.0.0.0:8000 app:app
Gunicorn を使用して Django アプリケーションを実行します。
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application
Nginx をインストールします。
sudo yum install 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;
}
}
Nginx 設定をリロードします。
sudo systemctl restart nginx
新しい Systemd サービス ファイルを作成します。
sudo vim /etc/systemd/system/myproject.service
[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
意思 ExecStart
行を次のように変更します。
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 myproject.wsgi:application
サービスを開始して有効にします。
sudo systemctl start myproject
sudo systemctl enable myproject
サービスが実行されていることを確認します。
sudo systemctl status myproject
このようにして、Python API が Linux 環境に正常にデプロイされます。特定のプロジェクトのニーズに合わせて、必要に応じて構成を調整できます。この詳細なガイドがお役に立てば幸いです。