1. 程式人生 > 實用技巧 >使用uwsgi部署Flask專案

使用uwsgi部署Flask專案

前段時間自己給部門內部做了一個小網站,主要用於統計一些企業資訊。這個專案使用的是Flask框架去做的,這裡簡單記錄一下專案部署的流程,中間可能有遺漏,主要防止自己時間久了忘記。

1.配置虛擬環境
1.1 pip3 install virtualenv
1.2 建立虛擬環境:virtualenv venv
1.3 啟用虛擬環境:source venv/bin/activate
1.4 在虛擬環境中安裝flask,uwsgi庫:pip3 install flask; pip3 install uwsgi
(可能遇到的坑:缺少依賴:yum install -y python3-devel)
1.5 建立配置檔案:touch uwsgi.ini
1.6 內容為:[uwsgi]
http = 192.168.126.128:5000
chdir = /home/flask_web
virtualenv =/home/flask_web/venv
wsgi-file = /home/flask_web/app.py
callable = app
#plugins = python
master = true
vacuum = true
chmod-socket = 664
processes = 5
daemonize = /home/flask_web//uwsgi.log
pidfile = /home/flask_web/uwsgi.pid

注:當利用nginx部署:
[uwsgi]
socket = 127.0.0.1:5000
chdir = /home/flask
virtualenv =/home/flask/venv
wsgi-file = /home/flask/app.py
callable = app
#plugins = python
master = true
vacuum = true
chmod-socket = 664
processes = 5
daemonize = /home/flask/uwsgi.log
pidfile = /home/flask/uwsgi.pid

nginx中配置:
server {
        listen       80;
        server_name  192.168.1.134;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            include /home/application/nginx/conf/uwsgi_params;
            uwsgi_pass 0.0.0.0:5000;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }


1.7 進入pycharm中Terminal將依賴庫版本匯出: pip3  freeze >  requirements.txt

1.8 在虛擬環境中安裝依賴庫:pip3 install -r requirements.txt

1.9 啟動 uwsgi.ini:uwsgi uwsgi.ini
(可能遇到的坑:ps -ef|grep uwsgi發現沒有程序,刪掉/home/flask_web/uwsgi/pid 再重新執行一遍 uwsgi uwsgi.ini)
2.0 將專案copy到/home/flask_web目錄下,並將.py檔案賦權
2.1 啟動uwsgi.ini
2.2 ps -ef|grep uwsgi  檢視程序是否啟動
2.3 重啟uwsgi:  uwsgi --reload uwsgi.pid
2.4 停止: uwsgi --stop uwsgi.pid
2.5 啟動: uwsgi --ini uwsgi.ini