专栏首页后台及大数据开发通过shell快速配置J2EE运行环境

通过shell快速配置J2EE运行环境

虽然可以通过已经配置好的docker镜像来快速运行相关环境,

但是

现实往往就是这么残酷+有钱很任性的时候

就是给出了一个装好系统的电脑让配置环境,每次的配置环境变量真的很烦 纯体力活

简单的写个脚本来配置吧,省得费时费力还出错

#!/bin/bash
echo '请根据提示输入相应的值'
ipfile=$( ls /etc/sysconfig/network-scripts/ifcfg-ens*)
read -p "请输入IP地址:" ip_addr
read -p "请输入子网掩码:" net_mask
read -p "请输入网关地址:" gate_way
read -p "请输入DNS地址:" dns_

echo "需要修改的网卡文件为:    "$ipfile
echo "device=ens0"                 >$ipfile
echo "BOOTPROTO=static"         >>$ipfile
echo "ONBOOT=yes"               >>$ipfile
echo "TYPE=Ethernet"            >>$ipfile
echo "IPADDR=$ip_addr"          >>$ipfile
echo "NETMASK=$net_mask"        >>$ipfile
echo "GATEWAY=$gate_way"        >>$ipfile
systemctl stop firewalld.service
systemctl disable firewalld.service
echo "nameserver $dns_">/etc/resolv.conf
/etc/init.d/network restart
echo "配置完成,即将通过ping www.baidu.com验证配置"
ping www.baidu.com -c 5


yum -y update
yum -y install wget

#设置用户目录
WORK_DIR=/usr/local/src

echo "开始配置jdk1.8"
cd $WORK_DIR
#参考地址 https://www.cnblogs.com/emanlee/p/3583769.html
#注意下载地址会变动,请自行替换后面的下载地址
if [ ! -f "jdk-8u151-linux-x64.tar.gz" ]; then
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
fi
tar -zxvf jdk-8u151-linux-x64.tar.gz

if [ -d "jdk" ]; then
  rm -rf jdk
fi

mv jdk1.8.0_151 jdk

if ! grep "JAVA_HOME=$WORK_DIR/jdk" /etc/profile
then
    echo "设置java环境变量"
    echo "export JAVA_HOME=$WORK_DIR/jdk" | tee -a /etc/profile #-a表示追加  不加-a表示覆盖
    echo "export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" | tee -a /etc/profile
    echo "export PATH=$PATH:$JAVA_HOME/bin" | tee -a /etc/profile
fi

if [ -f "apache-maven-3.5.2-bin.tar.gz" ]; then
    wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
fi

tar -zxvf apache-maven-3.5.2-bin.tar.gz
mv apache-maven-3.5.2 maven
if ! grep "M2_HOME=$WORK_DIR/maven" /etc/profile
then
    echo "设置maven环境变量"
    echo "export M2_HOME=$WORK_DIR/maven" | tee -a /etc/profile #-a表示追加  不加-a表示覆盖
    echo "export PATH=$PATH:$M2_HOME/bin" | tee -a /etc/profile
fi

source /etc/profile
java -version

echo "安装tomcat"
if [ ! -f "apache-tomcat-8.5.24.tar.gz" ]; then
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
fi
tar -zxvf apache-tomcat-8.5.24.tar.gz

export TOMCAT_HOME=$WORK_DIR/tomcat
if [ -d "tomcat" ]; then

    #查找tomcat进程并杀掉
    ps -ef | grep "tomcat" | awk '{print $2}' | xargs kill -9    
    rm -rf tomcat
fi
mv apache-tomcat-8.5.24 tomcat
echo $TOMCAT_HOME

#替换tomcat端口为期望的端口 如80 不加g只匹配第一个,如果把g替换为数字XXX,则仅替换第xxx个匹配
sed -i 's/8080/80/g' $TOMCAT_HOME/conf/server.xml

if [ ! -f "jenkins.war" ]; then
    wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
fi

cp ./jenkins.war ./tomcat/webapps
rm -rf /root/.jenkins

$TOMCAT_HOME/bin/startup.sh

#查找文件并删除
find $TOMCAT_HOME/logs -name "cata*.log" | xargs rm -rf

echo "tomcat启动成功"
tail -f $TOMCAT_HOME/logs/catalina.out

上面需要注意的是:

  1.部分命令是为了测试命令的使用方式的,删除后不影响shell功能,只是为了做一个记录,请忽略

       2.jdk下载地址会经常变动,自己在下载页面接受许可后复制对应的地址到shell脚本里面

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Centos7搭建DNS服务器

     需要注意的是:配置客户机的DNS的时候不要在 /etc/resolv.conf中配置,不然重启后会被覆盖,

    肖哥哥
  • Centos7 搭建DNS服务器

    企业内众多服务器在使用过程中全部使用ip地址,难免记混,搭建一个企业内dns服务器即刻解决。

    肖哥哥
  • Linux巩固记录(1) J2EE开发环境搭建及网络配置

    以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上去

    肖哥哥
  • CVE-2019-0232 远程代码执行漏洞-复现

    该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入影响。

    周俊辉
  • 建造者模式

    概念: 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示] 与工厂模式的区别:在建造者模式里,有个指导者...

    xiangzhihong
  • 随便写一写3P模式特色小镇田园综合体张家界

    罗罗攀
  • Kali Linux Web渗透测试手册(第二版) - 2.5 - 识别HTTPS加密参数

    thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,

    用户1631416
  • 一软在手截图无忧:ShareX截图神器-短小精悍功能完备 自动化任务可截动图截视频

    我们在写文章时经常要用到截图软件,之前就在站长必备技能批量给图片添加水印文章中提到过使用XnView和美图秀秀批量给图片添加水印的方法,不少的朋友给我留言说其实...

    砸漏
  • [Go 语言社区]服务器读取配置文件只-json数据

    package main // 导入需要的库 import ( "encoding/json" "fmt" ) // 结构体定义 type ...

    李海彬
  • 中标麒麟6.0(NeoKylin 6.0)安装DM7数据库实践

    显示系统登陆前的欢迎信息: [root@localhost~]# cat /etc/issue

    用户6845373

扫码关注云+社区

领取腾讯云代金券