1吨凑、Python環(huán)境部署
Python3.7.8 https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tgz
···在服務(wù)器/usr/local目錄下,新建python3.7文件夾
···在/usr/local/python3.7目錄下執(zhí)行
tar -zxvf Python -3.7.8.tgz
···解壓完畢后缚陷, 進入到/usr/local/python3.7/Python-3.7.8目錄,執(zhí)行./configure命令:
./configure
···成功后涤垫,執(zhí)行安裝命令:
make && make install
成功后會提示pip 安裝成功!
···安裝完畢后拗馒,使用python -V命令還是顯示出默認的python編譯器,需要修改alias
~/.bashrc
添加一條 alias python='/usr/local/python3.7/Python-3.7.8/python'
如下文
保存完了記得source ~/.bashrc
然后執(zhí)行python -V命令
python -V
Python 3.7.8
···在接下來安裝python庫的時候席镀,可能會報一些pip、pip版本夏漱、或者setuptools的錯豪诲,可以按照提示執(zhí)行命令,大致的命令有以下幾個:
python -m pip install
/usr/local/bin/python3.7 -m pip install --upgrade pip
pip3 install --upgrade setuptools
下為.bashrc文件內(nèi)容
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias python='/usr/local/python3.7/Python-3.7.8/python'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
2挂绰、安裝uwsgi
pip3 install uwsgi
3屎篱、在Flask項目根目錄下邊創(chuàng)建uwsgi.ini文件
截屏2023-03-14 上午11.54.44.png
文件內(nèi)容如下:
[uwsgi]
http=0.0.0.0:8086
chdir=/home/www/py/flaskProject1
wsgi-file=/home/www/py/flaskProject1/app.py
callable=app
master=true
processes=1
threads=10
daemonize=uwsgi.log
disable-logging=true
pidfile=uwsgi.pid
buffer-size=65536
harakiri=60
vacuum=True
參數(shù)說明:
http參數(shù)是設(shè)置ip+端口號,主要是端口號扮授,這里設(shè)置的和后續(xù)Nginx設(shè)置的項目端口號一致。
chdir參數(shù)是項目在服務(wù)器中存放的路徑专肪。
wsgi-file是啟動文件在服務(wù)器中存放的路徑刹勃。
daemonize是日志記錄,會在同目錄下生成uwsgi.log文件
其他參數(shù)根據(jù)自己項目情況需求調(diào)整嚎尤,一般這樣寫就可以荔仁。
4、把Flask項目放入文件夾
3步驟已經(jīng)編輯好了uwsgi.ini文件芽死,chdir參數(shù)設(shè)置的是文件目錄/home/www/py/flaskProject1乏梁。
把flask項目整個文件夾放入/home/www/py路徑下,環(huán)境文件夾venv如果太大可以不放入关贵,然后通過pip3 install -r requires.txt 來安裝相應(yīng)的庫遇骑。
5、配置Nginx
server {
listen 8086; #和uwsgi.ini文件中設(shè)置的端口號一致
server_name 127.0.0.1; #訪問ip
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; #代理到uwsgi.ini里兼容的ip和端口
}
}
6揖曾、啟動uwsgi和Nginx
#啟動uwsgi
在項目目錄執(zhí)行 uwsgi --ini uwsgi.ini
可以通過ps -ef |grep uwsgi指令查看運行狀態(tài)
ps -ef |grep uwsgi
root 14850 1 0 16:47 ? 00:00:00 uwsgi --ini uwsgi.ini
root 14865 14850 67 16:47 ? 00:09:58 uwsgi --ini uwsgi.ini
root 14866 14850 0 16:47 ? 00:00:00 uwsgi --ini uwsgi.ini
root 32721 16976 0 17:02 pts/0 00:00:00 grep --color=auto uwsgi
#其他指令-關(guān)閉
uwsgi --stop uwsgi.pid #14850落萎,如果uwsgi.pid不是上邊查到的14850亥啦,就會報錯(signal_pidfile()/kill(): No such process [core/uwsgi.c line 1695]),這時候需要打開當前文件夾中uwsgi.pid文件练链,手動修改數(shù)值翔脱,之后再執(zhí)行關(guān)閉指令。
#啟動Nginx
nginx -s reload
完成媒鼓!
接下來就可以通過服務(wù)器ip+8086端口訪問到Flask項目了届吁!