Nginx简介及其安装
Nginx是一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,它能够支持高达50000个并发连接数的响应,但是内存、CPU等系统资源消耗却很低,运行很稳定。
介绍Nginx在系统架构(网关入口)中的作用,总结如下:
- 路由功能(与微服务对应):域名/路径,进行路由选择后台服务器
- 负载功能(与高并发高可用对应):对后台服务器集群进行负载
- 静态服务器(比Tomcat性能高很多):在mvvm模式中,充当文件读取职责
总结:实际使用中,这三项功用,会混合使用。比如先分离动静,再路由服务,再负载机器
正向代理及反向代理
正向代理,即代理,意思是一个位于客户端和原始服务器(Origin Server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
反向代理,是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
安装Nginx
接下来,我们就来看看如何安装我们的Nginx,在安装Nginx之前,我们需要先安装make及g++,一般情况下是无需安装的,因为Linux一般是默认安装的,如果没有的话,请输入下列命令进行安装:
- 安装make:
yum -y install autoconf automake make
- 安装g++:
yum -y install gcc gcc-c++
然后再安装Nginx之前,我们还需安装一些Nginx的相关依赖,主要是有关解析正则表达式、压缩解压、以及openssl等,依次执行下列命令即可:yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum install -y openssl openssl-devel
首先我们先去下载一个Nginx,如下:
等待成功下载完成后,我们将其解压
然后我们进入其源码中,我们需要将其先编译一下,如下:
- - -prefix 指定安装目录
- - -with-http_ssl_module 安装https模块
- - -with-http_ssl_module 安装服务器状态模块
接下来就等待程序编译,当出现 creating objs/Makefile
就代表编译成功,如下图
编译成功后,直接运行 make && make install
进行安装
安装完成后,我们就可以查看设置的安装目录,也可以使用 whereis nginx
进行查找
我们查看一下该目录的内容:
- conf 配置文件
- html 静态网页文件
- logs 日志文件
- sbin 二进制程序
我们直接启动Nginx,如下:
- sbin/nginx -t 检测Nginx配置文件是否正确
- sbin/nginx -c nginx.conf 指定启动Nginx的配置文件,如果不指定,默认为 conf/nginx.conf
- sbin/nginx -s stop 停止
- sbin/nginx -s quit 退出
- sbin/nginx -s reload 重新加载 nginx.conf
启动完成后,我们可以访问一下浏览器,结果如下:
上述采用的是编译安装的一种方式,其实我们还有一种更为简单的方法,就是使用 yum 进行安装,我们可以直接使用 yum install nginx
进行安装,但是我们会发现它会提示找不到
这里我们就需要添加 epel 的扩展源,如下:
接下来再次运行 yum install nginx
安装Nginx,安装完成后,我们可以使用 whereis nginx
来查找一下其安装位置,然后进行启动Nginx
yum安装的方式虽然简单,但是从 whereis nginx
炒作出来的结果来看,它不能像我们编译安装一样安装在自己制定的位置,其安装位置较为分散。