标签: flask

使用 systemd 在启动时运行 Flask 应用程序

我有以下 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 运行它,服务器会立即退出。

python flask systemd

5
推荐指数
1
解决办法
2万
查看次数

Nginx:/etc/nginx/uwsgi_params:1 中的未知指令“uwsgi_param”

使用此部署教程,我正在尝试使用 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)

server nginx flask uwsgi

4
推荐指数
1
解决办法
5931
查看次数

标签 统计

flask ×2

nginx ×1

python ×1

server ×1

systemd ×1

uwsgi ×1