部署前依赖/环境安装
# 启动前,先进入Django项目中,执行一下内容,确保Django所需要安装包均已安装
python3 manage.py runserver 0.0.0.0:8000 # 将所需要的依赖包安装到机器上
# 测试无问题后即可退出
安装 Python3 + Django + uwsgi + Nginx
# 安装python3 环境
yum installl python3 # centos 中默认python版本为3.6.8,可以直接yum安装
# 安装Django 环境
pip3 install django # 直接pip安装Django即可
# 安装uwsgi 环境
yum install gcc-c++ wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libxml* -y # 安装gcc编译环境
yum install python3-devel libevent-devel libjpeg-devel -y # 安装所需依赖包
python3 -m pip install --upgrade pip # 升级pip
pip3 install uwsgi # 以上工作完成后直接执行pip安装即可
# 安装Nginx 环境
yum install nginx # 直接yum安装即可
uwsgi + nginx 配置文件修改
uwsgi 配置编写
vim uwsgi.ini # 在项目中,编写uwsgi配置文件(建议放在manage.py同层目录下)
[uwsgi]
# 项目主目录(不要放到root或其他有限制目录下面)
chdir = /var/html/XXX(项目目录)/
master = true
# 指定wsgi.py文件
wsgi-file = XXX(项目目录)/wsgi.py
# 指定socket端口
socket = :8080
# 开启线程数量
processes = 5
# 指定进程pid存放地址
pidfile = /var/html/XXX(项目目录)/uwsgi.pid
vacuum = true
# log文件存放地址
daemonize = /var/log/uwsgi.log
Nginx 配置编写
# yum安装的nginx,默认配置文件在/etc/nginx/nginx.conf,里面已有备份,可以直接进行修改
vim /etc/nginx/nginx.conf
# 配置nginx.conf配置文件,nginx监听端口,根据实际需求进行更改,删掉原有location / 增加如下内容和静态文件地址即可
server {
listen 80;
listen [::]:80;
...
...
location / {
include uwsgi_params; # 使用uwsgi服务器。
uwsgi_pass 127.0.0.1:8080; # 把浏览器发来的请求转发到8080端口,而uwsgi也正在监听8080端口,所以就实现了nginx与uwsgi的通信。
uwsgi_read_timeout 30; #链接超时时间
}
...
...
location /static {
# 指定静态文件存放的目录
root /var/html/配置文件里面的static/; # Django中一般写到项目地址即可(根据Django配置走就好)
break;
}
}
启动前准备
# 此项目中使用了simpleui和import_export,一定要手动安装下
pip3 install django-import_export
pip3 install simpleui
# 项目中因使用了开源 simpleui ,需要执行如下命令,将css,js文件汇总放到Django配置文件中配置的位置
python3 manage.py collectstatic # 一定要执行此命令
启动项目
# 启动uwsgi
# 进入Django项目中,执行
uwsgi --ini uwsgi.ini
# 启动 nginx
systemctl start nginx
# 停止nginx
systemctl stop nginx
# 停止 uwsgi
uwsgi --stop uwsgi.pid
亲测无问题,如有问题,请留言!
// 注意 如果有静态页面,一定修改配置文件,并授给nginx访问权限,禁止放到root目录下