版本说明:
nginx version: nginx/1.10.3 (Ubuntu)
uWSGI (2.0.17)
Django (1.8.2)
1、安装uwsgi
pip install uwsgi
2、配置uwsgi
创建新建文件everyday-uwsgi.ini ,将项目的uwsgi配置文件放在 /etc/uwsgi-ini/
[uwsgi]
# 使用nginx连接时,使用socket
socket=127.0.0.1:8081
# 直接做web服务器,使用http
# http=0.0.0.0:80
# 项目根目录
chdir=/opt/everyday
# 项目中wsgi.py文件的目录,相对于项目根目录
wsgi-file=everyday/wsgi.py
processes=4
threads=2
master=True
#pidfile=uwsgi.pid
# 项目日志文件
daemonize=/var/log/everyday.log
3、修改setting文件
DEBUG = False
ALLOWED_HOSTS = ['*',]
# 导出静态文件的位置
STATIC_ROOT='/var/www/everyday/static/'
4、配置nginx
在 /etc/nginx/sites-available 下创建 everyday.conf文件,内容如下:
其中 uwsgi_pass 127.0.0.1:8081 的IP地址和端口要和uwsgi保持一致
server {
listen 8001;
server_name localhost;
charset utf-8;
#client_max_body_size 75M;
location / {
uwsgi_pass 127.0.0.1:8081;
include /etc/nginx/uwsgi_params;
}
location /static {
alias /var/www/everyday/static/;
}
#location /media {
# alias /path/to/project/media;
#}:
}
5. 静态文件
- 在服务器上创建目录结构“/var/www/everyday/
- 修改目录权限:
sudo chmod 777 /var/www/everyday
3. 创建static目录,注意顺序是先分配权限,再创建目录
mkdir static
4. 收集所有静态文件到static_root指定目录:python manage.py collectstatic
6. 重启nginx和uwsgi
nginx
查看状态:service nginx status
启动:service nginx start
停止:service nginx stop
重启:service nginx restart
uwsgi
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid