(十三)Django项目Centos7上Nginx部署

Django项目部署至Linux的Nginx中

1、准备:pycharm中的Django项目已搭建并测试完成
在项目迁移至Centos之前将沙箱环境模块包先导出,数据库默认改为SQLite
在这里插入图片描述
在这里插入图片描述

2、Centos中配置好python3环境
参考文章链接:
https://blog.csdn.net/z_ipython/article/details/93110641

3、安装python依赖包和Django项目依赖包

yum -y install python-devel

在这里插入图片描述
安装完成
在这里插入图片描述
安装Django2.1.8 pillow django-ckeditor5.7.1

pip3 install django==2.1.8

在这里插入图片描述

pip3 install pillow

在这里插入图片描述

pip3 install django-ckeditor==5.7.1

在这里插入图片描述
Django项目需要的模块已安装完成

4、python uwsgi模块安装

上面我们已经完成了python+Django环境的部署,接下来我们需要了解python 的uwsgi框架。接下来我们需要了解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 /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

在这里插入图片描述
测试是否安装成功uwsgi
在这里插入图片描述

Django和WSGI的结合
我们把我们准备好的Django项目存放到/opt/下
在这里插入图片描述
在这里插入图片描述
把pycharm中执行过的数据库信息及缓存清理掉
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于我的操作都是在虚拟机中的docker中操作,实现本机与docker的通信
查看docker的ip
在这里插入图片描述
本机cmd中添加路由,实现通信
在这里插入图片描述

5、配置uwsgi
这是我们使用ini文件启动uwsgi服务器
在项目的同级目录下(也就是opt)创建script目录
在这里插入图片描述
然后在当中编写uwsgi.ini文件,内容如下:

[uwsgi]
chdir=/opt/ArticleBlog   #项目目录
module=ArticleBlog.wsgi:application  #指定项目的application
socket=/opt/script/uwsgi.sock  #指定sock的文件路径
workers=5  #进程个数
pidfile=/opt/script/uwsgi.pid
http=172.17.0.2:8000  #指定IP端口
static-map=/static=/opt/ArticleBlog/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 #设置日志目录

在这里插入图片描述

5、安装Nginx服务器
其实我们不配Nginx,Django也可以起来,但是性能就很低,并发也不行。所以做项目,生产还是配Nginx环境
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以发现,没问题,可以正常访问
在这里插入图片描述

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 /usr/local/nginx/sbin/nginx /usr/bin/nginx

在这里插入图片描述
启动nginx是否正常
在这里插入图片描述
在这里插入图片描述

6、配置Nginx
进行nginx配置,(配置nginx.conf,配置之前进行备份)
备份
在这里插入图片描述
然后开始配置
配置节选1

http {
    include       mime.types;
    default_type  application/octet-stream;
    #这里规定了日志的格式,默认是注释的,我们需要解开注释
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    #access_log  logs/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
 
    #gzip  on;

在这里插入图片描述
配置节选2

   server {
       listen       80;  #监听端口
       server_name  ArticleBlog; #服务名称

       charset utf-8; #服务器编码

       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;  #首页
       }
   }

在这里插入图片描述
在这里插入图片描述

创建error.log文件
在这里插入图片描述
7、启动项目
启动uwsgi

uwsgi --ini uwsgi.ini

在这里插入图片描述
启动Nginx
在这里插入图片描述

页面测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孜孜孜孜不倦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值