Nginx的功能特别多,这里我只介绍几个经常使用的功能。html
①、反向代理前端
这是 Nginx 服务器做为 WEB 服务器的主要功能之一,客户端向服务器发送请求时,会首先通过 Nginx 服务器,由服务器将请求分发到相应的WEB服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx在提供反向代理服务方面,经过使用正则表达式进行相关配置,采起不一样的转发策略,配置至关灵活,并且在配置后端转发请求时,彻底不用关心网络环境如何,能够指定任意的IP地址和端口号,或其余类型的链接、请求等。linux
②、负载均衡nginx
这也是 Nginx 最经常使用的功能之一,负载均衡,一方面是将单一的重负载分担到多个网络节点上作并行处理,每一个节点处理结束后将结果汇总返回给用户,这样能够大幅度提升网络系统的处理能力;另外一方面将大量的前端并发请求或数据流量分担到多个后端网络节点分别处理,这样能够有效减小前端用户等待相应的时间。而 Nginx 负载均衡都是属于后一方面,主要是对大量前端访问或流量进行分流,已保证前端用户访问效率,并能够减小后端服务器处理压力。c++
③、Web 缓存正则表达式
在不少优秀的网站中,Nginx 能够做为前置缓存服务器,它被用于缓存前端请求,从而提升 Web服务器的性能。Nginx 会对用户已经访问过的内容在服务器本地创建副本,这样在一段时间内再次访问该数据,就不须要经过 Nginx 服务器向后端发出请求。减轻网络拥堵,减少数据传输延时,提升用户访问速度。算法
关于Nginx的安装,分为在Windows平台和Linux平台安装,Windows版本的Nginx服务器在效率上要比Linux版本的Nginx服务器差一些,并且实际使用的通常都是Linux平台的Nginx服务器。后端
Nginx下载地址:http://nginx.org/en/download.htmlcentos
解压目录以下:浏览器
下面对这个目录下的主要文件夹进行介绍:
一、conf 目录:存放 Nginx 的主要配置文件,不少功能实现都是经过配置该目录下的nginx.conf文件。
二、docs 目录:存放 Nginx 服务器的主要文档资料,包括 Nginx 服务器的LICENSE、OpenSSL的LICENSE 、PCRE的LICENSE以及zlib的LICENSE ,还包括本版本的Nginx服务器升级的版本变动说明,以及README文档。
三、html 目录:存放了两个后缀名为.html的静态网页文件,这两个文件与Nginx服务器的运行相关。
四、logs 目录:存放Nginx服务器运行的日志文件。
五、nginx.exe:启动Nginx服务器的exe文件,若是conf目录下的nginx.conf文件配置正确的话,经过该文件便可启动Nginx服务器。
双击解压以后目录中的Nginx.exe文件,出现一闪而过的画面,而后在浏览器中输入http://localhost,出现以下界面表示Nginx启动成功。
进入到解压后的目录,输入以下命令:
nginx.exe -s stop
yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel
对于 gcc,由于安装nginx须要先将官网下载的源码进行编译,编译依赖gcc环境。
对于 pcre,是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,因此须要在linux上安装pcre库。
对于 zlib,zlib库提供了不少种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,因此须要在linux上安装zlib库。
对于 openssl,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、经常使用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不只支持http协议,还支持https(即在ssl协议上传输http),因此须要在linux安装openssl库。
将下载的nginx-1.16.1.tar.gz文件复制到linux系统中,而后解压:
tar -zxvf nginx-1.16.1.tar.gz
而后进入到解压以后的目录,进行编译和安装:
./configure --prefix=/usr/local/nginx
make
make install
进入到/usr/local/nginx目录下,文件目录显示以下:
[root@centos76 nginx-1.16.1]# cd /usr/local/nginx/ [root@centos76 nginx]# ls client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp [root@centos76 nginx]# cd sbin/ [root@centos76 sbin]# ls nginx nginx.old [root@centos76 sbin]#
进入到sbin目录下,执行以下命令启动nginx:
[root@centos76 sbin]# ./nginx
使用以下命令,查看Nginx是否启动成功。
[root@centos76 sbin]# ps -ef | grep nginx root 14306 1 0 08:07 ? 00:00:00 nginx: master process ./nginx nobody 14307 14306 0 08:07 ? 00:00:00 nginx: worker process root 14387 9191 0 08:08 pts/0 00:00:00 grep --color=auto nginx
在浏览器中输入linux系统的IP地址,出现以下界面表示Nginx安装成功。
两种方式:
方式1:快速中止
cd /usr/local/nginx/sbin
./nginx -s stop
此方式至关于先查出Nginx进程的id,而后再使用kill命令强制杀掉进程,不太友好。
方式2:平缓中止
cd /usr/local/nginx/sbin
./nginx -s quit
此方式是指容许Nginx服务将当前正在处理的网络请求处理完成,但不在接收新的请求,以后关闭链接,中止工做。
方式1:先中止再启动
./nginx -s quit
./nginx
方式2:从新加载配置文件
./nginx -s reload
一般咱们使用nginx修改最多的即是其配置文件nginx.conf。修改以后想要让配置文件生效而不用重启 nginx,可使用此命令。
方式1:指定须要检查的配置文件。
[root@centos76 sbin]# ./nginx -t -c /usr/local/nginx/conf/nginx.conf nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
方式2:不加-c,默认检测nginx.conf配置文件。
[root@centos76 sbin]# ./nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
参考:https://www.cnblogs.com/ysocean/p/9384877.html