Django扩展 —— uwsgi+nginx部署
-- uwsgi+nginx部署(django)
-- 服务器环境配置
-- 导出虚拟环境的所有包
pip freeze > list.txt
-- 通过ftp软件将项目以及list.txt文件传到服务器
-- 安装并创建虚拟环境
sudo apt-get install python-virtualenv
sudo easy_install virtualenvwrapper
mkvirtualenv 虚拟环境
-- 在虚拟环境中安装所有的包
workon 虚拟环境
pip install -r list.txt
-- 更改settings.py中的debug设置
DEBUG = False
ALLOWED_HOSTS = ['*']
1.uwsgi
1.1 wsgi规范(python web server gateway interface)
# >> 相当于python3 manage.py runserver
# web服务器与python程序之间的接口;
1.2 uwsgi实现wsgi所有接口的一个服务器;
1.3 安装uWSGI
pip install uwsgi
1.4 配置uWSGI,在项目中新建uwsgi.ini
1.4.1 配置:
[uwsgi]
# socket=外网ip:端口(使用nginx连接时,使用socket)
http= 127.0.0.1:8000 # 外网ip:端口(直接做web服务器,使用http)
chdir= '' # 项目根目录
wsgi-file= '' # 项目中wsgi.py文件的目录,相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
1.4.2 启动:uwsgi --ini uwsgi.ini
1.4.3 停止:uwsgi --stop uwsgi.pid
1.4.4 重启:uwsgi --reload uwsgi.pid
1.4.5 使用http协议查看网站运行情况,运行正常,但是静态文件无法加载
2.nginx
-- 作用
1.负载均衡;多台服务器轮流处理请求;
2.反向代理;请求nginx服务器,再转向我们的服务器;隐藏真实服务器;
-- 实现构架
# 客户端请求nginx,再由nginx请求uwsgi,运行django框架下的python代码;
2.1 安装nginx
sudo apt-get nginx
# 或者下载压缩文件:
# 解压缩:
# tar zxvf nginx-1.6.3.tar.gz
# 进入nginx-1.6.3目录依次执行如下命令进行安装:
# ./configure
# make
# sudo make install
2.2 默认安装到/usr/local/nginx目录,进入此目录执行命令
2.3 查看版本:sudo sbin/nginx -v
2.4 启动:sudo sbin/nginx
2.5 停止:sudo sbin/nginx -s stop
2.6 重启:sudo sbin/nginx -s reload
2.7 通过浏览器查看nginx运行结果
2.8 指向uwsgi项目:编辑conf/nginx.conf文件
# sudo gedit conf/nginx.conf
# 在server下添加新的location项,指向uwsgi的ip与端口(请求路径)
# location / {
# include uwsgi_params;将所有的参数转到uwsgi下
# uwsgi_pass 192.168.196.128:8080 # uwsgi的ip与端口;
# }
2.9 修改uwsgi.ini文件,启动socket,禁用http
# socket=127.0.0.1:8000
# 重启nginx、uwsgi
# sudo sbin.ngix / uwsgi --ini uwsgi.ini
# 在浏览器中查看项目,发现静态文件加载不正常,接下来解决静态文件的问题
3.静态文件
# 静态文件都会由nginx处理,不会将请求转到uwsgi
3.1 配置nginx的静态项,打开conf/nginx.conf文件,找到server,添加新location
# location /static {
# 转向test5项目下这个路径
# alias /var/www/test5/static/;
# }
3.2 在服务器上创建目录结构“/var/www/test5/”
# test5与项目名称相同;
3.3 修改目录权限
sudo chmod 777 /var/www/test5
3.4 创建static目录,注意顺序是先分配权限,再创建目录
mkdir static # chomod 777 static
3.5 修改settings.py文件
STATIC_ROOT='/var/www/test5/static/' # 用于采集静态文件;
STATIC_URL='/static/'
3.6 收集所有静态文件到static_root指定目录
python manage.py collectstatic
3.7 重启nginx、uwsgi
# /usr/local/nginx
# sudo sbin.ngix / uwsgi --ini uwsgi.ini
转载于:https://blog.51cto.com/13269293/1972368
Django扩展 —— uwsgi+nginx部署相关推荐
- Django+Linux+Uwsgi+Nginx项目部署文档
Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...
- django+uwsgi+nginx部署
最近线上部署运维工单系统,使用django+uwsgi+nginx部署,发现这篇文章,很详细,觉得不错,转载一下: 写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号, ...
- Docker部署Django+Mysql+uWSGI+Nginx Web应用 - 笔记更新2022-01-04
Docker 部署Django+Mysql+uWSGI+Nginx Web应用 Change logs更新记录 2022/1/4 fixed web access problem of wide ar ...
- 【django云服务器部署】django+uwsgi+nginx 部署的完整流程
本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...
- Centos django+uwsgi+nginx部署
Centos django+uwsgi+nginx部署 安装Python CentOS 7 Linux发行版默认包含Python 2.但是,Python 2将于2020年1月1日停产.尽管一些遗留应用 ...
- Ubuntu下Django+uWSGI+nginx部署
本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...
- uwsgi+nginx部署django项目(有图原理的详细展示的)
1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2 ...
- python nginx部署_Python 应用 uWSGI + Nginx 部署
新建一个 Django 应用部署 •使用 py 文件启动 uWSGI def application(env, start_response):start_response('200 ok', [(' ...
- Python 应用 uWSGI + Nginx 部署
新建一个 Django 应用部署 •使用 py 文件启动 uWSGI def application(env, start_response): start_response('200 ok', [( ...
最新文章
- 修改代码150万行!Apache Flink 1.9.0做了这些重大修改!(附链接)
- 【python图像处理】python绘制极坐标图
- 【福利】思科/华为/华三模拟器软件分享,附下载链接
- js opacity0点击_javascript opacity兼容性随笔
- 揭秘 SIGCOMM 20‘ 论文:阿里云网络洛神 VTrace 系统
- Java并发编程:ThreadLocal
- apache virtualhost 访问不了_六星教育:你为什么当不了架构师?除技术,你还需具备这些能力...
- 系统调用之creat
- 计算机web前端岗位职责,web前端开发工程师岗位的职责
- 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
- DDR2芯片内部终结ODT技术解析
- EasyPlayer流媒体播放器播放HLS视频,起播速度慢的技术优化
- EV SSL证书和普通证书的区别
- 呀,要解析的xml文件有1G大,怎么办?
- Unity向量投影使用
- quartz 每月一次_Quartz 定时任务框架详解
- CSS3中的transition和transform属性
- c语言指针关键字,C语言关键字const和指针的结合使用
- 东方信息苑c语言,上海市东方社区信息苑一览表.PDF
- 机器学习-增量训练方法