Linux云计算SRE-第十二周

1.在虚拟机安装tomcat并且部署一个服务,并且实现会话共享。

        使用 Nginx 作为反向代理,结合Redisson模块来构建一个基于 Redis 会话复制的 Tomcat 集群,可以确保用户的会话信息在所有 Tomcat 实例之间共享,从而提高高可用性和负载均衡。以下是详细的步骤:

1、在ubuntu2(10.0.0.200)安装nginx,设置nginx反向代理
# 使用apt包管理器安装nginx
apt -y install nginx 
 
# 编辑nginx的主配置文件
vim /etc/nginx/nginx.conf
# 在http块中,包含/etc/nginx/conf.d/目录下的所有.conf文件,以便管理多个站点配置
http{
 ...
 include /etc/nginx/conf.d/*.conf;
}
 
# 创建并编辑特定站点的配置文件
vim /etc/nginx/conf.d/www.redision.org.conf
# 定义后端服务器组magedu,包含两个服务器实例
upstream magedu {
      server 10.0.0.173:8080;
      server 10.0.0.175:8080;
}
 
# 配置一个server块,用于处理对www.redision.org的请求
server {
  listen 80;  # 监听80端口(HTTP)
  server_name www.redision.org;  # 指定服务器名称
  return 302 https://$server_name$request_uri;
  listen  443 ssl;  # 同时监听443端口(HTTPS)
  # 指定SSL证书和密钥文件路径
  ssl_certificate  /etc/nginx/ssl/www.redision.org.pem;
  ssl_certificate_key  /etc/nginx/ssl/www.redision.org.key;
  # 配置location块,用于处理所有请求
  location /  {
     proxy_pass  http://magedu;  # 将请求转发到后端服务器组magedu
     proxy_set_header Host $http_host;  # 设置请求头,将原始请求的Host字段传递给后端服务器
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 设置请求头,将客户端IP地址传递给后端服务器
 }
 
}
 
# 重新加载nginx配置,使更改生效
nginx -s reload
2、在ubuntu5(10.0.0.172)安装redis,用于redisson会话共享 
# 使用apt包管理器安装redis
apt -y install redis  # 安装redis文件
# 编辑redis配置文件
vim /etc/redis/redis.conf  # 修改redis配置文件
# 将bind配置项修改为0.0.0.0,允许所有IP地址连接redis
bind 0.0.0.0
 3、ubuntu3(10.0.0.173)和ubuntu4(10.0.0.175)依次安装jdk和tomcat
#安装openjdk11
#将下载的包上传到服务器上,把压缩包移动到要安装的jdk目录
mv openjdk-11.0.2_linux-x64_bin.tar.gz /usr/local/src/ 
#进入/usr/local/src目录,解压压缩包后删除压缩包
cd /usr/local/src/ && tar xf openjdk-11.0.2_linux-x64_bin.tar.gz && rm -rf openjdk-11.0.2_linux-x64_bin.tar.gz 
#添加环境变量(使用追加方式添加)记得切换自己的安装路径!!
echo "export PATH=/usr/local/src/jdk-11.0.2/bin:$PATH" >> /etc/profile
#查看一下环境变量
tail -1 /etc/profile
#生效环境变量
source /etc/profile
#查看jdk版本,显示openjdk11.0.2,显示正确就说明安装成功了
java --version

# 编写tomcat安装脚本

#!/bin/bash

# 定义变量
TOMCAT_PACKAGE="apache-tomcat-9.0.98.tar.gz"
INSTALL_DIR="/usr/local/src"
SERVICE_NAME="tomcat"

# 检查并创建tomcat用户和组
if ! id tomcat &>/dev/null; then
    groupadd tomcat
    useradd -M -s /bin/nologin -g tomcat -d /usr/local/src/tomcat tomcat
fi

echo "正在解压Apache Tomcat..."
tar -zxf ~/$TOMCAT_PACKAGE -C $INSTALL_DIR

# 动态获取Tomcat目录名称
TOMCAT_VERSION=$(basename "$TOMCAT_PACKAGE" .tar.gz)
TOMCAT_INSTALL_DIR="$INSTALL_DIR/$TOMCAT_VERSION"

echo "正在配置Tomcat环境..."

ln -sf $TOMCAT_INSTALL_DIR $INSTALL_DIR/tomcat
echo "动态链接已创建"

# 更改所有者为tomcat用户和组
chown -R tomcat:tomcat $TOMCAT_INSTALL_DIR
chmod +x $INSTALL_DIR/tomcat/bin/*.sh

# 创建systemd服务文件
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
echo "[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/local/src/jdk-11.0.2
Environment=CATALINA_PID=$INSTALL_DIR/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=$INSTALL_DIR/tomcat
Environment=CATALINA_BASE=$INSTALL_DIR/tomcat
ExecStart=$INSTALL_DIR/tomcat/bin/startup.sh
ExecStop=$INSTALL_DIR/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target" | tee $SERVICE_FILE

# 刷新systemd守护进程以识别新的服务文件
systemctl daemon-reload

# 设置Tomcat开机自启
systemctl enable $SERVICE_NAME

# 启动Tomcat服务
systemctl start $SERVICE_NAME

if systemctl is-active --quiet $SERVICE_NAME; then
    echo &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值