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的通信的配置就弄好了。