Django项目 Nginx+uwsgi后端部署文档

1,测试项目是否正常运行

使用Django自带的server测试项目正确性:

python manage.py runserver 0.0.0.0:8080

如可访问正常,则项目正常。若出现无法连接的情况:

  1. 检查服务器安全组的所需要的端口是否开放

    – 如果没有开放
    ##WARNGING:如果没有开放端口,就算在后面nginx配置完成,页面也将进不去

    1.开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

    2.保存:/etc/rc.d/init.d/iptables save

    3.重启服务:/etc/init.d/iptables restart

    4.查看端口是否开放:/sbin/iptables -L -n

  2. 检查项目settings.py文件中ALLOWED_HOSTS = []字段改为ALLOWED_HOSTS = ['*']允许所有连接

  3. 将项目文件放在/home/目录下

2,安装nginx

关闭Django自带server,安装Nginx

sudo apt-get install nginx

Nginx成功安装后会在80端口显示默认页面,如能看见默认页面,即为安装成功.

3.安装uwsgi

进入项目虚拟环境.安装uwsgi

source 虚拟环境路径
pip install uwsgi

使用uwsgi拉起项目

uwsgi --http:8080 --module report.wsgi

4,收集静态资源

在setting.py设置文件里面设置STATIC_ROOT=收集静态存放的路径

然后在manage目录下执行

python manage.py collectstatic

5,创建uwsgi配置文件

在项目目录下创建mysite_uwsgi.ini文件,内容如下:

[uwsgi]
# Django-related settings
# 这边是设置wsgi的端口,要和下面的nginx设置uwsgi的端口一致
# 这边可以只设置端口,只设置端口默认ip是127.0.0.1
socket = :8002
# the base directory (full path)
chdir = /home/项目路径
# django自带wsgi.py的文件路径
module = wsgi文件路径
# process-related settings
# master
master = true
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true
plugin python = true
# set log file path
# 日志存放的路径
daemonize = 日志存放的路径


拉起项目

uwsgi --ini mysite_uwsgi.ini

6,配置Nginx

进入Nginx的目录

cd /etc/nginx

先删除80端口的默认页面(可选操作,或者更改defult文件,新建自定义的配置文件)

rm sites-enabled/default

sites-available下创建新的配置文件(自定义名称)`

    cd sites-available/
    vim

配置文件内容如下

server{
    listen    开放的端口;
    # 服务器IP地址
    server_name  服务器IP;


    # Django
    # 这是固定的对接uwsgi ip和端口
    location / {
        uwsgi_pass  127.0.0.1:8002;
        include /项目路径/uwsgi_params;
    }

	# 这边是静态文件访问的url地址和对应的静态文件的路径,css路径为/static/
    #Django static
   
    #location url {
    #    alias url对应的文件路径;
    #}
    # django收集静态文件后的css等的路径
    location /static/ {
        alias 收集静态文件的所在的路径;
    }

}

然后进入sites-enabled/目录,链接available文件夹中的文件

    cd ../sites-enabled/
    sudo ln -s /etc/nginx/sites-available/自定义名称 自定义名称

拷贝uwsgi_params文件至项目目录下:

    cd ..
    cp uwsgi_params 项目路径
    

7,重启Nginx

sudo /etc/init.d/nginx restart

8,到此为一些常用操作命令

    sudo /etc/init.d/nginx stop
    sudo /etc/init.d/nginx start
    # 强制杀死uwsgi进程
    pkill -f uwsgi -9
    # 后台启动uwsgi
    uwsgi -d --ini mysite_uwsgi.ini
    # 查看nginx
    ps –ef | grep nginx
发布了5 篇原创文章 · 获赞 5 · 访问量 129

猜你喜欢

转载自blog.csdn.net/lzf869520115/article/details/103803480
今日推荐