Django项目发布之Django项目的nginx部署

本文介绍了如何在生产环境中部署Django项目,使用Nginx作为服务器,uWSGI作为应用服务器。首先,通过pip3安装uWSGI,创建软连接,并将Django项目复制到指定目录。接着,配置uWSGI的ini文件,包括项目目录、应用模块、socket路径等。然后,安装并配置Nginx,创建软连接,修改nginx.conf文件以指向uWSGI。最后,启动uWSGI和Nginx服务,确保项目可以正常访问。
摘要由CSDN通过智能技术生成

python uwsgi
这里的python+Django环境部署已经完成,然后了解一下python的uwsgi框架。
Python manager.py runserver, 是一款适合开发阶段使用的服务器,只支持最高200的并发,不适合在生产中使用。在生产环境当中,通常会用到apache或者nginx服务器作为Django的生产服务器。以nginx为例子。但是在部署之前,首先要掌握在Django和nginx之间的一个程序,就是wsgi,web服务器网关接口,英文叫, Web Server Gateway Interface 缩写叫WSGI,是Python应用程序或框架和web服务器之间的一种接口。
部署用uwsgi模块,首先安装
pip3 install uwsgi
在这里插入图片描述
然后配置环境变量,创建软连接
命令:ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
在这里插入图片描述
Django和WSGI的结合
把准备好的Django项目存放到/opt/下
[root@localhost bin]# cp -r /root/Desktop/OurBlog/ /opt/
在这里插入图片描述
清除pycharm的配置文件,初始的导入文件
在这里插入图片描述
测试
python3 manage.py runserver 0.0.0.0:8000
注意:
systemctl stop firewalld 关闭防火墙
然后尝试使用uwsgi启动Django项目
这里要关注到容易忽视的一个文件
在这里插入图片描述
这个是项目的uwsgi文件
uwsgi --http 10.10.16.229:8000 --file Qshop/wsgi.py --static-map=/static=static
uwsgi 模块名称
–http 协议
10.10.16.229:8000 主机端口
–file uwsgi要使用的解析文件,一般django自己创建
–static 静态目录
在这里插入图片描述
django+nginx+uwsgi
上面用命令启动了uwsgi,但是体验不太好,现在这里使用ini文件启动uwsgi服务器
在项目同等级目录下创建script目录
在这里插入图片描述
然后在当中编写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 #设置日志目录
然后启动uwsgi服务
Uwsgi --ini uwsgi.ini(脚本名称)
在这里插入图片描述
创建uwsgi文件的配置文件目录和文件
在这里插入图片描述
编写内容
在这里插入图片描述
授权
在这里插入图片描述
启动uwsgi
在这里插入图片描述
杀死进程重启
在这里插入图片描述
安装nginx服务器
直接安装nginx是没有的,所以,需要wget
命令:wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
在这里插入图片描述
解压
命令:tar -zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2
在这里插入图片描述
自定义配置
命令:./configure
在这里插入图片描述
编译安装
命令:make && make install
在这里插入图片描述
创建软连接
命令:ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
在这里插入图片描述
启动nginx查看效果
在这里插入图片描述
在这里插入图片描述
修改nginx的配置文件
在这里插入图片描述
进行nginx配置,(配置nginx.conf,配置之前进行备份)
备份
在这里插入图片描述
开始配置
http {
include mime.types;
default_type application/octet-stream;
在这里插入图片描述
server {
listen 80;
server_name Qshop; 服务的名称
charset utf-8; 编码格式

access_log  logs/host.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; 加载uwsgi_params
     uwsgi_connect_timeout 30; 连接的超时时间 不要加冒号不要加冒号不要加冒号 
     uwsgi_pass unix:/opt/script/uwsgi.sock; uwsgi.sock通讯的文件地址
}

location = /static/{
    alias /opt/Qshop/static; 静态文件的目录
    index index.html index.htm;
}

杀死当前状态下的所有Nginx服务
Pkill -9 nginx
从新启动
这里如果出现下面错误:
在这里插入图片描述
说明你的错误日志没有创建,就需要创建了,到/var/log/下mkdir nginx就行
在这里插入图片描述
然后应该就可以访问了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值