关于nginx的使用感想
感慨:
最近老板说要转型NodeJs,所以接连用ThinkJS框架写了2个项目(不过通篇弱类型不用考虑class是真的爽啊。。。)。那天老板又正好让我看看Ngxin的负载均衡和静态资源处理,那现在就写一下学习记录。(之前那个CIO项目倒是用过Ngxin来指向代理的)
1、开启一个项目没有使用Nginx的时候的请求数据如下(端口为8670):

第一个请求很明显是控制器请求,之后的借分别是js、css和img的请求。共计8个请求
2、这个时候我在开启一个端口为8671的服务,并将Nginx做成一下配置后开启

( BlanceServers为采取的负载均很策略名称,在server 的proxy_pass里面选择相应的策略即可 ,weight采用的是权重的模式 )
这个时候访问服务器的8602端口,两个启动的服务日志分别如下:


和第一个阶段的对比一下就可以很明显的发现两个端口各分配了4个请求
权重(weight) 只是负载均衡的一种策略,还有根据IP、端口轮询等等方式。
3、静态资源的访问
这个效果还是很明显的,我们先把权重策略关闭,仅开一个8670的服务,然后把proxy_pass指向8670。
然后在nginx配置中添加如下内容

这个时候先不要开启Nginx,并在首页添加一个很大的静态资源(我这采用的是图片)

很明显可以看到这个1.1MB的图片加载了2.27s,这个不是第一次访问,我刷新过很多次之后的结果。
这个是服务的请求日志:

然后我们将修改好配置内容的Nginx重启并访问8602端口,结果如下:

(这个是我请求了多次)

差异很明显了。
总结
nodejs本身就是一个单线程的,只是thinkjs框架采用了Master-worker轮询的机制,一个静态资源的请求也是会占用一个work的,而且nginx对于静态资源的请求还有压缩协议处理。所以静态资源还是用nginx来处理吧~
后记:我预计明年还是要回无锡的,但是网上看了一下感觉Node的岗位完全和.NET的数量无法比,更何况现在Core出来了。我觉得我以后的发展路线还是跟着微软吧~
关于nginx的使用感想的更多相关文章
- [原]node.js使用感想
		
最近尝试了使用node.js,但因为不是太深入(小项目,还没做完),所以不能谈心得谈经验,就来谈谈使用感想. node.js和以往的cgi接口的服务器+cgi程序(如apache+phpmod)中的单 ...
 - 两篇文章带你走入.NET Core 世界:Kestrel+Nginx+Supervisor 部署上云服务器(二)
		
背景: 上一篇:两篇文章带你走入.NET Core 世界:CentOS+Kestrel+Ngnix 虚拟机先走一遍(一) 已经交待了背景,这篇就省下背景了,这是第二篇文章了,看完就木有下篇了. 直接进 ...
 - 生产环境中nginx既做web服务又做反向代理
		
一.写对于初入博客园的感想 众所周知,nginx是一个高性能的HTTP和反向代理服务器,在以前工作中要么实现http要么做反向代理或者负载均衡.尚未在同一台nginx或者集群上同时既实现HTTP又实现 ...
 - accept_mutex与性能的关系 (nginx)
		
注:运行环境CentOS 6+ 背景 在对启动了20个worker的nginx进行压力测试的时候发现:如果把配置文件中event配置块中的accept_mutex开关打开(1.11.3版 ...
 - nginx配置反向代理或跳转出现400问题处理记录
		
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
 - 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
		
一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...
 - Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
		
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
 - nginx+php的使用
		
原文来自:windows下配置nginx+php环境 按照他的步骤走,亲测可用! 但是这里他后面说的根目录可能有些人有点懵. 其实在设置的时候就设置了: 网站根目录就是www这个目录,如果没创建请自行 ...
 - nginx的使用
		
1.nginx的下载 解压后文件目录: 2.nginx的常用命令 nginx -s stop 强制关闭 nginx -s quit 安全关闭 nginx -s reload 改变配置文件的时候,重 ...
 
随机推荐
- 大话设计模式--工厂方法模式 Factory Method -- C++实现
			
1. 工厂方法模式 定义一个用于创建对象的接口, 让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类. 和简单工厂模式相比: A: 简单工厂模式最大的优点在于工厂类中包含有必要的逻辑判断, ...
 - java读取pdf文档
			
import java.io.*;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.pdfparser.PDFParser;import o ...
 - idea中java异常
			
1. Compilation failed: internal java compiler error 解决方案:File-->Setting...-->Build,Execution,D ...
 - 机器学习(十九)— xgboost初试kaggle
			
1.官网下载kaggle数据集Homesite Competition数据集,文件结构大致如下: 2.代码实战 #Parameter grid search with xgboost #featur ...
 - POJ 3126 Prime Path(BFS算法)
			
思路:宽度优先搜索(BFS算法) #include<iostream> #include<stdio.h> #include<cmath> #include< ...
 - 【leetcode刷题笔记】Gas Station
			
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
 - mongodb与mysql的命令对比
			
mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...
 - [原]NYOJ-字符串替换-113
			
大学生程序代写 /*http://acm.nyist.net/JudgeOnline/problem.php?pid=113 字符串替换 时间限制:3000 ms | 内存限制:65535 KB ...
 - BZOJ4676 Xor-Mul棋盘
			
传送门 题目大意懒得写了,题目说的挺明白的了 题解 主要的难点在于异或意义下的最大值和很玄学,但不难发现这道题中让你定义的$D_{i,j}$只参与异或运算,所以我们可以逐位进行讨论.所以我们每一位就只 ...
 - bzoj 2553: [BeiJing2011]禁忌 AC自动机+矩阵乘法
			
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2553 题解: 利用AC自动机的dp求出所有的转移 然后将所有的转移储存到矩阵中,进行矩阵 ...