JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx总结(反向代理、负载均衡、动静分离)篇

wys521 2024-09-08 22:58:54 精选教程 32 ℃ 0 评论

一.nginx简介

Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同类型的网页服务器中表现较好
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率﹐能经受高负载的考验,有报告表明能支持高达50, 000个并发连接数。
Nginx作用:反向代理、负载均衡、动静分离等
二.什么是反向代理

先了解一下正向代理 :通过在客户端配置代理服务器,通过代理服务器进行互联网访问!

反向代理

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

什么是负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,由反向代理服务器将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

什么是动静分离

在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。

三、安装Nginx

1、安装gcc

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

2、PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

3、zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

5、下载安装包

手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html

传到Linux服务器

tar -zxvf nginx-1.18.0.tar.gz #解压
cd nginx-1.18.0 #进入nginx的目录
然后执行如下命令(按照nginx的默认配置进行安装)
./configure
make
make install #可以替换为make & make install
四.nginx 常用命令

使用Nginx的相关命令前提条件 :必须进入nginx的目录 /user/local/nginx/sbin

具体命令如下 :

查看Nginx的版本号

[root@songqixiang sbin]# ./nginx -v #查看版本号
nginx version: nginx/1.20.2

启动Nginx

[root@songqixiang sbin]# ./nginx
[root@songqixiang sbin]# ps -ef | grep nginx
root 2027 1 0 17:38 ? 00:00:00 nginx: master process ./nginx
nobody 2028 2027 0 17:38 ? 00:00:00 nginx: worker process
root 2034 28070 0 17:38 pts/0 00:00:00 grep --color=auto nginx

关闭Nginx

[root@songqixiang sbin]# ./nginx -s stop #停止nginx
[root@songqixiang sbin]# ps -ef | grep nginx
root 1822 28070 0 17:36 pts/0 00:00:00 grep --color=auto nginx #nginx相关进程停了,这个是非必要的!
重新加载Nginx配置文件
#无需重启,而且重新加载nginx的配置文件
[root@songqixiang sbin]# ./nginx -s reload

六、Nginx的配置实例

实例1:Nginx的反向代理

打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页

1、先准备tomcat,然后通过tar -解压

[root@songqixiang sqx]# tar -xvf apache-tomcat-9.0.46.tar.gz

2、进入apache-tomcat-9.0.46的bin目录执行

./startup.sh #启动我们的Tomcat

3、去到日志查看是否启动成功!

测试:ip + 8080端口:成功!(自己的域名备案了,所以就hh)

具体配置

第一步 :在 windows 系统的 C:\Windows\System32\drivers\etc\host 文件进行域名和 ip 对应关系的配置

原理:当我们输入一个域名的时候,首先会根据本地host文件去解析ip,如果host不存在那么就会去DNS服务器去解析!

第二步:找到nginx.conf进行如下配置(反向代理配置)

第三步:启动Nginx即可,访问www.123.com即可

实例2:Nginx的反向代理

使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中

nginx 监听端口为 9001,
访问 http://192.168.17.129:9001/edu/ 直接跳转到 127.0.0.1:8080
访问 http:// 192.168.17.129:9001/vod/ 直接跳转到 127.0.0.1:8081
准备2个Tomcat:分别新建2个文件夹并将tomcat复制进去

1、进入tomcat8080文件夹,解压并启动

tar -xvf apache-tomcat-9.0.46.tar.gz #解压

然后启动默认就是8080端口

注意:改个配置文件将端口号改为8081,需要修改的配置文件是server.xml

需要修改如下位置 :

测试:去分别启动2个Tomcat

完毕,扩展阅读:https://www.ixiera.com

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表