一口气在Ubuntu上安装Flask、uwsgi和Nginx。在Ubuntu上同时安装Flask、uwsgi和Nginx

本文的背景

我以前在Raspberry Pi上设置过Flask+uwsgi+Nginx,但这次我想在Ubuntu上进行相同的配置。
然而,由于参考文章散落在各处,所以我希望在本文中归纳出真正可行的配置方法。

本文的基本前提

・已经建立了Flask应用程序。
・已经安装了Ubuntu。
・已经安装了uWSGI。
・已经安装了Nginx。
・已经完成了Python环境的设置。

1. uwsgi.ini的设置

[uwsgi]
callable = app 
master = true
socket = /tmp/uwsgi.sock
chmod-socket = 664
#wsgi-file = /home/akeyi2016/FlaskStudy/tutorial/hello.py
wsgi-file = /mnt/d/hello/hello.py

※ 不需要指定地址或端口号来连接到http或socket
※ nginx接受socket参数

2. 配置uwsgi服务

[Unit]
Description=uWSGI instance to serve flask
After=network.target

[Service]
User=akeyi2016
WorkingDirectory=/home/akeyi2016/FlaskStudy/tutorial
ExecStart=/home/akeyi2016/.local/bin/uwsgi uwsgi.ini

[Install]
WantedBy=multi-user.target

3. nginx.conf的设置

user ※<www-data>だと動かない場合がある
http {
        ...
        include /etc/nginx/conf.d/*.conf;
        #include /etc/nginx/sites-enabled/*;
}

4. uwsgi.conf的配置设置

server {
    listen 80 default_server;
    server_name _;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }
}

5.激活服务 ( )

sudo systemctl start nginx.service
sudo systemctl start uwsgi.service

6. 设置常时启动如下。

sudo systemctl enable nginx.service
sudo systemctl enable uwsgi.service

7.备忘录

# uwsgi.serviceパス
/etc/systemd/system
# nginxファイル関連パス
/etc/nginx/nginx.conf
/etc/nginx/conf.d/uwsgi.conf
# nginxエラーログを確認する場合
tail /var/log/nginx/error.log -f

8.增加附加内容

请将以下用户名更改为nginx执行用户名的nginx.conf文件中。

user www-data ->default
user <ログインuser名>

文献引用

以下是关于Nginx的一些资源链接:
– [https://uwsgi-docs.readthedocs.io/en/latest/Nginx.html](https://uwsgi-docs.readthedocs.io/en/latest/Nginx.html)
– [https://amateur-engineer-blog.com/flask-uwsgi-nginx/](https://amateur-engineer-blog.com/flask-uwsgi-nginx/)
– [https://qiita.com/Jazuma/items/521cf31538cb618d285a](https://qiita.com/Jazuma/items/521cf31538cb618d285a)
– [https://qiita.com/TrashBoxx/items/c4cbb2b2209c3bcb1689](https://qiita.com/TrashBoxx/items/c4cbb2b2209c3bcb1689)
– [https://qiita.com/akeyi2018/items/aeec3eb47416e51c3119](https://qiita.com/akeyi2018/items/aeec3eb47416e51c3119)

bannerAds