Python Web應用部署步驟

2022-09-15 11:21:10 字數 2282 閱讀 6896

假設:

安裝必須的軟體

root$ apt-get

install

git w3m vim htop tree python3-pip virtualenv nginx supervisor -y

建立虛擬環境、安裝包、測試程式

cd ~

virtualenv v3web --python=python3

source /home/xyz/v3web/bin/activate

cd /home/xyz/myblog

pip install -r requirements.txt

python run.py

deactivate

使用supervisor管理程序(後台執行)

cd /etc/supervisor/conf.d/

vim demo.conf

/etc/supervisor/conf.d/demo.conf內容如下:

[program:demo]

user=xyz

directory=/home/xyz/myblog/

command=/bin/bash /home/xyz/runinenv.sh /home/xyz/v3web python /home/xyz/myblog/run.py

autostart=true

autorestart=true

startsecs=5

stopsignal=hup

stopasgroup=true

stopwaitsecs=5

stdout_logfile_maxbytes=20mb

stdout_logfile=/var/log/supervisor/%(program_name)s-out.log

stderr_logfile_maxbytes=20mb

stderr_logfile=/var/log/supervisor/%(program_name)s-err.log

配置要點:

supervisor管理命令

sudo supervisorctl reload

# 檢視程序狀態

sudo supervisorctl status

# 停止/啟動/重啟某個程序(此處為demo)

sudo supervisorctl stop/start/restart demo

linux基礎命令

# 檢視和python相關的tcp連線

netstat -antp |

grep python

# 檢視和python相關的程序

ps uax |

grep python

# 殺死指定名稱的程序(此處為python)

sudo

pkill python

配置nginx

cd /etc/nginx/conf.d/

sudo vim demo.conf

/etc/nginx/conf.d/demo.conf內容如下:

server 

location /static/

}

nginx管理命令

sudo

service nginx restart

# 啟動、停止伺服器

sudo

service nginx start/stop

nginx靜態檔案403解決方案

修改django的預設admin路徑

python manage.py collectstatic
修改nginx配置檔案(改完了需要重啟)

vim /etc/nginx/nginx.conf
將如下的行(nginx執行使用者預設為www-data)

user www-data;
改為(將nginx執行使用者改為root)

user root;
一般情況下,也將nginx執行使用者改為當前使用者(此處為xyz

user xyz;
重啟伺服器

sudo

service nginx restart

uwsgi部署python web框架伺服器

環境部署搭配 linux系統 python3 flask uwsgi 其中 檢視系統版本 cat etc redhat release 1.新增乙個使用者 新增使用者 adduer wch 修改密碼 passwd wch 新增到sudo使用者組 gpasswd a wch wheel 切換到wch使...

Docker部署Flask應用的實現步驟

一 目的 本地寫好乙個flask應用,用docker封裝,上傳至自己的伺服器,完成部署。流程圖 二 實驗環境 本地 windows10 1909 伺服器 阿里雲centos系統 三 所需軟體 1.dockerdesktop 2.pycharm 2020.3.3 四 步驟 1.本地完成flask應用的...

python Web應用框架之Flask

pip install flask 以下是乙個簡單的flask應用 from flask import flask def hello world return hello world if name main 執行 python hello.py running on首先,我們匯入了 flask ...