- nginx的安装教程
- nginx的相关概念
- 反向代理
- 负载均衡
- 动静分离
- nginx的安装和基本命令
- linux系统下nginx的安装
基本概念
Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
nginx的可以做什么?
- 反向代理
- 负载均衡
- 动静分离
现在来聊一聊这三种情况。
反向代理了解反向代理之前,我们需要了解一下什么是正向代理。
正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
我给大家举个例子,我们要明确代理是代理某一样东西,而正向代理就好比我们要向访问谷歌,用中国的服务器谷歌是拒接接受的,如果我们用外国的服务器去访问谷歌呢?就好比我们的客户端将我们的请求发送到一个新加坡的服务器上,而新加坡的服务器将我们的请求转发给谷歌服务器,谷歌服务器会把响应发送给新加坡服务器,新加坡的服务器会再把谷歌的响应转发给我们的客户端。在整个过程中,新加坡服务器充当的角色是代理了我们客户端来进行请求,这样真正的客户端对谷歌是透明的,代理客户端发送请求就是正向代理。
下图所示:
聊完正向代理,再聊一下反向代理,一个请求和响应的过程,参与的角色是客户端,既然正向代理代理的是客户端,那么反向代理代理的就是服务器,服务器对客户端透明,我们看一下官方解释:
反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。
一句话就是说反向代理暴露的是代理服务器地址,隐藏了真实服务器IP地址。真实服务器对客户端透明。而哪个反向代理服务器就是nginx服务器。
下图所示:
负载均衡负载均衡的应用范围特别广大,例如用户量特别大,一个服务器已经无法处理所有的用户发送过来的请求,可以添加服务器来分摊请求,但是客户端发送的请求来发送给nginx服务器,nginx服务器来决定将请求发送给后边的哪个服务器。
下图所示:
我们知道服务器中有图片文字的静态资源,也有例如Jsp的动态资源,动静分离的意思就是将那些静态资源和动态资源分别放到不同的服务器,有专门的服务器来进行存储静态资源,也有专门的服务器来进行存储动态资源。客户端发送请求,nginx服务器判断请求的是动态资源还是静态资源,判断完成之后来进行寻找对应的静态(动态)服务器进行请求资源。下图所示:
nginx的安装和基本命令 linux系统下nginx的安装附上nginx 的官网地址http://nginx.org/
通过官网下载我们需要的nginx的压缩包,进行将压缩包上传到linux服务器上,开始进行安装(nginx的安装需要一些依赖,我们先来进行安装依赖):
第一步,联网下载pcre的压缩文件依赖:
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
第二步,解压压缩文件
tar -xvf pcre-8.37.tar.gz
第三步 进入pcre-8.37目录,执行./configure命令
# 进入pcre的目录 cd pcre-8.37/ # 执行./configure进行检查 ./configure
第四步 使用make && make install进行安装
make && make install
pcre依赖安装完成,可以通过pcre-config --version进行检查是否安装成功(查看版本号命令)
pcre-config --version
第五步 安装openssl、zlib、gcc的依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
第六步 解压我们上传的nginx的压缩包
tar -xvf nginx-1.18.0.tar.gz
第七步 进入目录,执行./configure命令
# 进入目录 cd nginx-1.18.0 # 进行检查 ./configure
注意:我用的是centos8,所以这里采用的版本是nginx-1.18.0的版本,当nginx的版本太低,会不支持centos8环境的支持。
第八步 执行make && make install命令
make && make install
至此nginx安装完毕!
安装成功在/usr/local/目录下会新加一个nginx的目录。
我们使用linux需要开启防火墙对应的端口,这是linux下的防火墙常用的命令:
# 启动防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop firewalld # 查看开放的防火墙端口号 firewall-cmd --list-all # 开放80端口 firewall-cmd --add-port=80/tcp --permanent # 移除端口 firewall-cmd --permanent --remove-port=8080/tcp
nginx的相关命令:
# 进入nginx的sbin的目录中 cd /usr/local/nginx/sbin # 查看nginx的版本号 ./nginx -v # 启动nginx服务器 ./nginx # 停止nginx服务器 ./nginx -s stop # 重新启动nginx ./nginx -s reload # 查看nginx是否启动成功 ps -rf | grep nginx
进行查看服务器地址:80来在浏览器进行查看:
至此,安装nginx和nginx的基本命令已经全部完成了,点个免费的关注吧~~~



