我有以下 systemd 服务来运行我的 Flask 应用程序:
[Unit]
Description=My Flask server
After=network.target
[Service]
User=ubuntu
ExecStart=/home/ubuntu/my-server/script.py
WorkingDirectory=/home/ubuntu/my-server/
Restart=on-failure
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
然而,当我跑步时
systemctl start my-server.service
Run Code Online (Sandbox Code Playgroud)
我得到以下状态
my-server.service - My Flask server
Loaded: loaded (/etc/systemd/system/my-server.service; enabled; vendor preset: enabled)
Active: active (exited) (Result: exit-code) since Wed 2017-06-21 22:24:18 UTC; 8min ago
Main PID: 8407
(code=exited, status=203/EXEC)
Run Code Online (Sandbox Code Playgroud)
如何防止 Flask 服务器退出?当我直接运行脚本时
/home/ubuntu/my-server/script.py
Run Code Online (Sandbox Code Playgroud)
效果很好。但如果我用 systemd 运行它,服务器会立即退出。
使用此部署教程,我正在尝试使用 Flask、uWSGI 和 Nginx 启动并运行 Ubuntu 12.04 服务器。我现在无法运行 Nginx。当我尝试(重新)启动 nginx 时,它只是说...fail!,当我运行测试(使用sudo nginx -t)时,它说:
nginx: [emerg] unknown directive "uwsgi_param" in /etc/nginx/uwsgi_params:1
nginx: configuration file /etc/nginx/nginx.conf test failed
Run Code Online (Sandbox Code Playgroud)
我没有更改该文件中的任何内容,因此其内容是默认内容:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Run Code Online (Sandbox Code Playgroud)
我的服务器定义/etc/nginx/sites-available/www如下所示:
server {
listen 8080;
server_name …Run Code Online (Sandbox Code Playgroud)