我遵循了一個簡單的指南,并試圖展示我的燒瓶應用程式,但它不會顯示。我在 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
已檢查所有行程都在運行,并且 systemd 狀態正常,但是當我嘗試卷曲時
http://application
我什么都得不到?
我的應用程式.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)
我在這里缺少什么,如何讓它作業?
uj5u.com熱心網友回復:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/471253.html
