记录python的django写服务器的uwsgi和nginx的配置与启动

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。

uwsgi.ini文件的基本参照格式如下

[uwsgi]

# python 解释器位置 (完整路径)   (需要大家按照自己的改一下)  whereis python 查找路径
pythonpath = /usr/local/bin/python3.7

# uwsgi 端口
socket = :8080
#http = :8080

# 项目云服务器的目录  (需要大家按照自己的改一下)
chdir = /home/project/DCServer

# 项目中wsgi.py文件的目录,相对于项目根目录   (需要大家按照自己的改一下)
wsgi-file = drfdemo02/wsgi.py

# 开启master, 将会多开一个管理进程, 管理其他服务进程
master = true

# 工作进程数
processes = 4

# 每个工作进程的线程数
threads = 2

# 指定日志文件(会自动创建)。这个很重要,如果uwsgi出现错误,可以通过日志文件来查错
daemonize = uwsgi.log
pidfile=uwsgi.pid

配置保存完毕之后,在Ubuntu服务器输入uwsgi --ini uwsgi.ini进行服务器启动
输入vi uwsgi.logvi uwsgi.pid就可以查看错误日志和运行进程的pid

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

nginx需要下载安装,在Ubuntu中如下代码
apt install nginx
安装完毕之后需要准备nginx配置文件(dcs_nginx.conf),以下是nginx文件的配置范例,监听一个端口就写一个server

server {
        listen 80;#监听80端口,也就是网页前端端口
        server_name localhost;
        # 日志
        access_log /var/log/nginx/dcs80_access.log;  
        error_log /var/log/nginx/dcs80_error.log;
  
        location  / {
            allow all;
            # 改路径
            root  /home/project/DCShtml/dist;
            try_files $uri $uri/ /index.html;
            index index.html;
        }

        location ~ .*\.(js|css|png|jpg|gif)$
        {   
            # 改路径
            root /home/project/DCShtml/dist;
            if (-f $request_filename) {
                expires 1d;
                break;
            }
        }
    }

server {
            include  mime.types;
            default_type  application/octet-stream;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
            fastcgi_read_timeout 300;
            fastcgi_buffer_size 64k;
            fastcgi_buffers 4 64k;
            fastcgi_busy_buffers_size 128k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_intercept_errors on;

            gzip on;
            gzip_min_length  1k;
            gzip_buffers     4 16k;
            gzip_http_version 1.1;
            gzip_comp_level 2;
            gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
            gzip_vary on;
            gzip_proxied   expired no-cache no-store private auth;
            gzip_disable   "MSIE [1-6]\.";

            server_tokens off;
            access_log on;

            listen     8000;
            charset UTF-8;
            access_log /var/log/nginx/dcs8000_access.log;  
            error_log /var/log/nginx/dcs8000_error.log;
            client_max_body_size 75M;


             location /static {
                     expires 30d;   # 30天过期
                     add_header Cache-Control private;
                     # 改路径
                     alias /home/project/DCServer/static;
             }
             location /media {
                     expires 30d;
                     add_header Cache-Control private;
                     # 改路径
                     alias /home/project/DCServer/media;
             }

             location / {
                     include uwsgi_params;
                     uwsgi_pass 127.0.0.1:8080;
             }
}

这个范例适配的话主要修改地址和端口号即可,准备好nginx配置文件之后,需要进入nginx文件夹进行配置,默认是在etc文件夹,进入/etc/nginx,然后输入cd conf.d进入此文件夹,将准备的nginx配置文件拷贝入此目录文件夹。

然后cd ..返回上一级,输入vi nginx.conf,找到这两条导入
在这里插入图片描述
注意图中第二行需要注释,具体原因我不清楚,可能是不被需要
然后按ESCshift 加 :、再输入wq进行保存退出

第一次启动nginx需要输入nginx,已经启动过的输入nignx -s reload进行重启,如此便可完成django的uwsgi和nginx服务器配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

听风去

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

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

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

打赏作者

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

抵扣说明:

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

余额充值