您的位置:首页 > 运维架构 > Nginx

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

2020-04-23 11:14 549 查看

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
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
py869520115 发布了7 篇原创文章 · 获赞 6 · 访问量 1077 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: