Django+uwsgi+nginx项目服务器部署

部署前推荐先安装虚拟环境,可以参考作者的《python虚拟环境安装与配置

环境配置

导出环境:

pip freeze>pip.txt

安装环境:

pip install -r pip.txt

更改settings.py

DEBUG = False
ALLOW_HOSTS=[‘*’]

安装uwsgi

pip install uwsgi

配置uwsgi,在项目中(即manage.py目录下)新建文件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 --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid

安装nginx

安装命令:

sudo apt-get install nginx

配置nginx:
修改ect/nginx/sites-enabled/default文件

listen IP地址:80 default_server;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #注释掉下面的一行
        #try_files $uri $uri/ =404;
        #添加下面的内容
        include uwsgi_params;
        uwsgi_pass IP地址:8000;
    }
    #添加下面的内容
    location /static {
        alias /var/www/项目名称/static/;    
    }

启动:sudo service nginx start
停止:sudo service nginx stop

在根目录下的var/www/创建与自己项目名称相同的文件夹

项目名称/static

修改权限

扫描二维码关注公众号,回复: 1944301 查看本文章

sudo chmod 777 static

收集所有静态文件到static_root指定目录:

python manage.py collectstatic
重启nginx、uwsgi

猜你喜欢

转载自blog.csdn.net/hotchange/article/details/80159361