centos8部署django

前置条件:默认安装了python3环境、安装django、创建python虚拟环境

1.django配置
settings.py

DEBUG = False  #debug改为falseALLOWED_HOSTS = ['*'] # 访问地址改为 “*” 表示所有
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static")  #nginx访问的目录  放到了之前static的上一级目录,可以自定义 需要写绝对路径
STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"),]
MEDIA_URL = '/archive/'MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'archive') #用户上传的静态文件,如:头像

2.安装和配置uwsgi

yum -y install gcc
yum -y install python3-devel
pip3 install uwsgi

在项目目录下新建uwsgi.ini;其实在哪配置都可以
内容如下

#添加配置选择
[uwsgi]
 #配置和nginx连接的socket连接,必须是服务器内网,端口已经在防火墙配置中开放
socket=1.116.82.243:8001
 #必须是服务器内网,端口已经在防火墙配置中开放(直接做web服务器,使用http),在浏览器中访问这个地址
http=1.116.82.243:8002
 #配置项目路径,项目的所在目录
chdir=/home/mysite/mysite3
 #配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名,相对于项目根目录,不是完整路径
wsgi-file=mysite3/wsgi.py
 #配置启动的进程数
processes=4
 #配置每个进程的线程数
threads=2
 #配置启动管理主进程
master=True
 #虚拟环境目录
home=/home/env/venv
pidfile=uwsgi.pid
daemonize=uswgi.log

uWSGI命令

启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid

3.安装使用nginx

yum install -y nginx

配置nginx.conf(cd /etc/nginx)
在server下添加新的或者修改location项,指向uwsgi的ip与端口
location / {
include uwsgi_params;
uwsgi_pass 10.0.12.2:8001; #项目端口号,即是uwsgi配置的ip和端口号
}

nginx命令

查看版本:sudo usr/sbin/nginx或nginx -v

启动:sudo usr/sbin/nginx或nginx

停止:sudo usr/sbin/nginx或nginx -s stop

重启:sudo usr/sbin/nginx或nginx -s reload

4.测试

访问你的地址:http://ip:80/admin/login/?next=/admin/,因为nginx监控的是80端口,所以是端口是80
http://1.116.82.243/admin/login/?next=/admin/

5.报错

nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
执行命令:nginx -c /etc/nginx/nginx.conf

uwsgi报错No such process [core/uwsgi.c line 1693
1.输入命令(ps -ef | grep uwsgi)查看uwsgi的进程id
2.打开你的uwsgi.ini文件,查看pid文件路径
3.打开uwsgi.pid文件,把文件里的数字改成第一步查询的数字,保存,退出
4.继续执行重启(uwsgi --reload uwsgi.pid)或停止(uwsgi --stop uwsgi.pid)命令,如果还报错,继续从第一步重新操作

6.安装mysqlclient 

yum install python3-devel
yum install gcc mariadb-devel
pip3 install mysqlclient
原文地址:https://www.cnblogs.com/lystbc/p/14686241.html