如何配置gunicorn以确保我的python-flask网站全天候可用24 * 7? 我面临的问题是:终止终端窗口后,该网站将不再可用。
我正在使用rhel7.6来使用python-flask托管网站。 我已经将nginx配置为Web服务器,将gunicorn配置为应用程序服务器。
。 如果有人可以帮助我使用/配置gunicorn以确保我的网站24 * 7可用,我将不胜感激。
请输入以下一些代码:
[root@syed-dashboard-4 ~]# pwd
/root
[root@syed-dashboard-4 ~]#
[root@syed-dashboard-4 ~]# cat hello.py
#!/usr/bin/python
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello magentabox!"
#if __name__ == "__main__":
# app.run(host='10.145.29.23',port=5000)
[root@syed-dashboard-4 ~]#
[root@syed-dashboard-4 ~]# gunicorn hello:app
[2019-07-17 10:34:11 +0000] [9346] [INFO] Starting gunicorn 19.9.0
[2019-07-17 10:34:11 +0000] [9346] [INFO] Listening at: http://127.0.0.1:8000 (9346)
[2019-07-17 10:34:11 +0000] [9346] [INFO] Using worker: sync
[2019-07-17 10:34:11 +0000] [9351] [INFO] Booting worker with pid: 9351
我对Web开发非常陌生,正如我提到的那样,一旦关闭终端,该网站就无法访问了。如果可以解决我的问题,我也可以共享nginx配置日志。 非常感谢。
答案 0 :(得分:0)
在Linux上,您可以在启动服务器后分离的tmux会话中启动应用。
# Create a new tmux session
tmux new -s server
# Start your gunicorn server
cd /path/to/app
gunicorn hello:app
# Detach the current tmux session using Ctrl - B + D
您可以关闭终端,服务器仍将运行。
答案 1 :(得分:0)
您可以使用主管。这是运行服务器24 * 7全天候的专业方法。 请在您的主管配置中添加以下文件以运行。
[program:your_project_name]
command=/home/virtualenvpath/your_env/bin/gunicorn --log-level debug run_apiengine:main_app --bind 0.0.0.0:5006 --workers 5 --worker-class gevent
stdout_logfile=/home/your_path_to_log/supervisor_stdout.log
stderr_logfile=/home/your_path_to_log/supervisor_stderr.log
user=your_user
autostart=true
autorestart=true
environment=PYTHONPATH="$PYTHONPATH:/home/path_to_your_project";OAUTHLIB_INSECURE_TRANSPORT='1';
在超级用户中配置它,它将运行24 * 7。而且只要您的计算机重新启动,它就会自动启动。