1 配置nginx转发

  1. $ whereis nginx
  2. $ cd /usr/local/nginx/conf
  3. $ vi nginx.conf

  注释掉原来的html请求,增加uwsgi请求。

  1. location / {
  2. # 包含uwsgi的请求参数
  3. include uwsgi_params;
  4. # 转交请求给uwsgi
  5. uwsgi_pass 172.17.0.11:8000;
  6. }

2 修改uwsgi.ini配置

  打开Django工程目录下的Configurations目录中的uwsgi.ini

  如果直接访问uwsgi服务,则在uwsgi.ini中禁用http协议,改为socket协议。

  uwsgi.ini文件内容如下:

  1. # 配置文件:这一行必须有,如果[uwsgi]直接顶行,ubuntu18.04找不到
  2. [uwsgi]
  3. #端口
  4. # 服务器地址,不是外网地址,是服务器的ip地址
  5. socket = 172.17.0.11:8000
  6. # http = 172.17.0.11:8000
  7. # Django工程目录
  8. chdir = /publish/TongHeng
  9. # wsgi的位置
  10. module = TongHeng.wsgi
  11. # 设置一个主进程
  12. master = true
  13. # 开放四个进程
  14. processes = 4
  15. # 每进程开放2个线程
  16. threads = 2
  17. vacuum = true
  18. # 保存uwsgi.pid
  19. pidfile = uwsgi.pid
  20. log-maxsize = 500000000
  21. logto = /tmp/uwsgi.log
  22. buffer-size = 32768
  23. enable-threads = true
  24. reload-mercy = 8
  25. harakiri = 60

3 重启nginx

  1. $ /usr/local/nginx/sbin/nginx -s reload
  2. $ ps -aux | grep nginx

4 启动uwsgi

  1. $ cd /publish/TongHeng
  2. $ uwsgi --ini config/uwsgi.ini
  3. # 停止uwsgi服务
  4. $ uwsgi --stop uwsgi.pid
  5. #重启uwsgi服务
  6. $ uwsgi --reload uwsgi.pid

  在浏览器中访问,此时,再访问8000端口已访问不到了,因为被nginx占用了。而nginx的端口号是80端口。是浏览器默认的端口。所以,直接访问IP+Url即可。

  到此,把nginx和uwsgi的转交完成了,浏览器可以远程访问服务器,但还是不能搜集到静态文件。

5 静态文件配置

5.1 在ubuntu服务器上创建一个目录,用于存储静态文件

  1. $ mkdir /publish/static/

5.2 修改工程配置文件settings.py,设置静态文件路径

  1. STATIC_ROOT='/publish/static'

5.3 搜集静态文件

  在服务器工程根目录下执行命令:

  1. $ python manage.py collectstatic

5.4 修改nginx静态文件配置

  1. $ cd /usr/local/nginx/conf
  2. $ vi nginx.conf

  增加一个转发:

  1. location /static {
  2. # 指定静态文件存放目录
  3. alias /publish/static/;
  4. }

  至此,nginx配置文件就全部配置结束了。

  nignx.conf配置文件的全部内容(包括fastDFS配置,uwsgi配置)如下:

  1. server {
  2. listen 80;
  3. server_name 49.235.75.157;
  4. location /group1/M00 {
  5. root /opt/fdfs/storage;
  6. ngx_fastdfs_module;
  7. }
  8.  
  9. #charset koi8-r;
  10.  
  11. #access_log logs/host.access.log main;
  12.  
  13. #location / {
  14. # root html;
  15. # index index.html index.htm;
  16. #}
  17. location / {
  18. # 包含uwsgi的请求参数
  19. include uwsgi_params;
  20. # 转交请求给uwsgi
  21. uwsgi_pass 172.17.0.11:8000;
  22. #uwsgi_param UWSGI_SCRIPT fastDFS.wsgi;
  23. }
  24. location /static {
  25. # 指定静态文件存放目录
  26. alias /publish/static/;
  27. }

6 重启nginx和uwsgi.ini

  1. $ /usr/local/nginx/sbin/nginx -s reload
  2. $ cd /publish/TongHeng
  3. $ uwsgi --ini config/uwsgi.ini

  再从浏览器访问,可以接收到静态文件了。

09 部署nginx web服务器(转发uwsgi请求)的更多相关文章

  1. 08 部署nginx web服务器(转发fastDFS请求)

    先准备两个文件: fastdfs-nginx-module-master.tar.gz:fastDFS nginx安装包 nginx-1.17.3.tar.gz:nginx安装包 注:这两个包文件要匹 ...

  2. nginx web服务器概念了解 配置

    服务器 服务器 服务器是一种提供高效计算的机器,与普通的PC主机相比,具有可观的稳定性,高并发性,可扩展性. 互联网任何一个应用都是以服务器为基础设施的,没有服务器我们就无法访问网络上的任何内容,只能 ...

  3. nginx web服务器详解1(转)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeloda.blog.51cto.com/2033581/1285332 大 ...

  4. 20步打造最安全的NGINX WEB服务器

    Nginx 是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Wind ...

  5. 构建高效安全的Nginx Web服务器

    一 为什么选择Nginx搭建Web服务器 Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早.Apache HTTP Server(简称Apache)是世界使用排 ...

  6. asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。

    "Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值." 这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法. 方法1: 修 ...

  7. asp.net 问题:Web 服务器上的请求筛选模块被配置为 拒绝包含的查询字符串过长的请求

    发现问题: post请求,在发送一个图片base64编码的字符串时,服务端报这个错误. 报错信息中给出了解决办法: 最可能的原因: Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长. ...

  8. Ext.ux.UploadDialog上传大文件 HTTP 错误 413.1 - Request Entity Too Large Web 服务器拒绝为请求提供服务,因为该请求实体过大。Web 服务器无法为请求提供服务,因为它正尝试与客户证书进行协商,但请求实体过大。

    问题描述 问题:HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 原因:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(I ...

  9. 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应

    作者简介   李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...

随机推荐

  1. LAMP环境搭建+配置虚拟域名

    Centos下PHP,Apache,Mysql 的安装 安装Apache yum -y install httpd systemctl start httpd 添加防火墙 firewall-cmd - ...

  2. LeetCode 面试题 02.02. 返回倒数第 k 个节点

    题目链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci/ 实现一种算法,找出单向链表中倒数第 k 个节点.返回该节点的 ...

  3. Java语言与C++语言区别

    最近有点空闲时间,学习了Java语言.教材<Java简明教程>第四版,清华大学出版社.本人以前有C++基础,所以主要总结下两者区别. 一.基本类型和运算 1.布尔常量,true和false ...

  4. Sikerio --《只狼》

    “狼啊,替我断绝不死吧”

  5. WPF 释放嵌入资源

    资源文件名称:默认命名空间.文件名 || 默认命名空间.文件夹名.文件名 /// <summary> /// 提取文件 /// </summary> /// <param ...

  6. 04-SV连接设计和测试平台

    1.验证一个设计的步骤: 生成输入激励,捕捉输出响应,决定对错和进度 2.连接设计和测试平台 信号连接:SystemVerilog已经扩展了传统的reg类型,可以像wire那样用来连接模块,它的新名字 ...

  7. mysql 基础sql语法总结(一)DDL

    mysql数据库: SQL数据库语言可分为四部分: 1.DDL:对数据库或表的进行操作结构操作 2.DML:对表的记录进行更新(增.删.改)* 3.DQL:对表的内容进行查询 **(重难点) 4.DC ...

  8. 程序里面带有浮点数,默认会自动转换为double类型存储

    带有浮点数,默认会转换为double类型存储. #include "common.h" #include <stdio.h> #include <stdlib.h ...

  9. 虚拟机出问题 Oh no,something has gone wrong! 解决方法

    系统出错时ctrl+alt+F2 进入命令模式root输入密码yum update...等待输入 y...等待终于好了

  10. phpstorm安装bootstrap插件

    一个插件可以很好的让我们工作节约时间 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 We ...