1.安装nginx
wget https://nginx.org/download/nginx-1.25.1.tar.gz
2.将nginx源代码解压到/usr/local/src下
tar -xzvf nginx-1.25.1.tar.gz -C /usr/local/src
3.创建nginx编译后保存的目录
mkdir -p /usr/local/nginx/{logs,conf,sbin}
4.进入到nginx源代码目录
cd /usr/local/src/nginx-1.25.1
5.安装nginx编译需要的依赖库
yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel
yum install -y gcc gcc-c++
6.编译源代码
./configure --prefix=/usr/local/nginx/ --sbin-path=/usr/local/nginx/sbin/ --with-http_ssl _module \--conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/logs/nginx.pid \--error-log-path=/usr/local/nginx/logs/error.log
--http-log-path=/usr/local/nginx/logs/access.loc --with-http_v2_module
7.编译与安装
make && make install
8.修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加以下配置
upstream nacoscluster{
server 192.168.174.129:8848; #添加nacos集群主机
server *.*.*.*:8848;
server *.*.*.*:8848;
}
server {
listen 8848;
server_name localhost;
location / {
proxy_pass http://nacoscluster;
root /nacos/;
}
9.修改防火墙配置
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --reload
10.查看nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
11.启动nginx服务,通过代理节点便可访问到nacos集群节点,如图。
/usr/local/nginx/sbin/nginx
12.使用HAproxy作为grpc代理,获取HAproxy组件
wget https://www.haproxy.org/download/2.4/src/haproxy-2.4.23.tar.gz
13.解压缩haproxy
tar xzvf haproxy-2.4.23.tar.gz -C /usr/local/src
14.进入源代码目录
cd /usr/local/src/haproxy-2.4.23/
15.编译haproxy源代码
make TARGET=custom ARCH=x86_64 PREFIX=/usr/local/haproxy
16.组件安装
make install PREFIX=/usr/local/haproxy
17.创建haproxy.cfg配置文件
vim /usr/local/haproxy/haproxy.cfg
18.添加以下配置
global
log 127.0.0.1 local0
nbproc 1 #监控进程个数
maxconnrate 300 #进程每秒所能创建的最大连接数
maxcomprate 300 #压缩速率
maxsessrate 500 #进程每秒能创建的会话数量
chroot /usr/local/haproxy # HAProxy部署路径
pidfile /usr/local/haproxy.pid # pid文件存储路径
maxconn 30000 #进程所能接收的最大并发连接数
user haproxy #启动用户名
group haproxy #启动用户组
daemon #后台模式运行
stats socket /usr/local/haproxy/stats #开启统计Socket
defaults
mode tcp # 注意grpc需要通过tcp进行转发
log global #全局日志配置
option dontlognull #不记录健康日志信息
option redispatch #允许重新分配session
option http-use-htx #启用HTTP/2
option logasap #传输大文件时提前记录日志
option tcplog # 注意grpc需要通过tcp进行转发
retries 3 #失败重试次数
timeout queue 1m #队列超时
timeout connect 5m #连接超时
timeout client 5m #服务端超时
timeout server 5m #路户河租时
timeout http-keep-alive 100s #保持HTTP连接
timeout check 10s #超时检查
maxconn 100000
listen admin_stats
stats enable #启用管理控制台
bind 0.0.0.0:9999 #监控端口设置
mode http
log global
maxconn 10 #最大连接数量
stats uri /admin #登录监控子路径配置
stats realm welcome\ Haproxy #登录提示信息
stats auth admin:admin #监控的账号密码
stats admin if TRUE #启用管理员模式
option httplog
stats refresh 30s #监控刷新时间
stats hide-version
frontend nacos_cluster #代理集群配置(名称自定义)
bind :9848 # +1000
mode tcp # 注意grpc需要通过tcp进行转发
log global
option tcplog
option dontlognull
option nolinger
timeout client 30s
maxconn 8000
default_backend nacos_cluster_nodes
backend nacos_cluster_nodes #集群节点(名称自定义)
mode tcp # 注意grpc需要通过tcp进行转发
server nacos-a 192.168.174.129:9818 check #集群节点,根据具体情况配置
server nacos-b *.*.*.*:9828 check #集群节点
server nacos-c *.*.*.*:9838 check #集群节点。
18. 添加一个用户
useradd haproxy
19.启动服务
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
20.防火墙配置
firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --reload
21.这里我使用的主机ip为192.168.174.131,所以打开192.168.174.131:9999/admin。