django 和 nginx 通过 uwsgi 来处理请求,类似于 nginx + php-fpm + php

安装nginx

安装配置uwsgi

pip install uwsgi

回想php-fpm安装完直接启动就完事了,好像只要配置php的路径

uwsgi的启动需要一大堆参数,可以写好一个配置文件 uwsgi_conf.ini,下面是一个demo:

  1. # uwsig使用配置文件启动
  2. [uwsgi]
  3. # 项目目录
  4. chdir=/var/www/path/to/django/
  5. # 指定项目的application(django 目录的 wsgi.py)
  6. module=pics.wsgi:application
  7. # 指定sock的文件路径
  8. socket=/var/www/path/to/django/script/uwsgi.sock
  9. # 进程个数
  10. workers=5
  11. pidfile=/var/www/path/to/django/script/uwsgi.pid
  12. # 指定IP端口
  13. http=127.0.0.1:80
  14. # 指定静态文件
  15. static-map=/static=/var/www/path/to/django/static
  16. # 启动uwsgi的用户名和用户组
  17. uid=root
  18. gid=root
  19. # 启用主进程
  20. master=true
  21. # 当服务停止的时候自动移除unix Socket和pid文件
  22. vacuum=true
  23. # 序列化接受的内容,如果可能的话
  24. thunder-lock=true
  25. # 启用线程
  26. enable-threads=true
  27. # 设置自中断时间
  28. harakiri=30
  29. # 设置缓冲
  30. post-buffering=4096
  31. # 设置日志目录
  32. daemonize=/var/www/path/to/django/script/uwsgi.log

配置文件解释:

  • 通过 uwsgi [xxx.ini]来启动服务
  • pid, sock, log 三个文件跟这个 ini 文件可以统一在 django 目录下面新建一个script 文件夹存放
  • nginx 是读取sock 来连接 uwsgi
  • pid 文件非常重要, uwsgi 通过 uwsgi --stop [xxx.pid]uwsgi --reload [xxx.pid] 来停止和重启服务
  • 因为uwsgi 是给nginx 做桥接,ip 为127.0.0.1. 我的http端口不是80,因此这里可以使用80

启动后,可以通过http://127.0.0.1来测试访问 django. (我在linux直接curl 127.0.0.1测试)

nginx.conf 配置 uwsgi

本机配置了一个php服务,想通过子路径/pics来访问 django:

  1. # 指定项目路径uwsgi
  2. location /pics {
  3. include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
  4. uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
  5. uwsgi_pass unix:/var/www/path/to/django/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给
  6. }
  7. # 指定静态文件
  8. location /pics/static/ {
  9. alias /var/www/path/to/django/static/;
  10. index index.html index.htm;
  11. }

重启nginx nginx -s reload ,大功告成

[Django笔记] uwsgi + nginx 配置的更多相关文章

  1. Django 部署 uwsgi + nginx + supervisor

    Django 部署 uwsgi + nginx + supervisor https://hacpai.com/article/1460607620615?p=1&m=0 zonghua • ...

  2. CentOS7 + Django2.1 + uwsgi + nginx配置

    假设已经可以运行Django项目,可以runserver.也已经安装了uwsgi和nginx 现在需要进行配置. 刚开始进行uwsgi测试就不行,提示bash:'uwsgi' Command not ...

  3. 最简单的uwsgi+nginx配置多个django站点

    1. nginx.conf http{ server { listen       80; server_name  www.web1.com ....... location / { uwsgi_p ...

  4. 「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录

    转自:http://www.usday.cn/blog/51 部署前的准备: 1. 在本地可以运行的django项目 2. 一台云服务器,这里选用Centos系统 开始部署: 首先在本地导出项目需要的 ...

  5. ubuntu 部署Django项目+uwsgi+Nginx

    1.部署框架 Nginx负责静态资源请求,并且把无法处理的请求转发至uwsgi处理 2.安装并配置Nginx 2.1安装 apt-get install nginx (如果安装失败请先升级apt-ge ...

  6. nginx笔记 安装nginx 配置 反向代理 多虚拟主机

    1,检测linux上是否 通过yum安装了nginxrpm   -qi  nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...

  7. 经过各种坑之后centos+ uwsgi + nginx +django 终于配好了

    https://pypi.python.org/pypi/setuptools#downloads https://www.python.org/ftp/python/ 开机 加入 uwsgi ngi ...

  8. Django + Uwsgi + Nginx 的生产环境部署实战

    目录 Django + Uwsgi + Nginx 的生产环境部署实战 安装Uwsgi 一.使用命令来启动django项目 二.使用配置文件来启动我们的Django项目 安装Nginx 配置Nginx ...

  9. HttpRunnerManager接口测试平台部署在服务器上(Centos + python3.6 + Mysql5.7 + uwsgi + nginx)

    整个思路:HttpRunnerManager + python3.6 + Mysql5.7 + uwsgi + nginx 安装依赖环境,将源代码传到服务器,修改settings,增加uwsgi配置, ...

随机推荐

  1. php 数据处理--合并,拆分,追加,去重

    1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加. 示例代码: <?php $arr = ...

  2. Tomcat_异常_01_Setting property 'source' to 'org.eclipse.jst.jee.server:AWeiXin_QiYe_Demo' did not find a matching property

    关于解决方法: 1.解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题 2.eclipse中server location为灰色 ...

  3. PHP使用http_build_query()构造URL字符串的方法

    http_build_query http_build_query -- 生成 url-encoded 之后的请求字符串描述string http_build_query ( array formda ...

  4. Javascript-- jQuery事件篇(3)

    on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理.翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个&quo ...

  5. 如果你的NavigationDrawer里面的Item没有响应,Drawer不能左滑关闭

    如果你的NavigationDrawer里面的Item没有响应,Drawer不能左滑关闭,应该是因为你没有把主要内容放在DrawerLayout标签下的第一位. The main content vi ...

  6. ffmpeg推流命令参数记录

    列出我们本机的设备:ffmpeg -list_devices true -f dshow -i dummy .\ffmpeg -r 25 -f dshow -s 640*480 -i video=&q ...

  7. ONVIF测试方法及工具

    设备是否支持ONVIF验证1 ONVIF Test Tool安装1.1PC安装环境要求:装有Microsoft .Net Framework 3.5或以上版本.1.2安装源文件请见:ONVIF Con ...

  8. 【VisualStudio】软件安装中出现的问题

    针对2017版本安装 1. 安装windows通用平台工具出错 报错信息:15605 FQ安装. 2.  LINK : fatal error LNK1104: 无法打开文件“gdi32.lib” 在 ...

  9. 【Lintcode】364.Trapping Rain Water II

    题目: Given n x m non-negative integers representing an elevation map 2d where the area of each cell i ...

  10. tiny4412sdk-1506原生uboot卡死

    于16年2月多购买了tiny4412sdk-1506,用友善之臂(以下简称友善)的superboot是可以进入linux,而用三星原始的uboot_tiny4412-20130729则不可以.出现现象 ...