Django项目 Nginx+uwsgi后端部署文档
2020-04-23 11:14
549 查看
1,测试项目是否正常运行
使用Django自带的server测试项目正确性:
python manage.py runserver 0.0.0.0:8080
如可访问正常,则项目正常。若出现无法连接的情况:
-
检查服务器安全组的所需要的端口是否开放
– 如果没有开放
##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
-
检查项目
settings.py
文件中ALLOWED_HOSTS = []
字段改为ALLOWED_HOSTS = ['*']
允许所有连接 -
将项目文件放在/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
- 收藏
- 分享
- 文章举报
相关文章推荐
- 从零开始搭建个人网站(6)nginx+uWSGI部署Django项目(上)
- 关于uWSGI+nginx+django项目的部署
- 通过uwsgi和nginx部署django项目
- 基于Nginx和uWSGI在Ubuntu上部署Django项目
- centos7下通过uwsgi+nginx+django将项目部署到服务器
- 跨过Nginx上基于uWSGI部署Django项目的坑
- Django学习笔记五:通过nginx+uwsgi部署Django项目(暂时静态文件没有部署上去)
- nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4。
- nginx+uwsgi部署django项目
- 阿里云(ubuntu)下使用nginx、uwsgi部署django项目
- 转一篇NGINX+UWSGI+PYTHON+DJANGO部署文档
- django+uwsgi+nginx项目部署
- 使用uWSGI+nginx部署Django项目
- django项目的生产环境部署,利用nginx+uwsgi
- 在阿里ECS上采用Nginx+UWSGI部署Django项目
- Ubuntu下Django+uwsgi+nginx项目部署
- Django + Uwsgi + Nginx 的生产环境部署项目知识点
- CentOS7.2 nginx和uwsgi部署django项目步骤:
- 使用Nginx+uwsgi部署Django项目
- 基于nginx和uWSGI在Ubuntu系统上部署Django项目