目录
Nginx简介
Nginx是一款免费开源的高性能HTTP代理服务器及反向代理服务器(Reverse Proxy)产品,同时它还可以提供 IMAP/POP3/SMTP 邮件代理服务等功能。它高并发性能很好,官方测试能够支撑 5 万的并发量;运行时内存和 CPU 占用率低,配置简单,容易上手,而且运行非常稳定。
Nginx的常用功能
- 反向代理
这是Nginx服务器作为Web服务器的主要功能之一,客户端向服务器发送请求时,会首先经过Nginx服务器,由服务器将请求分发到相应的Web服务器;正向代理是代理客户端,而反向代理是代理服务器,Nginx在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的链接/请求等。
- 负载均衡
负载均衡也是Nginx最常用的功能之一,一方面是将单一的重负载分担到多个网略节点上做并行处理,每个节点处理结果后将结果汇总返回给用户,这样可以大幅度提高网络系统的处理能力;另一方面将大量的前端并发请求或数据流量分担到多个后端网络节点分别处理,这样可以有效减少前端用户等待响应的时间,而Nginx负载均衡都是属于后一方面的,主要对大量前端访问/流量进行分流,已保证前端用户访问效率,并可以减少后端服务器处理压力。
- Web缓存
在很多优秀的网站中,Nginx可以作为前置缓存服务器,它被用于缓存前端请求,从而提高web服务器的性能,Nginx 会对用户已经访问过的内容在服务器本地建立副本,这样在一段时间内再次访问该数据,就不需要通过 Nginx 服务器向后端发出请求。减轻网络拥堵,减小数据传输延时,提高用户访问速度。
Nginx的安装
下载地址
Nginx下载地址:http://nginx.org/en/download.html
开发版本:主要用于Nginx软件项目的研发
稳定版本:主要作为Web服务器投入商业应用
Windows版本安装
1、将下载好的nginx-1.18.0.zip文件解压到要安装的目录中
解压目录如下
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
双击解压之后目录中的nginx.exe文件,出现一闪而过的画面,则启动成功
之后在浏览器输入http://localhost或者http://localhost:80出现如下界面则启动成功
关闭Nginx
1、进入解压之后的目录,输入命令:nginx.exe -s -stop
2、打开任务管理器,找到nginx的进程,直接右击结束进程
Linux版本安装
安装nginx环境
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: prce(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
zlib:zlib库提供了多种压缩和解压缩的方式,nginx使用zlib对http包的任务进行gzip。
openssl:OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用,nginx不仅支持http协议还支持https(在ssl协议上传输http)协议,所以需要安装OpenSSL。
编译安装
将下载的nginx-1.18.0.tar.gz文件复制到Linux系统中
1、将下载好的压缩文件拖拽至桌面
2、打开虚拟机,在虚拟机上下载lrzsz
yum -y install lrzsz
3、直接将桌面的压缩文件拖拽至命令行界面即可
虚拟机直接下载所需压缩包
需要输入网址自行下载,然后编译安装
wget http://nginx.org/download/nginx-1.18.0.tar.gz
解压 nginx-1.18.0.tar.gz文件
tar -zxvf nginx-1.14.0.tar.gz
直接将解压之后的目录,进行编译安装
./configure --prefix=/usr/local/nginx
make
make install
指定 /usr/local/nginx 为nginx 服务安装的目录
启动nginx
进入/usr/local/nginx 目录,文件目录显示如下:
进入到sbin目录,通过如下命令启动nginx
./nginx //不提示任何信息
//输入命令,查看服务是否有服务正在运行
ps -ef | grep nginx
在浏览器输入Linux系统的ip地址,查看nginx是否有服务正在运行
关闭nginx
1、快速停止,相当于先查出nginx进程id再使用kill命令强制杀掉进程,不保存相关信息。
cd /usr/local/nginx/sbin
./nginx -s stop
2、平缓停止,允许nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作,完整有序的停止nginx,并保存相关信息
cd /usr/local/nginx/sbin
./nginx -s quit
重启nginx
1、平滑重启:如果服务器正在运行的nginx要进行升级、添加、删除模块时,外面需要停到服务器来做相应修改,这样服务器就要在一段时间内停止服务,nginx可以在不停机的情况下,进行各种升级动作而不影响服务器运行
kill -HUP 住进称号或进程号文件路径
或者使用
/usr/nginx/sbin/nginx -s reload
//修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
//或者:
/usr/nginx/sbin/nginx -t
2、先停止,再重启
./nginx -s quit
./nginx
检测配置文件语法是否正确
1、通过如下命令,指定需要检查的配置文件
nginx -t -c /usr/local/nginx/conf/nginx.conf
2、通过如下命令,不加-c参数,默认检查nginx.conf配置文件
nginx -t