Linux: Nginx 反向代理与负载均衡环境搭建

目录

Nginx简介

负载均衡

环境搭建

一. 环境

二. 安装Nginx

1. 下载安装Nginx并解压。

2. 安装依赖

3. 安装Nginx(编译并安装)

4. 常用命令

5. 启动并访问

三. 安装Tomcat

1. 下载Tomcat并解压

2. 修改页面

 3. 启动访问

四. 配置Nginx

  1.  vim /usr/local/nginx/conf/nginx.conf 编辑配置文件。

五. 反向代理负载均衡

实现展示

1. 检查配置

 2. 启动Nginx

 3. 查看效果


Nginx简介


        Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常,运行非常稳定

负载均衡


        负载均衡(Load Balance)是由多台服务器以对称的方式组成一个服务器集群,每台服务器都具有等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。经过某种负载分管技术,将外部发送来的中央请求均匀分配到对称结构中的某一台服务器上。

环境搭建


一. 环境

  • 三台虚拟机
  • 192.168.182.101  安装 Nginx和Tomcat
  • 192.168.182.102 和 192.168.182.103 安装Tomcat

二. 安装Nginx

1. 下载安装Nginx并解压。

# 下载 nginx 压缩包

wget -P /usr/local/src http://nginx.org/download/nginx-1.18.0.tar.gz

# 解压

tar -zxvf /usr/local/src/nginx-1.18.0.tar.gz -C /usr/local/src

2. 安装依赖

        Nginx 是基于 C 语言开发的,HTTP 模块使用了 pcre 来解析正则表达式,且可以

使用 zlib HTTP 包的内容进行 gzip 压缩,Nginx 不仅支持 HTTP 协议,还支持

HTTPSHTTPS 需要 openssl 提供支持,所以安装 Nginx 之前必须先安装它所依赖的

环境。

yum install -y gcc gcc-c ++ pcre pcre-devel zlib zlib-devel openssl-devel

3. 安装Nginx(编译并安装)

#  切换至 nginx 的解压目录

cd /usr/local/src/nginx-1.18.0

# 创建 nginx 的安装目录

mkdir -p /usr/local/nginx

# 指定 nginx 的安装路径

[root@redis nginx]#  ./configure --prefix=/usr/local/nginx/

# 编译并安装

[root@redis nginx]#   make && make install

4. 常用命令

        Nginx 运行时默认加载的配置文件为 nginx.conf ,根据不同的安装方式存放

的位置也不相同。yum 安装的方式会存放在 /etc/nginx/nginx.conf ,本文的安装方式会存放在

/usr/local/nginx/conf/nginx.conf 。 

(1) 帮助

# 切换目录

cd /usr/local/nginx

# 帮助

[root@redis nginx]# sbin/nginx -h

(2)查看版本

# 查看版本

[root@redis nginx]# sbin/nginx -v

nginx version: nginx/1.18.0

# 查看版本及配置选项

[root@redis nginx]# sbin/nginx -V

 (3)检查配置

# 检测配置文件是否有语法错误,默认检测 conf/nginx.conf

[root@redis nginx]# sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

 (4)启动

# 启动并通过 -c 指定启动时加载的配置文件,默认加载 conf/nginx.conf

[root@redis nginx]#  sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 (5)重启

# 平滑的重启,重新加载配置

[root@redis nginx]#  sbin/nginx -s reload

(6)停止

# 快速停止

[root@redis nginx]#  sbin/nginx -s stop

# 完整有序的停止

[root@redis nginx]#  sbin/nginx -s quit

 (7)日志切割

# 重新打开日志文件(日志切割)。

sbin/nginx -s reopen

5. 启动并访问

# 启动并通过 -c 指定启动时加载的配置文件,默认加载 conf/nginx.conf

[root@redis nginx]#  sbin/nginx -c /usr/local/nginx/conf/nginx.conf

访问网址:ip:端口(默认80)

三. 安装Tomcat

1. 下载Tomcat并解压

# 下载 tomcat 压缩包

wget -P /usr/local/src https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.38/bin/apache-tomcat-9.0.38.tar.gz

# 创建目录

mkdir -p /usr/local/tomcat

# 解压

tar -zxvf /usr/local/src/apache-tomcat-9.0.38.tar.gz -C /usr/local/tomcat

2. 修改页面

        修改 Tomcat 自带 Root 项目中的 index.jsp 页面。

# 编辑 index.jsp

vim /usr/local/tomcat/apache-tomcat-9.0.38/webapps/ROOT/index.jsp

        在 body 标签中随便添加点内容用于区分不同的服务器。

<h1 style="color:red">192.168.182.101:8080</h1>

<h1 style="color:red">192.168.182.102:8080</h1>

<h1 style="color:red">192.168.182.103:8080</h1>

 其他主机同理

 3. 启动访问

        /usr/local/tomcat/apache-tomcat-9.0.38/bin/startup.sh 启动Tomcat。

        启动Tomcat后,浏览器访问:ip+端口查看界面

 

四. 配置Nginx

  1.  vim /usr/local/nginx/conf/nginx.conf 编辑配置文件。

  在 http 节点下,添加 upstream 节点。使用 upstream name{} 语法定义一组服务器。     

upstream tomcat {
    server 192.168.182.101:8080 weight=1;
    server 192.168.182.102:8080 weight=1;
    server 192.168.182.103:8080 weight=1;
}

        然后在 server 节点的 80 端口下添加下图中的内容。默认情况下,Nginx 是按

加权轮询的方式将请求分发到各个服务器,当权重 weight 不指定时,各服务器

weight 相同。关于 Nginx 启动用户的问题请根据自身实际环境进行配置。           

 proxy_pass http://tomcat;

五. 反向代理负载均衡

        通过上面的流程,我们已经完成基于 Nginx 实现反向代理 Tomcat 服务器集群与

负载均衡的需求。重启 Nginx 以后,此时再访问 Nginx 则会被路由到被代理的

Tomcat 服务器上,并且采用了轮询方式(默认)的负载均衡算法。客户端请求到

Nginx 的中央请求会每台一次的平均分配至 Tomcat 每个机器上。

实现展示

1. 检查配置

# 检测配置文件是否有语法错误,默认检测 conf/nginx.conf

[root@redis nginx]# sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

 2. 启动Nginx

# 启动并通过 -c 指定启动时加载的配置文件,默认加载 conf/nginx.conf

[root@redis nginx]#  sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

 3. 查看效果

 刷新页面,实现负载均衡

已经到底了。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寧三一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值