Linux Shell 编程在 Tomcat 环境搭建中的应用
2021-02-21 本文已影响0人
Vined
Tomcat 环境搭建包括 JDK 和 Tomcat 两部分
手工搭建 JDK 环境步骤
- 卸载原有的 JAVA 相关软件
rpm -qa|grep '^java' rpm -e --nodeps 查询出来的软件包
- 解压缩 JDK 软件包
tar -xzvf jdk-8u261-linux-x64.tar.gz
- 修改目录所有者和所属组为 root
chown -R root:root jdk1.8.0_261
- 移到 /usr/local/jdk 目录
mv jdk1.8.0_261 /usr/local/jdk
- 设置 JDK 环境变量脚本
修改/etc/profile文件,末尾添加
然后执行export JAVA_HOME=/usr/local/jdk export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
source /etc/profile
- 验证 JDK 安装成功
java -version
自动搭建 JDK 环境步骤
- 改进目标
- 使用脚本自动完成安装
- 输出安装开始,验证安装成功和安装结束信息,不输出解压缩过程信息
- 设置环境变量不修改/etc/profile,而是在/etc/profile.d/目录增加新的脚本
- Shell 脚本知识
脚本一般以 .sh 为后缀名,首行 #!/bin/bash
注释:行首以 # 开始
输出信息:echo 信息
循环语法:
变量引用:${变量名}for 变量名 in 序列; do 循环体 done
创建多行文本文件: cat > 文件名 << EOF 第 1 行 第 2 行 ... 第 N 行 EOF
- 最终脚本
#!/bin/bash echo "Oracle JDK installation starting ..." # 卸载原有的 JAVA 相关软件 for pkg in `rpm -qa|grep '^java'`; do rpm -e --nodeps ${pkg} done # 解压缩 JDK 软件包 tar -xzf jdk-8u261-linux-x64.tar.gz # 修改目录所有者和所属组为 root chown -R root:root jdk1.8.0_261 # 移到 /usr/local/jdk 目录 mv jdk1.8.0_261 /usr/local/jdk # 创建 JDK 环境变量脚本 cat > /etc/profile.d/jdk.sh << EOF export JAVA_HOME=/usr/local/jdk export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin EOF chmod +x /etc/profile.d/jdk.sh # 当前环境设置 JDK 环境变量 source /etc/profile.d/jdk.sh # 验证 JDK 安装成功 java -version echo "Oracle JDK installation completed."
手工搭建 Tomcat 环境步骤
- 解压缩 Tomcat 软件包
tar -xzf apache-tomcat-8.5.58.tar.gz
- 移到 /usr/local/tomcat 目录
mv apache-tomcat-8.5.58 /usr/local/tomcat
- 修改防火墙规则,允许 Tomcat 服务器使用的 8080 端口通过防火墙
firewall-cmd --add-port=8080/tcp --zone=public --permanent firewall-cmd --reload
- 启动 Tomcat
cd /usr/local/tomcat bin/startup.sh
- 验证 Tomcat 安装成功
浏览器访问 http://服务器IP地址:8080
自动搭建 Tomcat 环境步骤
-
改进目标
- 使用脚本自动完成安装
- 使用服务方式启动,停止或重启 Tomcat
- 开机自动启动 Tomcat
- 输出安装开始,服务状态和安装结束信息,屏蔽其他命令执行的信息
-
Shell脚本知识
屏蔽命令输出信息:命令 > /dev/null
多分支语法:
case 变量名 in 值1) 命令 ;; 值2) 命令 ;; *) 命令 ;; esac
-
最终脚本
#!/bin/bash echo "Apache Tomcat installation starting ..." # 解压缩 Tomcat 软件包 tar -xzf apache-tomcat-8.5.58.tar.gz # 移到 /usr/local/tomcat 目录 mv apache-tomcat-8.5.58 /usr/local/tomcat # 修改防火墙规则,允许 Tomcat 服务器使用的 8080 端口通过防火墙 firewall-cmd --add-port=8080/tcp --zone=public --permanent > /dev/null firewall-cmd --reload > /dev/null cat > /etc/init.d/tomcat << EOF #!/bin/bash # chkconfig: 2345 10 90 # description: Apache Tomcat Server export CATALINA_HOME=/usr/local/tomcat case $1 in start) ${CATALINA_HOME}/bin/startup.sh exit 0 ;; stop) ${CATALINA_HOME}/bin/shutdown.sh exit 0 ;; restart) ${CATALINA_HOME}/bin/shutdown.sh sleep 1 ${CATALINA_HOME}/bin/startup.sh exit 0 ;; *) echo "Usage: /etc/init.d/tomcat {start|stop|restart}" exit 1 ;; esac EOF chmod +x /etc/init.d/tomcat systemctl enable tomcat >> /dev/null systemctl start tomcat >> /dev/null systemctl status tomcat echo "Apache Tomcat installation completed."