尝试用 nginx 和 gunicorn 设置烧瓶
Trying to set up flask with nginx and gunicorn
我遵循了一个简单的指南,并试图展示我的烧瓶应用程序,但它不会展示。我 运行 在 ubuntu 服务器上通过 ssh 进行所有操作。
在 /var/www/application/
中安装我的烧瓶应用程序和 wsgi.py
我的 nginx 配置是:
server {
listen 80;
server_name application;
access_log /var/log/nginx/application.access.log;
error_log /var/log/nginx/appliation.error.log;
location / {
include proxy_params;
proxy_pass http://unix:/var/www/application/application.sock;
}
}
我已将文件符号链接到 /etc/nginx/sites-enabled/
然后这是我的 gunicorn 应用程序配置
位于:/etc/systemd/system/application.service
[Unit]
Description=application.service - A Flask application run with Gunicorn.
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/application/
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.sock wsgi:app
[Install]
WantedBy=multi-user.target
已检查所有进程 运行,系统状态正常,但当我尝试卷曲时
http://application
我一无所获?
我的app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "<h1>Nginx & Gunicorn</h1>"
wsgi.py
from main import app
if __name__ == "__main__":
app.run(debug=True)
我在这里缺少什么,如何让它工作?
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.sock wsgi:app
问题是路径/var/www/application.sock,应该是:/var/www/application/application.sock
您仍然可以使用以下命令查看服务状态:
sudo systemctl status <service_name>
要了解服务文件中指定的命令是否正确,或者应用程序是否启动有问题,请尝试直接从命令行启动它:
cd /var/www/application/ && /usr/bin/gunicorn --workers 3 --bind unix:/var/www/application/application.sock wsgi:app
我遵循了一个简单的指南,并试图展示我的烧瓶应用程序,但它不会展示。我 运行 在 ubuntu 服务器上通过 ssh 进行所有操作。
在 /var/www/application/
中安装我的烧瓶应用程序和 wsgi.py我的 nginx 配置是:
server {
listen 80;
server_name application;
access_log /var/log/nginx/application.access.log;
error_log /var/log/nginx/appliation.error.log;
location / {
include proxy_params;
proxy_pass http://unix:/var/www/application/application.sock;
}
}
我已将文件符号链接到 /etc/nginx/sites-enabled/
然后这是我的 gunicorn 应用程序配置 位于:/etc/systemd/system/application.service
[Unit]
Description=application.service - A Flask application run with Gunicorn.
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/application/
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.sock wsgi:app
[Install]
WantedBy=multi-user.target
已检查所有进程 运行,系统状态正常,但当我尝试卷曲时
http://application
我一无所获?
我的app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "<h1>Nginx & Gunicorn</h1>"
wsgi.py
from main import app
if __name__ == "__main__":
app.run(debug=True)
我在这里缺少什么,如何让它工作?
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.sock wsgi:app
问题是路径/var/www/application.sock,应该是:/var/www/application/application.sock
您仍然可以使用以下命令查看服务状态:
sudo systemctl status <service_name>
要了解服务文件中指定的命令是否正确,或者应用程序是否启动有问题,请尝试直接从命令行启动它:
cd /var/www/application/ && /usr/bin/gunicorn --workers 3 --bind unix:/var/www/application/application.sock wsgi:app