nginx + uwsgi + debian部署django

网上有不少相似文章,本文就简述本身的部署过程php

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

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

2、使用uwsgi提供服务nginx

    一、安装uwsgi : pip3 install uwsgiweb

    二、启动uwsgi :  uwsgi --http 127.0.0.1:8899 --module project_name.wsgidjango

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

3、部署到nginxapp

    一、安装nginx : apt-get install nginx socket

    二、设置nginx 配置文件php-fpm

        由于/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

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

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

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

   四、启动uwsgi

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

    五、启动nginx

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

4、遇到的问题

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

    缘由:uwsgi未启动服务,不用安装php-fpm服务,更不须要启动php-fpm服务

    将启动uwsgi :  uwsgi --http 127.0.0.1:8899 --module project_name.wsgi 放入supervisor的配置文件(/etc/supervisor/conf.d)内并启动

    参考配置:

            [program:managesite]             command=uwsgi --socket 127.0.0.1:8899 --module BackStage.wsgi             directory=/home/username/project/manage     #django项目绝对目录             startsecs=0             stopwaitsecs=0             autostart=true             autorestart=true

相关文章
相关标签/搜索