nginx + uwsgi + debian部署django

网上有很多类似文章,本文就简述自己的部署过程

环境说明:debian、python3.6 、 Django1.11 

一、运行django项目  启动就不详细赘述了:python3 manage.py runserver 0:8899

二、使用uwsgi提供服务

    1、安装uwsgi : pip3 install uwsgi

    2、启动uwsgi :  uwsgi --http 127.0.0.1:8899 --module project_name.wsgi

    就可以运行你的web项目了,在浏览器输入127.0.0.1:8899访问项目,若能成功访问表示这步部署成功。

三、部署到nginx

    1、安装nginx : apt-get install nginx 

    2、设置nginx 配置文件

        因为/etc/nginx/nginx.conf 配置文件中有默认配置 include /etc/nginx/conf.d/目录下所有.conf配置文件,为了方便管理,在/etc/nginx/conf.d/目录下面创建自己的web项目配置文件,例如新建一个my_site.conf文件,具体配置信息如下:

    server {

    listen 80; #启动的nginx进程监听请求的端口

    server_name localhost; #域名

    error_log /var/log/nginx/project_name/error.log; #nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件

    location / {

        include /etc/nginx/uwsgi_params;

        uwsgi_pass 127.0.0.1:8899; #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口

    }

    #error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;

     location = /50x.html {

        root /usr/share/nginx/html;

   }

    location /static/ {

        alias /var/www/nginx/manage/static/; #设定静态文件所在目录

    }

    location /media/ {

        alias /var/www/nginx/manage/media/; #同样自行设置,要保证目录已经建好

    }

}

配置文件写好后,我们要检查配置文件的正确性:

nginx -t -c /etc/nginx/nginx.conf

  3、同步静态文件到nginx设置的目录下面

    首先在Django项目setting.py中增加 STATIC_ROOT='/var/www/manage/static/

    在命令行执行同步 python manage.py collectstatic自动将所有静态文件复制到nginx索引目录

   4、启动uwsgi

    在django项目目录下 uwsgi --socket 127.0.0.1:8899 --module project_app.wsgi

    5、启动nginx

    启动命令:service nginx start 正常启动后可以访问页面了

四、遇到的问题

    1、问题:nginx connect() failed (111: Connection refused) while connecting to upstream

    原因:php-fpm未安装或未正常启动

    查看PHP进程状态 service php5-fpm status

    未正常运行,修改/etc/php5/fpm/pool.d/www.conf中的listen = 127.0.0.1:9000; 9000

   


 

猜你喜欢

转载自my.oschina.net/u/3625745/blog/1630313
今日推荐