成都网站建设设计

将想法与焦点和您一起共享

Nginx简单使用与详解-创新互联

一、定义

克州网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

Nginx是一个反向代理服务器,所谓反向代理服务器就是当客户端要请求服务器时,在他们之间加一个代理服务器,当客户端请求时,先请求代理服务器,代理服务器通过防火墙连接到服务器

代理服务器介于客户端与服务器之间,相当于一个中间人或中介人

下图为关系图:

Nginx简单使用与详解

用户A始终认为它访问的是原始服务器B而不是代理服务器Z,但实际上反向代理服务器接受用户A的应答,
从原始资源服务器B中取得用户A的需求资源,然后发送给用户A。由于防火墙的作用,只允许代理服务器Z访问原始资源服务器B。尽管在这个虚拟的环境下,防火墙和反向代理的共同作用保护了原始资源服务器B,但用户A并不知情。

简单的说:
正向代理:客户端知道服务器端,通过代理端连接服务器端。代理端代理的是服务器端。
反向代理:所谓反向,是对正向而言的。服务器端知道客户端,客户端不知道服务器端,通过代理端连接服务器端。代理端代理的是客户端。代理对象刚好相反,所以叫反向代理。

二、简单使用Nginx

Nginx的安装步骤我就不写了,在我的另一篇博客中有提交,这篇简单介绍使用

服务器A

代理服务器B

首先要开启、关闭防火墙:

Ubuntu:sudo ufw enable | disable

没安装的:

sudo apt-get install ufw

在服务器A中开启防火墙,禁用除了代理服务器B之外的所有访问

在代理服务器B上安装Nginx,修改nginx.conf配置文件:

在http层下添加:

upstream server1 {

   server 192.168.0.134:8080; # 被代理的服务器地址

}

server层修改:

location / {

   proxy_pass http://server1;

}

修改完成之后,重启nginx

浏览器中输入:http://代理服务器IP:端口/ 进行访问,会自动访问到http://192.168.0.134:8080 处

负载均衡配置:

upstream server1 {

   server 192.168.0.134:8080; # 被代理的服务器地址

   server 192.168.0.125:8081; # 被代理的服务器地址

}

当其中一个宕机之后,会连接其中到另一个地址

三、nginx的进程模式

nginx启动后,会在Unix系统中以后台的方式运行,后台进程包括一个master进程和多个worker进程,当然你也可以手动的调整为前台运行,但nginx默认支持的是多进程模式运行,同时也支持多线程模式运行

上面说到nginx启动后有一个master进程和多个worker进程,master进程是用来管理worker进程的,当有来自外界的请求时,发放给各个worker,监控worker的状态,当一个worker宕机之后,会重新启动一个新的worker进程,每个worker之间是对等的,与请求之间的关系也是一对一的,nginx进程模型如下:

Nginx简单使用与详解

要操作nginx让它从容的重启,发送./nginx -s reload命令,当master进程接收到此命令之后,它会取加载配置文件,建立新的worker进程,并发送信号给老的worker进程,告诉他们可以退出了,当新worker进程启动成功开始接收请求时,老worker处理完当前所有的请求之后就退出,这样就可以让服务不中断的进行重新启动了

worker处理请求的方式:

先让master建立好需要listen的socket之后,再让master进程fork多个worker进程,所有worker进程的listenfd会在新连接到来时变得可读,为保证只有一个进程处理该连接,所有worker进程在注册listenfd读事件前抢accept_mutex,抢到互斥锁的那个进程注册listenfd读事件,在读事件里调用accept接受该连接。当一个worker进程在accept这个连接之后,就开始读取请求,解析请求,处理请求,产生数据后,再返回给客户端,最后才断开连接,这样一个完整的请求就是这样的了。我们可以看到,一个请求,完全由worker进程来处理,而且只在一个worker进程中处理

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Nginx简单使用与详解-创新互联
文章来源:http://chengdu.cdxwcx.cn/article/deeise.html