09 部署nginx web服务器(转发uwsgi请求)
1 配置nginx转发
- $ whereis nginx
- $ cd /usr/local/nginx/conf
- $ vi nginx.conf
注释掉原来的html请求,增加uwsgi请求。
- location / {
- # 包含uwsgi的请求参数
- include uwsgi_params;
- # 转交请求给uwsgi
- uwsgi_pass 172.17.0.11:8000;
- }
2 修改uwsgi.ini配置
打开Django工程目录下的Configurations目录中的uwsgi.ini
如果直接访问uwsgi服务,则在uwsgi.ini中禁用http协议,改为socket协议。
uwsgi.ini文件内容如下:
- # 配置文件:这一行必须有,如果[uwsgi]直接顶行,ubuntu18.04找不到
- [uwsgi]
- #端口
- # 服务器地址,不是外网地址,是服务器的ip地址
- socket = 172.17.0.11:8000
- # http = 172.17.0.11:8000
- # Django工程目录
- chdir = /publish/TongHeng
- # wsgi的位置
- module = TongHeng.wsgi
- # 设置一个主进程
- master = true
- # 开放四个进程
- processes = 4
- # 每进程开放2个线程
- threads = 2
- vacuum = true
- # 保存uwsgi.pid
- pidfile = uwsgi.pid
- log-maxsize = 500000000
- logto = /tmp/uwsgi.log
- buffer-size = 32768
- enable-threads = true
- reload-mercy = 8
- harakiri = 60
3 重启nginx
- $ /usr/local/nginx/sbin/nginx -s reload
- $ ps -aux | grep nginx
4 启动uwsgi
- $ cd /publish/TongHeng
- $ uwsgi --ini config/uwsgi.ini
- # 停止uwsgi服务
- $ uwsgi --stop uwsgi.pid
- #重启uwsgi服务
- $ uwsgi --reload uwsgi.pid
在浏览器中访问,此时,再访问8000端口已访问不到了,因为被nginx占用了。而nginx的端口号是80端口。是浏览器默认的端口。所以,直接访问IP+Url即可。
到此,把nginx和uwsgi的转交完成了,浏览器可以远程访问服务器,但还是不能搜集到静态文件。
5 静态文件配置
5.1 在ubuntu服务器上创建一个目录,用于存储静态文件
- $ mkdir /publish/static/
5.2 修改工程配置文件settings.py,设置静态文件路径
- STATIC_ROOT='/publish/static'
5.3 搜集静态文件
在服务器工程根目录下执行命令:
- $ python manage.py collectstatic
5.4 修改nginx静态文件配置
- $ cd /usr/local/nginx/conf
- $ vi nginx.conf
增加一个转发:
- location /static {
- # 指定静态文件存放目录
- alias /publish/static/;
- }
至此,nginx配置文件就全部配置结束了。
nignx.conf配置文件的全部内容(包括fastDFS配置,uwsgi配置)如下:
- server {
- listen 80;
- server_name 49.235.75.157;
- location /group1/M00 {
- root /opt/fdfs/storage;
- ngx_fastdfs_module;
- }
- #charset koi8-r;
- #access_log logs/host.access.log main;
- #location / {
- # root html;
- # index index.html index.htm;
- #}
- location / {
- # 包含uwsgi的请求参数
- include uwsgi_params;
- # 转交请求给uwsgi
- uwsgi_pass 172.17.0.11:8000;
- #uwsgi_param UWSGI_SCRIPT fastDFS.wsgi;
- }
- location /static {
- # 指定静态文件存放目录
- alias /publish/static/;
- }
6 重启nginx和uwsgi.ini
- $ /usr/local/nginx/sbin/nginx -s reload
- $ cd /publish/TongHeng
- $ uwsgi --ini config/uwsgi.ini
再从浏览器访问,可以接收到静态文件了。
09 部署nginx web服务器(转发uwsgi请求)的更多相关文章
- 08 部署nginx web服务器(转发fastDFS请求)
先准备两个文件: fastdfs-nginx-module-master.tar.gz:fastDFS nginx安装包 nginx-1.17.3.tar.gz:nginx安装包 注:这两个包文件要匹 ...
- nginx web服务器概念了解 配置
服务器 服务器 服务器是一种提供高效计算的机器,与普通的PC主机相比,具有可观的稳定性,高并发性,可扩展性. 互联网任何一个应用都是以服务器为基础设施的,没有服务器我们就无法访问网络上的任何内容,只能 ...
- nginx web服务器详解1(转)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeloda.blog.51cto.com/2033581/1285332 大 ...
- 20步打造最安全的NGINX WEB服务器
Nginx 是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Wind ...
- 构建高效安全的Nginx Web服务器
一 为什么选择Nginx搭建Web服务器 Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早.Apache HTTP Server(简称Apache)是世界使用排 ...
- asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
"Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值." 这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法. 方法1: 修 ...
- asp.net 问题:Web 服务器上的请求筛选模块被配置为 拒绝包含的查询字符串过长的请求
发现问题: post请求,在发送一个图片base64编码的字符串时,服务端报这个错误. 报错信息中给出了解决办法: 最可能的原因: Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长. ...
- Ext.ux.UploadDialog上传大文件 HTTP 错误 413.1 - Request Entity Too Large Web 服务器拒绝为请求提供服务,因为该请求实体过大。Web 服务器无法为请求提供服务,因为它正尝试与客户证书进行协商,但请求实体过大。
问题描述 问题:HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 原因:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(I ...
- 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...
随机推荐
- LAMP环境搭建+配置虚拟域名
Centos下PHP,Apache,Mysql 的安装 安装Apache yum -y install httpd systemctl start httpd 添加防火墙 firewall-cmd - ...
- LeetCode 面试题 02.02. 返回倒数第 k 个节点
题目链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci/ 实现一种算法,找出单向链表中倒数第 k 个节点.返回该节点的 ...
- Java语言与C++语言区别
最近有点空闲时间,学习了Java语言.教材<Java简明教程>第四版,清华大学出版社.本人以前有C++基础,所以主要总结下两者区别. 一.基本类型和运算 1.布尔常量,true和false ...
- Sikerio --《只狼》
“狼啊,替我断绝不死吧”
- WPF 释放嵌入资源
资源文件名称:默认命名空间.文件名 || 默认命名空间.文件夹名.文件名 /// <summary> /// 提取文件 /// </summary> /// <param ...
- 04-SV连接设计和测试平台
1.验证一个设计的步骤: 生成输入激励,捕捉输出响应,决定对错和进度 2.连接设计和测试平台 信号连接:SystemVerilog已经扩展了传统的reg类型,可以像wire那样用来连接模块,它的新名字 ...
- mysql 基础sql语法总结(一)DDL
mysql数据库: SQL数据库语言可分为四部分: 1.DDL:对数据库或表的进行操作结构操作 2.DML:对表的记录进行更新(增.删.改)* 3.DQL:对表的内容进行查询 **(重难点) 4.DC ...
- 程序里面带有浮点数,默认会自动转换为double类型存储
带有浮点数,默认会转换为double类型存储. #include "common.h" #include <stdio.h> #include <stdlib.h ...
- 虚拟机出问题 Oh no,something has gone wrong! 解决方法
系统出错时ctrl+alt+F2 进入命令模式root输入密码yum update...等待输入 y...等待终于好了
- phpstorm安装bootstrap插件
一个插件可以很好的让我们工作节约时间 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 We ...