ubuntu部署django(nginx + uwsgi)
uwsgi
安装uwsgi:
pip install uwsgi
安装uwsgi出现异常的参考https://www.jianshu.com/p/e0f11287a480
配置uwsgi,在项目中新建uwsgi.ini文件,并编写如下配置:
[uwsgi]
socket=外网ip:端口(使用nginx连接时, 使用socket)
http=外网ip:端口(直接做web服务器, 使用http)
chdir=项目根目录
wsgi-file=项目中wsgi.py文件的目录, 相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
uwsgi命令:
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
nginx
安装nginx:
sudo apt-get install nginx
nginx命令:
查看版本: sudo nginx -v
启动: sudo nginx
停止: sudo nginx -s stop
重启: sudo nginx -s reload
编辑nginx,编辑/etc/nginx/nginx.conf文件:
在http下新建server:
server {
listen 8001; //服务的端口号 服务通过nginx与uwsgi通信来启动
server_name 192.168.xx.xx; //nginx代理的ip
charset utf-8;
# max upload size
client_max_body_size 10M;
# send all non-media requests to the Django server.
location / {
uwsgi_pass my_project;
include /etc/nginx/uwsgi_params;
}
location /static/ {
root /home/ubuntu/my_project;
}
}
静态文件:
修改setting.py文件:
STATIC_ROOT = "静态文件所在的目录"
STATIC_URL = "静态文件所在的文件夹"
修改静态文件目录的权限:
chomd 777 目录路径
收集所有的静态文件到static_root指定的目录:python manage.py collectstatic
重启nginx、uwsgi