Maison > Article > développement back-end > Commencez rapidement : étapes et conseils pour le déploiement de l'application Flask
Flask est un framework Web Python léger, facile à apprendre et à utiliser, et doté d'une évolutivité très puissante et flexible, ce qui en fait le premier choix de nombreux développeurs Web. Après avoir utilisé Flask pour le développement Web et terminé l'application, nous devons déployer l'application sur le serveur. Cet article présentera les étapes et les techniques de déploiement de l'application Flask et fournira des exemples de code spécifiques pour vous aider à démarrer rapidement.
sudo apt-get update sudo apt-get install python3 python3-pip python3-venv
python3 -m venv venv
Parmi eux, venv
est le nom de l'environnement virtuel et peut être remplacé en fonction des besoins de l'application. Après une création réussie, vous pouvez utiliser la commande suivante pour activer l'environnement virtuel. venv
是虚拟环境的名称,可以根据应用需要自行替换。创建成功后,可以使用以下命令激活虚拟环境。
source venv/bin/activate
pip install -r requirements.txt
其中,requirements.txt
是存放依赖库名称和版本号的文件。可以使用以下命令来生成依赖库列表。
pip freeze > requirements.txt
config.py
文件,将配置信息写入其中。class Config: DEBUG = True SECRET_KEY = 'secret key' SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://username:password@localhost/db_name'
其中,SQLALCHEMY_DATABASE_URI
是连接数据库的URL。需要根据实际情况进行修改。
另外,在部署到服务器上时,需要将应用配置为生产模式,并禁止调试模式。可以在config.py
文件中添加以下配置。
class ProductionConfig(Config): DEBUG = False config = ProductionConfig()
在服务器上,还需要修改防火墙设置,将应用的端口打开。可以使用以下命令添加规则。
sudo ufw allow 5000
其中,5000
是应用的默认端口号,可以根据需要进行修改。
flask run --host=0.0.0.0 --port=5000
其中,--host
参数指定应用的IP地址,--port
参数指定应用的端口号。为了在外网访问应用,需要将0.0.0.0
替换为服务器的公网IP地址。
sudo apt-get install nginx
安装完成后,可以在/etc/nginx/sites-available
目录下创建一个配置文件,如myapp
。
server { listen 80; server_name example.com; root /path/to/app; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /static { alias /path/to/app/static; } }
其中,example.com
是服务器的域名或IP地址,/path/to/app
是应用的根目录。配置文件中,location /static
表示静态文件的路径,需要根据应用的需要进行修改。
创建配置文件后,还需要将其链接到/etc/nginx/sites-enabled
目录下,并重启Nginx。
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -s reload
sudo apt-get install supervisor
安装完成后,在/etc/supervisor/conf.d
目录下创建一个配置文件,如myapp.conf
。
[program:myapp] directory=/path/to/app command=/path/to/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app user=user autostart=true autorestart=true redirect_stderr=true
其中,/path/to/app
是应用的根目录,/path/to/venv
是虚拟环境的根目录,user
是服务运行的用户。
创建配置文件后,可以使用以下命令启动Supervisor。
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start myapp
其中,myapp
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app
requirements.txt
est le fichier qui stocke le nom et le numéro de version de la bibliothèque dépendante. Vous pouvez utiliser la commande suivante pour générer une liste de bibliothèques dépendantes. Configurer l'application et le serveur
Avant le déploiement, vous devez configurer l'application et le serveur. Les configurations couramment utilisées incluent les bases de données, les e-mails, les journaux, etc. Vous pouvez créer un fichierconfig.py
dans le répertoire racine de l'application et y écrire les informations de configuration. 🎜🎜rrreee🎜Parmi eux, SQLALCHEMY_DATABASE_URI
est l'URL pour se connecter à la base de données. Il doit être modifié en fonction de la situation réelle. 🎜🎜De plus, lors du déploiement sur le serveur, l'application doit être configurée en mode production et le mode débogage désactivé. La configuration suivante peut être ajoutée dans le fichier config.py
. 🎜rrreee🎜Sur le serveur, vous devez également modifier les paramètres du pare-feu et ouvrir le port de l'application. Des règles peuvent être ajoutées à l'aide de la commande suivante. 🎜rrreee🎜Parmi eux, 5000
est le numéro de port par défaut de l'application, qui peut être modifié selon les besoins. 🎜--host
spécifie l'adresse IP de l'application, et le paramètre --port
spécifie le numéro de port de l'application. Afin d'accéder à l'application depuis le réseau externe, vous devez remplacer 0.0.0.0
par l'adresse IP publique du serveur. 🎜/etc/nginx/sites-available
, tel que myapp
. 🎜rrreee🎜Parmi eux, example.com
est le nom de domaine ou l'adresse IP du serveur, et /path/to/app
est le répertoire racine de l'application. Dans le fichier de configuration, location /static
représente le chemin du fichier statique, qui doit être modifié en fonction des besoins de l'application. 🎜🎜Après avoir créé le fichier de configuration, vous devez le lier au répertoire /etc/nginx/sites-enabled
et redémarrer Nginx. 🎜rrreee/etc/supervisor/conf.d
, tel que myapp.conf
. 🎜rrreee🎜Parmi eux, /path/to/app
est le répertoire racine de l'application, /path/to/venv
est le répertoire racine de l'environnement virtuel, et user
code> est l'utilisateur sous lequel le service s'exécute. 🎜🎜Après avoir créé le fichier de configuration, vous pouvez utiliser la commande suivante pour démarrer Supervisor. 🎜rrreee🎜Où, myapp
est le nom du programme du fichier de configuration. 🎜🎜🎜Utilisez Gunicorn pour améliorer les performances🎜Gunicorn est un serveur Web Python qui peut améliorer les performances et les capacités de traitement simultané des applications Flask. Gunicorn peut être installé à l'aide de la commande suivante. 🎜🎜rrreee🎜Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour démarrer Gunicorn dans le répertoire racine de l'application. 🎜gunicorn -w 4 -b 0.0.0.0:5000 app:app
其中,-w
参数表示工作进程的数量,-b
参数表示绑定的IP地址和端口号,app:app
表示应用的模块名和应用对象。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!