Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器

304 阅读3分钟

本文已参与 ⌈新人创作礼⌋ 活动,一起开启掘金创作之路

工具:Nginx

用途: Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。应用非常广。

主要功能

1、反向代理

2、负载均衡

3、动静分离

正向代理:

某些情况下,代理我们用户去访问服务器,需要用户手动的设置代理服务器的ip和端口号。

反向代理:

是用来代理服务器的,代理我们要访问的目标服务器。代理服务器接受请求,然后将请求转发给内部网络的服务器(集群化),并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略。

负载均衡

负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。Nginx可使用的负载均衡策略有:轮询(默认)、权重、ip_hash、url_hash(第三方)、fair(第三方)

动静分离

Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。 Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。

开始安装:

Nginx包下载地址: nginx.org/en/download…

安装讲解地址: nginx.org/en/docs/con…

因要启用ssl,所以要安装yum install pcre-devel openssl-devel -y

--with-http_stub_status_module:支持nginx状态查询

--with-http_ssl_module:支持https

--with-pcre:为了支持rewrite重写功能,必须制定pcre

解压、配置、编译安装

./configure --prefix=/usr/local/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-pcre
--with-http_ssl_module
--with-http_stub_status_module
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log

make && make install

启动、停止nginx
	cd /usr/local/nginx/sbin/
	./nginx 		#启动
	./nginx -s reload	#重启,一般重新加载配置文件时使用。
	./nginx -s quit	#此方式停止步骤是待nginx进程处理任务完毕进行停止。
	./nginx -s stop	#此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
	./nginx -v		#查看版本信息
	./nginx -V		#查看模块安装情况

查询nginx进程:
	ps aux|grep nginx
	netstat -nltp | grep nginx


默认页面文件路径:
	--prefix定义的路径中的html文件夹
	/usr/local/nginx/html

开机自启动

vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local

配置状态监控模块

在nginx.conf配置文件中的server{}中粘贴如下模块:

         location /nginxstatus{
             stub_status on;
             access_log on;
             auth_basic "nginxstatus";
         }

重启后使用http://192.168.100.9/nginxstatus访问

	Active connections: 2 
	server accepts handled requests
	 3 3 19 
	Reading: 0 Writing: 1 Waiting: 1 

nginx status详解

	active connections – 活跃的连接数量
	server accepts handled requests — 总共处理了3个连接 , 成功创建3次握手, 总共处理了19个请求
	reading — 读取客户端的连接数.
	writing — 响应数据到客户端的数量
	waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.