一篇文章搞定 Nginx 反向代理与负载均衡 (2)

  Nginx 是基于 C 语言开发的,HTTP 模块使用了 pcre 来解析正则表达式,且可以使用 zlib 对 HTTP 包的内容进行 gzip 压缩,Nginx 不仅支持 HTTP 协议,还支持 HTTPS,HTTPS 需要 openssl 提供支持,所以安装 Nginx 之前必须先安装它所依赖的环境。

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

  

安装 Nginx

  

  编译并安装。

# 切换至 nginx 的解压目录 cd /usr/local/src/nginx-1.18.0 # 创建 nginx 的安装目录 mkdir -p /usr/local/nginx # 指定 nginx 的安装路径 ./configure --prefix=http://www.likecs.com/usr/local/nginx/ # 编译并安装 make && make install

  

常用命令

  

# 切换目录 cd /usr/local/nginx # 启动 sbin/nginx # 重启 sbin/nginx -s reload # 停止 sbin/nginx -s quit

  

访问

  

  启动 Nginx 以后,浏览器访问::80/ 结果如下:

一篇文章搞定 Nginx 反向代理与负载均衡

  

安装 Tomcat

  

下载资源

  

  下载 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

  

修改页面

  

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

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

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

<h1>192.169.10.102:8080</h1> <h1>192.169.10.103:8080</h1>

一篇文章搞定 Nginx 反向代理与负载均衡

一篇文章搞定 Nginx 反向代理与负载均衡

  

启动访问

  

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

  启动 Tomcat 以后,浏览器访问::8080/ 和 :8080/ 结果如下:

一篇文章搞定 Nginx 反向代理与负载均衡

一篇文章搞定 Nginx 反向代理与负载均衡

  

配置 Nginx

  

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

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

  然后在 server 节点的 80 端口下添加下图中的内容。默认情况下,Nginx 是按加权轮询的方式将请求分发到各个服务器,当权重 weight 不指定时,各服务器 weight 相同。关于 Nginx 启动用户的问题请根据自身实际环境进行配置。

一篇文章搞定 Nginx 反向代理与负载均衡

  

反向代理负载均衡

  

  通过上面的流程,我们已经完成基于 Nginx 实现反向代理 Tomcat 服务器集群与负载均衡的需求。重启 Nginx 以后,此时再访问 Nginx 则会被路由到被代理的 Tomcat 服务器上,并且采用了轮询方式(默认)的负载均衡算法。客户端请求到 Nginx 的中央请求会每台一次的平均分配至 Tomcat 每个机器上。关于 Nginx 更多详细的配置及负载均衡算法我们后面再另开文章细说。

一篇文章搞定 Nginx 反向代理与负载均衡

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzwsd.html