前提-配置java环境变量
准备centos服务器或者虚拟机,以及JAVA环境,这个是必须的前提啊,我相信你可以的。
tomcat
# 下载
curl "http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz" -o apache-tomcat-8.5.31.tar.gz
# 解压
tar -xvf apache-tomcat-8.5.31.tar.gz
# 启动
./apache-tomcat-8.5.31/bin/startup.sh
nginx
下载及解压 相关的模块到/u01目录
curl "http://nginx.org/download/nginx-1.14.0.tar.gz" -o nginx-1.14.0.tar.gz
tar -xvf nginx-1.14.0.tar.gz
curl "http://www.zlib.net/zlib-1.2.11.tar.gz" -o zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
curl "https://jaist.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz" -o pcre-8.41.tar.gz
tar -xvf pcre-8.41.tar.gz
curl "https://www.openssl.org/source/openssl-1.0.2o.tar.gz" -o openssl-1.0.2o.tar.gz
tar -xvf openssl-1.0.2o.tar.gz
编译安装nginx
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2o
make
make install
如果有异常:./configure: error: C compiler cc is not found,则安装gcc等软件
yum -y install gcc gcc-c++ autoconf automake make
配置并启动
# 最精简的nginx负载均衡配置,仅15行配置
events {
# 并发连接数
worker_connections 1024;
}
http {
# Tomcat服务器集群
upstream tomcat_servers {
server 192.168.100.1:8081;
server 192.168.100.1:8080;
}
server {
# 监听80端口
listen 80;
# 将所有请求交给Tomcat集群去处理
location / {
proxy_pass http://tomcat_servers;
}
}
}
# 执行命令 /usr/local/nginx/sbin/nginx 就可以启动啦
接下来就是通过keepalived实现nginx的高可用了
学习感言
这是我在学习下面这些高并发分布式技术时的笔记,不知道怎么发附件,需要配置文件的话我后续补上,或者你可以私信我。
keepalived
下载安装相关相关的组件
yum -y install openssl-devel
yum -y install libnl libnl-devel
yum install -y libnfnetlink-devel
下载安装keepalived
# 下载
curl "http://www.keepalived.org/software/keepalived-1.4.4.tar.gz" -o keepalived-1.4.4.tar.gz
tar -xvf keepalived-1.4.4.tar.gz
cd keepalived-1.4.4
# 安装到/usr/local/keepalived目录
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make && make install
配置文件存放地址
配置放在/etc/keepalived/,三份配置文件(一个nginx_monitor监控脚本,主备各一份keepalived配置)
nginx监控shell脚本 nginx_monitor.sh 文件
# 创建nginx monitor 脚本,并赋予可执行权限
chmod +x /etc/keepalived/nginx_monitor.sh
# 测试一下脚本能不能执行
执行命令:/etc/keepalived/nginx_monitor.sh
没报错即表示为成功
keepalived配置
# - master主机
keepalived-nginx-master.conf
# - backup备机
keepalived-nginx-backup.conf
启动keepalived
# 启动master主机
/usr/local/keepalived/sbin/keepalived -f /etc/keepalived/keepalived-nginx-master.conf
# 启动backup备机
/usr/local/keepalived/sbin/keepalived -f /etc/keepalived/keepalived-nginx-backup.conf
停止
ps -ef | grep keepalived
kill -9 关闭相关的进程
测试高可用
1. 关掉备机,功能完全不受影响。
2. 关掉主机,虚拟IP漂移到备机,备机开始工作。
3. 关掉主机nginx,主机监控到无nginx后,自动切换