Ubutu16上部署Django+Nginx+Uwsgi

1.前言

又一次在服务器部署Django,这次部署的是博客,以为有了上次的经验,这次会好多,结果还是捣鼓了一阵子,还是把整个流程都写好吧

2.安装uwsgi并配置uwsgi.ini

2.1 安装与配置

用pip安装uwsgi

pip install uwsgi

随后在与manage.py同一目录下新建配置文件 uwsgi.ini

[uwsgi]
chdir = /usr/local/blog/mysite
module = mysite.wsgi:application 
socket = 127.0.0.1:8000 
processes = 4
threads = 2
master = true        
daemonize = /usr/local/blog/mysite/run.log    
disable-logging = true   

然后启动

uwsgi uwsgi.ini

更多关于uwsgi可阅读官方文档:http://uwsgi-docs.readthedocs.io/en/latest/

2.2 关闭uswgi

如果对网站内容进行了修改,需要关闭uwsgi后再启动

sudo killall -9 uwsgi

删除进程后再进行启动

3.安装Nginx并配置

用apt-get安装nginx

apt-get install nginx

安装完后打开/etc/nginx/sites-available/default文件,更改配置

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name .vhyz.me;

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

      location /static {
         alias  /usr/local/blog/mysite/static;
      }
}

location指与uwsgi通信的配置,static是Django静态文件生成目录

随后重启

sudo service nginx restart

4.静态文件收集

首先在settings.py里设置以下内容

DEBUG = False
STATIC_ROOT = os.path.join(BASE_DIR, 'statics')

然后执行

python manage.py collectstatic

这样静态文件由Nginx转发,uwsgi负责与Django的通信的配置就弄好了。

猜你喜欢

转载自www.cnblogs.com/vhyz/p/9157651.html
今日推荐