linux部署django项目流程(全)

时间:2023-03-09 19:16:25
linux部署django项目流程(全)

1.python3和python2共存配置

流程在下面网址中

https://www.cnblogs.com/vinic-xxm/p/11358894.html

2.安装依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y

3.导出django开发环境清单

pip freeze > packet.txt

4.在linux环境中批量安装清单环境包

pip3 install -r packer.txt

5.将完整的django项目上传到linux系统中

6.项目测试,关闭防火墙

systemctl stop firewalld

运行项目观察是否正常运行

7.安装配置uwsgi

pip3 install uwsgi

创建软连接

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

8测试uwsgi环境

uwsgi --http 10.10.14.180:80 --file 项目名/wsgi.py --static-map=/static=static

9配置uwsgi配置文件

mkdir script
vim uwsgi.ini [uwsgi]
chdir=/opt/OurBlog #项目目录
module=OurBlog.wsgi:application #指定项目的application
socket=/opt/script/uwsgi.sock #指定sock的文件路径
workers=5 #进程个数
pidfile=/opt/script/uwsgi.pid
http=192.168.2.69:8000 #指定IP端口
static-map=/static=/opt/OurBlog/static #指定静态文件
uid=root #用户
gid=root #组
master=true #启用主进程
vacuum=true #自动移除unix Socket和pid文件当服务停止的时候
enable-threads=true #启用线程
thunder-lock=true #序列化接受的内容,如果可能的话
harakiri=30 #设置自中断时间
post-buffering=4096 #设置缓冲
daemonize=/opt/script/uwsgi.log #设置日志目录

10启动uwsgi

Uwsgi --ini uwsgi.ini
文件夹下多出uwsgi.log,uwsgi.pid,uwsgi.sock三个文件

11安装nginx

wget -c https://nginx.org/download/nginx-1.12.2.tar.gz

12解压nginx包

tar -zxvf nginx...

13编译安装

./configure \
make && make install

14创建软连接

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

15启动nginx

nginx

16关闭uwsgi及nginx

pkill -9 uwsgi
pkill -9 nginx

17备份nginx配置文件

在/usr/local/nginx/conf目录下

cp nginx.conf nginx.conf.bak

18创建error.log日志文件

在/var/log目录下

mkdir nginx

cd nginx

touch error.log

19修改nginx配置信息

linux部署django项目流程(全)

linux部署django项目流程(全)

将format注释解掉!

access_log  /var/log/nginx/access.log  main; #访问日志路径,注意:这个目录可能没有,需要创建
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; #压缩格式
error_log /var/log/nginx/error.log error; #错误日志注意:这个目录可能没有,需要创建 location / {
include uwsgi_params; #nginx加载uwsgi模块
uwsgi_connect_timeout 30; #连键超时时间
uwsgi_pass unix:/opt/script/uwsgi.sock; #nginx对应的uwsgi socket文件
} location = /static/ {
alias /opt/OurBlog/static; #静态文件路径
index index.html index.htm; #首页
}

20关闭uwsgi和nginx然后重启项目

修改uwsgi.ini文件中ip为127.0.0.1:8000

查看80端口命令

netstat -nltp | grep 80