Django项目nginx部署

5 篇文章 0 订阅
4 篇文章 0 订阅

Django项目nginx部署

1、 python-devel

命令:yum -y install python-devel
在这里插入图片描述

2、安装Django1.8.2 pillow django-ckeditor5.4.0

  • pip3 install django==1.8.2
    在这里插入图片描述
  • pip3 install pillow
    在这里插入图片描述
  • pip3 install django-ckeditor==5.4.0
    在这里插入图片描述

3、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项目存放到/opt/下
    [root@localhost bin]# cp -r /root/Desktop/OurBlog/ /opt/
    在这里插入图片描述
  • 然后尝试使用uwsgi启动Django项目
    在这里插入图片描述
  • 启动项目
    uwsgi --http 192.168.1.69:8000 --file OurBlog/wsgi.py --static-map=/static=static
    在这里插入图片描述
  • 这里我们要配置seLinux,防火墙和Django的settings
    • 关闭selinux
      命令: setenforce 0
    • 关闭防火墙
      命令:systemctl stop firewalld.service
    • Settings配置
      ED_HOSTS = ["*"] 允许所有访问
      在这里插入图片描述

4、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 #设置日志目录

注释:里面的OurBlog和端口号都要配置成自己的

  • 然后启动uwsgi服务
    Uwsgi --ini uwsgi.ini(脚本名称)
    在这里插入图片描述
    然后可以正常访问
    在这里插入图片描述
  • 安装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 /usr/local/nginx/sbin/nginx /usr/bin/nginx
      在这里插入图片描述
      注释:如果未找到sbin的目录,可以find / -name nginx查找一下
    • 启动nginx查看效果在这里插入图片描述
    • 进行nginx配置,(配置nginx.conf,配置之前进行备份)/usr/local/nginx/conf在这里插入图片描述
    • 然后开始配置
      1、配置节选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;

 

    server {

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

    server {

    listen       80;  #监听端口

    server_name  OurBlog; #服务名称



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

    }

}
``'

在这里插入图片描述
3、效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值