-- 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部署相关推荐

  1. Django+Linux+Uwsgi+Nginx项目部署文档

    Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...

  2. django+uwsgi+nginx部署

    最近线上部署运维工单系统,使用django+uwsgi+nginx部署,发现这篇文章,很详细,觉得不错,转载一下: 写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号, ...

  3. 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 ...

  4. 【django云服务器部署】django+uwsgi+nginx 部署的完整流程

    本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...

  5. Centos django+uwsgi+nginx部署

    Centos django+uwsgi+nginx部署 安装Python CentOS 7 Linux发行版默认包含Python 2.但是,Python 2将于2020年1月1日停产.尽管一些遗留应用 ...

  6. Ubuntu下Django+uWSGI+nginx部署

    本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...

  7. uwsgi+nginx部署django项目(有图原理的详细展示的)

    1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2  ...

  8. python nginx部署_Python 应用 uWSGI + Nginx 部署

    新建一个 Django 应用部署 •使用 py 文件启动 uWSGI def application(env, start_response):start_response('200 ok', [(' ...

  9. Python 应用 uWSGI + Nginx 部署

    新建一个 Django 应用部署 •使用 py 文件启动 uWSGI def application(env, start_response): start_response('200 ok', [( ...

最新文章

  1. 修改代码150万行!Apache Flink 1.9.0做了这些重大修改!(附链接)
  2. 【python图像处理】python绘制极坐标图
  3. 【福利】思科/华为/华三模拟器软件分享,附下载链接
  4. js opacity0点击_javascript opacity兼容性随笔
  5. 揭秘 SIGCOMM 20‘ 论文:阿里云网络洛神 VTrace 系统
  6. Java并发编程:ThreadLocal
  7. apache virtualhost 访问不了_六星教育:你为什么当不了架构师?除技术,你还需具备这些能力...
  8. 系统调用之creat
  9. 计算机web前端岗位职责,web前端开发工程师岗位的职责
  10. 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
  11. DDR2芯片内部终结ODT技术解析
  12. EasyPlayer流媒体播放器播放HLS视频,起播速度慢的技术优化
  13. EV SSL证书和普通证书的区别
  14. 呀,要解析的xml文件有1G大,怎么办?
  15. Unity向量投影使用
  16. quartz 每月一次_Quartz 定时任务框架详解
  17. CSS3中的transition和transform属性
  18. c语言指针关键字,C语言关键字const和指针的结合使用
  19. 东方信息苑c语言,上海市东方社区信息苑一览表.PDF
  20. 机器学习-增量训练方法

热门文章

  1. windows蜜汁调音
  2. 麻省理工学院推出数据美国大数据可视化工具
  3. 分布式事务及分布式系统一致性解决方案
  4. 《你必须知道的.NET》--简易不简单:认识枚举(Ⅲ)
  5. .bash_profile和.bashrc的什么差别
  6. 深入推荐引擎相关算法 - 协同过滤
  7. Host-Base、LAN-Base、LAN-Free、Server-Free存储备份结构
  8. 一个肥皂泡的破灭(组图)
  9. linux下 java 压缩文件夹,java压缩文件夹linux下乱码问题
  10. yolov 论文发表在什么期刊上_论文发表期刊发表论文研究方法