1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python django + uwsgi+Nginx宝塔centos7的部署方案

python django + uwsgi+Nginx宝塔centos7的部署方案

时间:2021-04-27 08:03:21

相关推荐

python  django + uwsgi+Nginx宝塔centos7的部署方案

python django的centos7部署

第一步:准备环境

1、准备centos7服务器

服务器可自行购买

2、安装宝塔Linux面板

Centos安装命令:

yum install -y wget && wget -O install.sh /install/install_6.0.sh && sh install.sh

Ubuntu/Deepin安装命令:

wget -O install.sh /install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装命令:

wget -O install.sh /install/install-ubuntu_6.0.sh && bash install.sh

Fedora安装命令:

wget -O install.sh /install/install_6.0.sh && bash install.sh

3、安装python对应的版本

进入目录下载python对应的版本

cd /tmpwget /ftp/python/3.7.2/Python-3.7.2.tgz

如果想要快速下载可以使用迅雷下载对应的python版本,再推送到推送到服务器

可以使用pscp推送远程

pscp.exe下载

2》将下载的pscp.exe拷贝到C:\Windows\System32

3》搜索cmd,以管理员方式运行,是用pscp命令进行文件拷贝

推送文件指令

pscp D:\cwm2.0\cwm-app.zip root@172.18.190.64:/home/djn/root@172.18.190.64's password:

解压文件

tar -zxvf Python-3.7.2.tgz

放到一个指定的文件夹中

mkdir /usr/local/python3

编译

Python-3.7.2/configure --prefix=/usr/local/python3/

编译安装

sudo makesudo make install

建立一个软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

建立pip软链接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

4、安装配置虚拟环境

安装virtualenv、virtualenvwrapper

pip3 install virtualenvpip3 install virtualenvwrapper

注:virtualenv 是python虚拟环境包,virtualenvwrapper是虚拟环境管理包

创建虚拟环境存放文件夹

自己定义创建到哪个目录下

mkdir ~/.virtualenvs

修改.bashrc文件

vim .bashrc# 添加下面三行代码# 指定virtualenvwrapper执行的python版本VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3# 指定虚拟环境存放目录,.virtualenvs目录名是我们刚建的export WORKON_HOME=/home/$USER/.virtualenvs# virtualenvwrapper.sh所在目录 source /usr/local/bin/virtualenvwrapper.sh

启动配置文件 使修改立即生效

source .bashrc

创建虚拟环境

mkvirtualenv 虚拟环境名

切换虚拟环境

workon # 回车会出现所有的虚拟环境workon 虚拟环境名 # 切换到该虚拟环境

退出虚拟环境

deactivate # 什么都不需要选

5、安装项目依赖包

可以一个一个装,不过要注意安装的版本号

pip install flask==2.1.1

建议通过freeze 导出所有依赖包

在项目环境下执行

pip freeze >requirements.txt

到服务器虚拟环境执行

pip install -r requirements.txt

第二步:导入项目到centos服务器

到宝塔控制面板可以本地直接上传文件(不建议)

文件>>>上传>>>选择目录

终端拉取远程仓库代码到本地

git clone 仓库地址

在宝塔网站面板添加项目站点,并选择项目所在的根目录

第三步:编写Uwsgi的配置文件

配置uwsgi.ini

在项目根目录配置

[uwsgi]# socket nginx把请求转发给uwsgi走socketsocket = 和uwsgi交互的端口号chdir= 项目文件目录wsgi-file = 项目的wsgi.py路径module=项目名称.wsgi:application# process-related settings# mastermaster = true# pythonpath=/usr/local/lib/python3.7/site-packageshome =#云服务器上的虚拟环境路径# maximum number of worker processesprocesses = 4# ... with appropriate permissions - may be needed# chmod-socket = 664 #分配socket的权限# clear environment on exitvacuum = truetouch-logreopen = /home/log/touchforlogdaemonize = /home/log/Calculator_uwsgi.log# LK new settingbuffer-size = 65536env = DJANGO_SETTINGS_MODULE=项目名称.settingsmodule = django.core.wsgi:get_wsgi_application()pidfile = ./uwsgi.pidwsgi]

编写启动、暂停、重启文件

start.sh文件

# 启动文件内容:uwsgi --ini 你的uwsgi.ini文件全称(带后缀) --safe-pidfile ./uwsgi.pid

stop.sh文件

#暂停文件内容uwsgi --stop ./uwsgi.pid

restart.sh文件

# 重启文件内容uwsgi --stop ./uwsgi.pidsleep 1git pullsleep 1git submodule updatesleep 1uwsgi --ini 你的uwsgi.ini文件全称(带后缀)--safe-pidfile ./uwsgi.pidsleep 5

第四步:编写Nginx的server配置

在Nginx配置信息中添加server

server {listen 监听对外的端口号server_name 访问域名配置charset UTF-8;access_log off;#access_log/home/log/contract_nginx_access.log;error_log 项目运行日子路径client_max_body_size 75M;location / {include uwsgi_params;uwsgi_pass 127.0.0.1:(uwsg交互的端口号)uwsgi_read_timeout 1800; uwsgi_send_timeout 300; proxy_read_timeout 300; }location /static {expires 30d;autoindex on;add_header Cache-Control private;alias /usr/static; # 静态文件的路径地址}}

在宝塔安全页面添加对外端口号放行

第五步:通过Uwsgi启动项目

有start.sh 文件

在项目根目录执行

./start.sh

没有配置启动文件

在项目根目录执行:

uwsgi --ini (uwsgi.ini文件全称(带后缀))--safe-pidfile ./uwsgi.pid

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。