django+uwsgi+nginx

配置之前,首先了解uwsgi以及nginx的配置参数,这里就不多叙述,直接开始配置

以ubuntu为例,首先确保你的ubuntu系统执行python manage.py runserver 运行成功。

安装uwsgi

uwsgi是python 的一个模块,安装时需要注意的时你的项目环境时py2还是py3

pip install uwsgi //python2
pip3 install uwsgi //python3

安装成功使用uwsgi启动django项目

首先使用命令测试

创建data目录,将我的cmdb放到data目录下,如图

使用命令启动

uwsgi --http 192.168.11.179:8080 --file cmdb/wsgi.py --static-map=/static=static

参数说明

  • http 这个就和runserver一样指定IP 端口
  • file 这个文件就里有一个反射,如果你在调用他的时候没有指定Web Server就使用默认的
  • static 做一个映射,指定静态文件,如css等文件

此时打开浏览器输入http://192.168.11.179:8080即可访问成功

启动成功之后,可以尝试使用uwsgi配置文件启动,

uwsgi配置文件

我的项目中脚本名称mysite_uwsgi.ini

[uwsgi]
# 项目目录
chdir=/data/cmdb  # 路径根据你的项目的真实路径填写
# 指定项目的application
module=mysite.wsgi
# 指定sock的文件路径       
socket=/opt/proj/script/uwsgi.sock # 根据情况填写,不写也不影响
# 进程个数       
workers=5
pidfile=/data/uwsgi.pid  # 保存的pip目录,建议和项目同级目录
# 指定IP端口,根据情况选择http or socket,一般选择socket
# http=192.168.11.179:8080
socket      = 192.168.11.179:8080 
# 指定静态文件
static-map=/static=/data/cmdb/static
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/data/uwsgi.log   # 根据实际项目路径填写

启动脚本

/usr/local/bin/uwsgi --ini  mysite_uwsgi.ini  # 一般环境不同,此时的uwsgi的路径也会不同

浏览器访问 192.168.11.179:8080,成功即配置成功

安装nginx

apt-get install nginx

启动nginx,验证是否成功

/etc/init.d/nginx start 
或者
service nginx start

 详细配置就不再多叙述

最后开始配合使用

Django+uwsgi+nginx  

在nginx的默认配置目录/etc/nginx/conf.d 添加cmdb.conf

server {
        listen 8000;  # 根据自己爱好设置端口,访问的时候使用 
        server_name cmdb.com;
        access_log /var/log/nginx/access.log main; # Nginx日志配置
        proxy_buffer_size 64k;
        proxy_buffers   32 32k;
        proxy_busy_buffers_size 128k;

        location /static {
            alias /data/cmdb/static;
        }
        location / {
                include uwsgi_params;
                uwsgi_pass 192.168.11.179:8080;
        }

}

重启nginx

/etc/init.d/nginx restart

启动后可使用 nginx -t 查看是否成功

 浏览器输入192.168.11.179:8000 (需要注意的是此时的端口是你的cmdb.conf 中监听的端口,和你的命令启动的8080端口不一样)

现实成功,即配置成功

  

猜你喜欢

转载自www.cnblogs.com/flash55/p/10073572.html