Ubuntu+uWSGI +Nginx部署Django

说明:ubuntu-18.04、nginx-1.14.2、uWSGI 2.0.18、Djnago2.1.5、python3.6.7

1、安装uwsgi,在虚拟开发环境中运行就安装到虚拟开发环境中,否则安装本地就行 :pip install uwsgi --user

2、安装nginx:sudo apt install nginx -y

3、在项目根目录新建ini文件,比如uwsgi.ini,内容如下

[uwsgi]
socket=127.0.0.1:8000        // 内部使用接口8000
chdir=/path/to/your/project  // 项目根目录
wsgi-file=project/wsgi.py    // 相对于根目录的wsgi.py文件所在目录
processes=4                  // 设置进程数
threads=2                    // 设置线程数
master=True                  // 主进程
pidfile=uwsgi.pid            // 记录uwsgi进程,设置后该文件自动创建
daemonize=uswgi.log          // 记录运行日志,设置后该文件自动创建
  • 启动:uwsgi --ini uwsgi.ini
  • 停止:uwsgi --stop uwsgi.pid
  • 重启:uwsgi --reload uwsgi.pid
  • 查看:ps aux|grep uwsgi
  • 使用http协议查看网站运行情况,运行正常,但是静态文件无法加载

4.1、修改 /etc/nginx/nginx.conf 文件

sudo gedit /etc/nginx/nginx.conf

在http下添加

server {
    listen     80;                    # 监听端口
    server_name 192.168.238.129;      # 对外ip地址
    location / {                      # 接收请求后转向uwsgi
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;    # 必须与uwsgi.ini中的一样 
    }
    location /static {
        alias 	/path/to/your/project/static;    # 项目静态文件目录
    }
}

4.2、或者修改 /etc/nginx/sites-enabled/default 文件

因为 /etc/nginx/nginx.conf 中默认没有 server{} ,但它引用了两个目录:

include /etc/nginx/conf.d/*.conf;         # 此目录为空
include /etc/nginx/sites-enabled/*;     # 其中只有一个文件,实际上是/etc/nginx/sites-available/default的快捷方式

default 文件中有 server{} ,把以上配置填写在该文件中也是可以的,其中 uwsgi_params 文件的路径需要更改。

sudo gedit /etc/nginx/sites-enabled/default

在server下添加

    listen     80;                    # 监听端口
    server_name 192.168.238.129;      # 对外ip地址
    location / {                      # 接收请求后转向uwsgi
        include /etc/nginx/uwsgi_params;  # 该文件与default不同级,需指出路径
        uwsgi_pass 127.0.0.1:8000;    # 必须与uwsgi.ini中的一样 
    }
    location /static {
        alias 	/path/to/your/project/static;    # 项目静态文件目录
    }

  • 查看版本:sudo nginx -v
  • 启动:sudo nginx
  • 停止:sudo nginx -s stop
  • 重启:sudo nginx -s reload
  • 查看:ps aux|grep nginx

5、启动uwsgi和nginx

如果用的是虚拟开发环境,需要先启动虚拟开发环境,然后输入以下命令,否则直接输入就行了。

uwsgi --ini /path/to/uwsgi.ini

sudo nginx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值