写在前面
试过了apache2,uwsgi,这次尝试下gunicorn,本文权当学习笔记。
安装
sudo apt-get install nginx
sudo apt-get install python3
sudo apt-get install python3-pip
sudo pip3 install virtualenv
虚拟环境
#创建
python3 -m virtualenv venv
#启动
source venv/bin/activate
安装python包
pip3 install -Ur requirements.txt
收集静态资源
#注意在settings.py中添加STATIC_ROOT路径
python manage.py collectstatic --no-input
配置nginx
#创建文件
sudo vim /etc/nginx/sites-available/myproject.conf
贴入以下内容,并根据实际进行修改
server {
charset utf-8;
listen 80;
server_name 0.0.0.0; # 改成你的 IP
location /static {
#修改成你的静态资源路径
alias /home/user/myproject/collectedstatic;
}
location /media {
#修改成你的media路径
alias /home/user/myproject/media;
}
location / {
proxy_set_header Host $host;
proxy_pass http://unix:/tmp/0.0.0.0.socket; # 改成你的 IP
}
}
建立软连接
sudo ln -s /etc/nginx/sites-available/myproject.conf /etc/nginx/sites-enabled
启动服务
#安装gunicorn(虚拟环境下)
(venv) ../myproject$pip3 install gunicorn
#重启nginx
(venv) ../myproject$sudo service nginx restart
#启动gunicorn
(venv) ../myproject$gunicorn --bind unix:/tmp/0.0.0.0.socket my_blog.wsgi:application
#可选参数,前两个为创建日志文件,-D为后台运行
gunicorn --access-logfile access.log --error-logfile error.log -D --bind unix:/tmp/0.0.0.0.socket myblog.wsgi:application