CentOS7.6服务器下Django+uWSGI+Nginx部署流程

1.Django配置

# settings文件修改
DEBUG = False
ALLOWED_HOSTS = ['*']
# 指定收集静态文件的路径,与nginx静态目录相同
STATIC_ROOT = '/var/www/blog/static'

# 项目目录下执行命令,将项目静态文件收集到STATIC_ROOT目录下
python manage.py collectstatic

2.uWSGI服务器配置

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。

uWSGI安装和配置

	pip install uwsgi

uWSGI配置文件

[uwsgi]
#设置服务器的ip
socket=127.0.0.1:8080
#项目文件所在目录
chdir=/home/normalUser/PythonCodes/django_project
#Django项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=django_project/wsgi.py
# 指定启动的进程数
processes=4
# 指定启动的线程数
threads=2
# 设置主进程
master=True
# 保存启动之后主进程的pid,用来停止/重启uwsgi服务器
pidfile=uwsgi.pid
# 设置uwsgi后台运行,uwsgi.log保存运行日志
daemonize=uwsgi.log
# 虚拟环境所在目录
virtualenv=/home/normalUser/django_project

uWSGI启动

# 虚拟环境中使用uwsgi.ini启动服务器
uwsgi --ini uwsgi.ini

3.Nginx安装和配置

1.安装gcc环境

yum install gcc-c++

2.安装第三方依赖包

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

# https依赖
yum -y install pcre  pcre-devel zlib  zlib-devel openssl openssl-devel

3.安装Nginx

# 切换目录
cd /usr/local/
# 下载Nginx安装文件
wget http://nginx.org/download/nginx-1.8.0.tar.gz
# 解压文件到当前目录
tar -zxvf nginx-1.8.0.tar.gz
# 切换目录
cd nginx-1.8.0
# 配置https所需要的模块
./configure --with-http_stub_status_module --with-http_ssl_module
# 编译安装
make && make install

4.Nginx配置文件

Nginx默认配置文件所在:/usr/local/nginx/conf/nginx.conf

# 编辑配置文件
vim nginx.conf
配置文件
# 配置http重定向到https
server {
        listen       80;
        server_name  域名;
        #将所有HTTP请求通过rewrite指令重定向到HTTPS。
        rewrite ^(.*)$ https://$host$1; 
}
# https配置
server {
        listen       443 ssl;
        server_name  域名;
        # 配置ssl证书
        #需要将cert-file-name.pem替换成已上传的证书文件的名称。
        ssl_certificate cert/证书文件名.pem;  
        #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
        ssl_certificate_key cert/证书名字.key; 
        ssl_session_timeout 5m;
        #表示使用的加密套件的类型。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        #表示使用的TLS协议的类型。
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        ssl_prefer_server_ciphers on;
		
		# 
        location / {
                # 包含uwsgi的请求参数
                include uwsgi_params;
                #设置ip(uwsgi配置文件设置的ip和端口号)转交请求给uwsgi
                uwsgi_pass ip地址:端口号;
        }
		# 配置静态文件访问目录
        location /static {
                # 指定静态文件存放的目录
                alias /var/www/blog/static/;
        }
    }

5.Nginx常用命令

1.启动
cd /usr/local/nginx/sbin
nginx
# 配置文件启动
nginx -c 配置文件
2.重新加载
cd /usr/local/nginx/sbin
nginx -s reload
3.停止
cd /usr/local/nginx/sbin
nginx -s stop
4.查看Nginx状态
cd /usr/local/nginx/sbin
nginx -t
5.重新打开
cd /usr/local/nginx/sbin
nginx -s reopen

启动Nginx和uWSGI服务器就可以正常访问项目了

如果对你有帮助点赞支持一下呗,谢谢
END

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值