使用uwsgi部署Flask專案
阿新 • • 發佈:2020-10-14
前段時間自己給部門內部做了一個小網站,主要用於統計一些企業資訊。這個專案使用的是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