nginx的简单使用

Nginx简介和三大功能

Nginx (engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP(邮件)服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Pam6Πep)开发的,第一个公开的版本0.1.0发布于2004年6月1日。2011年6月1日,nginx 1.0.4发布。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网页等。在全球活跃的网站中有12.18%的使用比例,大约为2220万个网站。

Nginx是一个安装非常简单、配置文件非常简洁(且能支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能不间断服务的情况下进行软件版本的升级。

nginx的代码是完全使用C语言开发。官方数据测试表明能够支持高达 50,000 个并发连接数的响应

正向代理和反向代理

正向代理:代理客户端

正向代理类似一个跳板机,代理访问外部资源
比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了

  • 访问原来无法访问的资源,如google
  • 可以做缓存,加速访问资源
  • 对客户端访问授权,上网进行认证
  • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理:代理服务器

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

  • 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网`
  • 负载均衡,通过反向代理服务器来优化网站的负载

负载均衡

权重轮询实现

Nginx提供的负载均衡策略有两种:内置策略和拓展策略。内置策略为轮询,Ip hash。拓展策略

iphash 对客户端请求的ip进行hash操作,然后根据hash结果来将同一个客户端的ip请求分发给同一台服务器进行处理,可以解决session不共享的问题。(redis也能实现,也推荐使用redis)

动静分离

动静分离,在我们的软件开发中,有一些请求需要后台处理,有些请求不需要经过后台处理的(如:css、html、jsp、js等等文件),这些不需要经过后台处理的文件称之为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。

常用命令

1
2
3
4
5
6
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
ps aux|grep nginx 查看进程

安装

这个就没必要说了。yum,或者官网下载push上去


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!