简介和安装
Nginx
说到Nginx,可能大家最先想到的就是其负载均衡以及反向代理的功能。没错,这也是当前使用Nginx最频繁的两个功能,但是Nginx可不仅仅只有这两个功能,其作用还是挺大的,本系列教程就来慢慢解开Nginx神秘的面纱。
一、简介
Nginx是由俄罗斯人IgorSysoev设计开发的,开发工作从2002年开始,第一次公开发布在2004年10月4日。
官方网站为:http://nginx.org/。 它是一款免费开源的高性能HTTP代理服务器及反向代理服务器(ReverseProxy)产品,同时它还可以提供IMAP/POP3邮件代理服务等功能。它高并发性能很好,官方测试能够支撑5万的并发量;运行时内存和CPU占用率低,配置简单,容易上手,而且运行非常稳定。
二、常用功能
Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。
其中有三个最常用的功能。
1、反向代理
这是 Nginx 服务器作为 WEB 服务器的主要功能之一,客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。
2、负载均衡
这也是 Nginx 最常用的功能之一,负载均衡,一方面是将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅度提高网络系统的处理能力;另一方面将大量的前端并发请求或数据流量分担到多个后端网络节点分别处理,这样可以有效减少前端用户等待相应的时间。而 Nginx 负载均衡都是属于后一方面,主要是对大量前端访问或流量进行分流,已保证前端用户访问效率,并可以减少后端服务器处理压力。
3、web缓存
在很多优秀的网站中,Nginx 可以作为前置缓存服务器,它被用于缓存前端请求,从而提高 Web服务器的性能。Nginx 会对用户已经访问过的内容在服务器本地建立副本,这样在一段时间内再次访问该数据,就不需要通过 Nginx 服务器向后端发出请求。减轻网络拥堵,减小数据传输延时,提高用户访问速度。
三、Nginx安装
关于 Nginx 的安装,分为在 Windows 平台和 Linux 平台安装,Windows 版本的 Nginx 服务器在效率上要比 Linux 版本的 Nginx 服务器差一些,而且实际使用的一般都是 Linux 平台的 Nginx 服务器。一下为Linux版的安装过程
1.下载地址
1、Nginx 下载地址 http://nginx.org/en/download.html
这里我们使用最新版本 1.21.3
Linux版本安装
使用的Linux系统为CentOS7.6
(1)安装Nginx环境
1)安装C++编译环境
yum install gcc-c++
对于 gcc,因为安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境的话,需要安装gcc。
2)安装依赖库
yum install pcre*
yum install openssl*
yum install zlib*
或者
yum -y install pcre* openssl* zlib*
对于 pcre,prce(Perl Compatible Regular Expressions)是一个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库。
以上三个模块依赖库下载地址:
pcre-8.32.tar.gz (下载地址: http://www.pcre.org/)
openssl-fips-2.0.16.tar.gz(下载地址:http://www.openssl.org/)
zlib-1.2.11.tar.gz(下载地址:http://www.zlib.net/)
(2)编译安装
下载nginx
wget http://nginx.org/download/nginx-1.21.3.tar.gz
解压
tar -zxvf nginx-1.21.3.tar.gz
可以选择解压到XX地址,以下解压至/usr/local
tar -zxvf nginx-1.21.3.tar.gz -C /usr/local
指定 /usr/local/ 为nginx 服务安装的父级目录,然后再进行编译安装。
cd /usr/local/nginx-1.14.2
./configure
make
make install
#可以使用&&连接操作
make && make install
注意:./configure执行后
会出现日志错误(如下图)
为正常现象,继续操作
最后会在/usr/local/路径下生成一个nginx目录
文件目录显示
(3)启动nginx
进入/usr/local/nginx/sbin目录,启动nginx
#启动
./nginx
可以自行配置环境命令,就可以在任意地方启动nginx
启动之后,没有任何的信息显示,表示启动成功
可以使用一下命令查看服务是否正在运行:
ps -ef | grep ngix
然后我们在浏览器输入linux系统的ip地址,出现windows安装成功界面
或者使用curl命令:
(4)关闭nginx
方法1:快速停止
#进入sbin
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。不太友好。
方法2:平缓停止
#进入sbin
cd /usr/local/nginx/sbin
./nginx -s quit
此方式是指允许 nginx 服务将当前正在处理的网络请求处理完成,但不在接收新的请求,之后关闭连接,停止工作。
(5)重启nginx
方法1:先停止再启动
./nginx -s quit
./nginx
方法2:重新加载配置文件
./nginx -s reload
#通过路径直接使用命令
/usr/local/nginx/sbin/nginx -s reload
(6)检测配置文件语法是否正确
方法1:使用相对路径
./nginx -t -c /usr/local/nginx/conf/nginx.conf
方法2:不适用路径 默认检测到nginx.conf配置文件
./nginx -t