关于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 改变配置文件的时候,重 ...
随机推荐
- 算法(Algorithms)第4版 练习 2.1.4
E A S Y Q U E S T I O N A E S Y Q U E S T I O N A E S Y Q U E S T I O N A E S Y Q U E S T I O N A E ...
- mysql 如何创建索引
mysql 如何创建索引 一.总结 一句话总结:MySQL中可以使用alter table这个SQL语句来为表中的字段添加索引. 使用alter table语句来为表中的字段添加索引的基本语法是:AL ...
- django 链接地址匹配流程
前提: 代码结构 步骤一: 下面为某个网页的链接地址 <body> {% if latest_article_list %} <ul> {% for article in la ...
- DELPHI中四种EXCEL访问技术实现
一.引言 EXCEL在处理中文报表时功能非常强大,EXCEL报表访问也是信息系统开发中的一个重要内容,本文总结以往开发中所用到的几中EXCEL文件访问方法,在实际工作中也得到了很好的验证,本文列举了其 ...
- Mysql备份和还原(命令)
1.备份方法一 ①.进入数据库 mysql -uroot -p pwd; ②.查看数据库 show databases; ③.备份数据库 mysqldump -hlocalhost -uroot(用户 ...
- CNN检测模型统计检出率
X, y = get_feature_charseq() #max_document_length=64 volcab_file = "volcab.pkl" assert os. ...
- leetcode 204. Count Primes(线性筛素数)
Description: Count the number of prime numbers less than a non-negative number, n. 题解:就是线性筛素数的模板题. c ...
- ASP里面令人震撼地自定义Debug类(VBScript)
不知道用ASP写代码的朋友是不是和我有一样的感受,ASP中最头疼的就是调试程序的时候不方便 我想可能很多朋友都会用这样的方法“response.write ”,然后输出相关的语句来看看是否正确.前几天 ...
- C#使用Command将dataGrideView表格内数据与数据库交互
本文主要介绍通过Command类使用SQL插入指令insert与查询指令select将dataGrideView表格内添加至数据库,与从数据库读出数据存放在dataGrideView表格中. C#制作 ...
- iOS开发者福利之精品源码汇总!免费下载
汇总一些看着不错的源码,有需要的朋友过来下载吧!{:4_102:} 1.用swift制作的色彩炫丽的进度条-KDCircularProgressKDCircularProgress是使用swift制作 ...