#!/bin/bash

 ########    install jdk    

 install_jdk () {
rpm -e ‘rpm -qa |grep jdk’ wget \
--no-check-certificate \
--no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/ ln -s /usr/local/src/jdk1..0_102 /usr/local/jdk sed -i '$a \
JAVA_HOME=/usr/local/jdk \
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
export JAVA_HOME \
export PATH \
export CLASSPATH' /etc/profile source /etc/profile java -version && echo 'JDK 安装成功 '|| echo 'JDK 安装失败 ' } ######## install tomcat install_tomcat () {
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz tar zxf apache-tomcat-7.0..tar.gz -C /usr/local/ ln -s /usr/local/apache-tomcat-7.0. /usr/local/tomcat
} ######## install jsvc install_jsvc () { cd /usr/local/tomcat/bin/
tar xf commons-daemon-native.tar.gz
cd `find . -type d -name 'commons-daemon*'`
cd unix
./configure --with-java=/usr/local/jdk
make
cp jsvc /usr/local/tomcat/bin/
echo "JAVA_HOME=/usr/local/jdk
TOMCAT_USER=tomcat
JSVC_OPTS='-jvm server'
JAVA_OPTS=
" >/usr/local/tomcat/bin/setenv.sh
useradd -s /sbin/nologin -M tomcat
chown -R tomcat /usr/local/tomcat
ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
sed -i '1a \
# chkconfig: - \
# description: Tomcat7 daemon\
# processname: tomcat
' /usr/local/tomcat/bin/daemon.sh chkconfig --add tomcat
service tomcat start
} install_jdk
install_tomcat
install_jsvc
 [root@4sztj ~]# sh -x in.sh |tee a.log
+ install_jdk
+ rpm -e $'\342\200\230rpm' -qa
+ grep $'jdk\342\200\231'
+ wget --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
---- ::-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
Resolving download.oracle.com... 80.239.178.64, 80.239.178.88
Connecting to download.oracle.com|80.239.178.64|:... connected.
HTTP request sent, awaiting response... Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz [following]
---- ::-- https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
Resolving edelivery.oracle.com... 104.77.43.178, :::28c::2d3e, :::::2d3e
Connecting to edelivery.oracle.com|104.77.43.178|:... connected.
HTTP request sent, awaiting response... Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac [following]
---- ::-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac
Connecting to download.oracle.com|80.239.178.64|:... connected.
HTTP request sent, awaiting response... OK
Length: (173M) [application/x-gzip]
Saving to: “jdk-8u102-linux-x64.tar.gz” %[=============================================================================================>] ,, 1.93M/s in 98s -- :: (1.76 MB/s) - “jdk-8u102-linux-x64.tar.gz” saved [/] + tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
+ ln -s /usr/local/src/jdk1..0_102 /usr/local/jdk
+ sed -i '$a \
JAVA_HOME=/usr/local/jdk \
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
export JAVA_HOME \
export PATH \
export CLASSPATH' /etc/profile
+ source /etc/profile
++ '[' -x /usr/bin/id ']'
++ '[' -z ']'
+++ id -un
++ USER=root
++ LOGNAME=root
++ MAIL=/var/spool/mail/root
++ '[' = ']'
++ pathmunge /sbin
++ case ":${PATH}:" in
++ pathmunge /usr/sbin
++ case ":${PATH}:" in
++ pathmunge /usr/local/sbin
++ case ":${PATH}:" in
+++ /bin/hostname
++ HOSTNAME=4sztj
++ HISTSIZE=
++ '[' ignoredups = ignorespace ']'
++ export HISTCONTROL=ignoredups
++ HISTCONTROL=ignoredups
++ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
++ '[' -gt ']'
++ umask
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/colorls.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/colorls.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/cvs.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/cvs.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/glib2.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/glib2.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/lang.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/lang.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/less.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/less.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/qt.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/qt.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/vim.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/vim.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/which2.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/which2.sh
++ unset i
++ unset -f pathmunge
++ JAVA_HOME=/usr/local/jdk
++ CLASSPATH=/usr/local/jdk/lib/dt.jar:/usr/local/jdk/lib/tools.jar
++ PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
++ export JAVA_HOME
++ export PATH
++ export CLASSPATH
+ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) -Bit Server VM (build 25.102-b14, mixed mode)
+ echo 'JDK 安装成功 '
+ install_tomcat
+ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
JDK 安装成功
---- ::-- http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.177, :f000::::::
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.177|:... connected.
HTTP request sent, awaiting response... OK
Length: (8.5M) [application/octet-stream]
Saving to: “apache-tomcat-7.0..tar.gz” %[=============================================================================================>] ,, 16.8M/s in .5s -- :: (16.8 MB/s) - “apache-tomcat-7.0..tar.gz” saved [/] + tar zxf apache-tomcat-7.0..tar.gz -C /usr/local/
+ ln -s /usr/local/apache-tomcat-7.0. /usr/local/tomcat
+ install_jsvc
+ cd /usr/local/tomcat/bin/
+ tar xf commons-daemon-native.tar.gz
++ find . -type d -name 'commons-daemon*'
+ cd ./commons-daemon-1.0.-native-src
+ cd unix
+ ./configure --with-java=/usr/local/jdk
*** Current host ***
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
*** C-Language compilation tools ***
checking cached host system type... ok
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for ranlib... *** Host support ***
ranlib
checking for strip... strip
checking C flags dependant on host system type... *** Java compilation tools ***
ok
checking JAVA_HOME... /usr/local/jdk
checking for JDK os include directory... linux
gcc flags added
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/capability.h usability... no
checking sys/capability.h presence... configure: WARNING: cannot find headers for libcap
*** Writing output files ***
no
checking for sys/capability.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makedefs
config.status: creating native/Makefile
*** All done ***
Now you can issue "make"
+ make
(cd native; make all)
make[]: Entering directory `/usr/local/apache-tomcat-7.0./bin/commons-daemon-1.0.-native-src/unix/native'
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c jsvc-unix.c -o jsvc-unix.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c arguments.c -o arguments.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c debug.c -o debug.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dlfcn.c -o dso-dlfcn.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dyld.c -o dso-dyld.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c help.c -o help.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c home.c -o home.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c java.c -o java.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c location.c -o location.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c replace.c -o replace.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c locks.c -o locks.o
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c signals.c -o signals.o
ar cr libservice.a arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o java.o location.o replace.o locks.o signals.o
ranlib libservice.a
gcc jsvc-unix.o libservice.a -ldl -lpthread -o ../jsvc
make[]: Leaving directory `/usr/local/apache-tomcat-7.0./bin/commons-daemon-1.0.-native-src/unix/native'
+ cp jsvc /usr/local/tomcat/bin/
+ echo 'JAVA_HOME=/usr/local/jdk
TOMCAT_USER=tomcat
JSVC_OPTS='\''-jvm server'\''
JAVA_OPTS=
'
+ useradd -s /sbin/nologin -M tomcat
+ chown -R tomcat /usr/local/tomcat
+ ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
+ sed -i '1a \
# chkconfig: - \
# description: Tomcat7 daemon\
# processname: tomcat
' /usr/local/tomcat/bin/daemon.sh
+ chkconfig --add tomcat
+ service tomcat start
[root@4sztj ~]#

自动部署tomcat,并以普通用户身份运行 for centos6的更多相关文章

  1. Jenkins自动部署Tomcat项目

    Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:

  2. 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用

    使用Maven自动部署Tomcat 6和Tomcat 7下Web应用 开启Tomcat远程管理权限 在tomcat的config目录下的tomcat-users.xml文件, <role rol ...

  3. linux下实现自动部署tomcat的脚本

    linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...

  4. 自动部署tomcat 脚本

    自动部署tomcat 脚本 . /etc/init.d/functions #调用系统函数 yum -y install java >/dev/null TAR="apache-tom ...

  5. jekins自动部署tomcat注意事项、连接tomcat报错

    jekins自动部署tomcat注意事项 千万不要用下面插件推送,报错很多, 要用脚本,一篇博客说的:“我们都是用的脚本,插件报错太多,也不完善” Deploy to container Plugin ...

  6. 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good

    http://blog.sina.com.cn/s/blog_65977dde0100s7tm.html ----------------------------------------------- ...

  7. Linux 下以其他用户身份运行程序—— su、sudo、runuser

      本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...

  8. maven自动部署Tomcat错误排除

    转自:https://blog.csdn.net/wuha0/article/details/18658113 在Maven与Tomcat配合部署过程中,最常见的错误有三种,折腾了半天,终于找到三种错 ...

  9. jenkins自动部署tomcat

    关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...

随机推荐

  1. Java解析Excel

    前两天总结了些关于Excel和CSV结合TestNG进行数据驱动测试的例子,对于Excel存放TestCase和关键字如何进行解析,也做了对应的总结,希望在学习的路上勇往直前,有不对的地方,希望大家指 ...

  2. Appium学习笔记2_Android获取元素篇

    在利用Appium做自动化测试时,最重要的一步就是获取对应的元素值,根据元素来对对象进行对应的操作,如果获得对象元素呢? Appium Server Console其实提供了一个界面对话框" ...

  3. 转《ionic生命周期》

    1.认识ionic的生命周期钩子 截至ionic 3.8.0版本,框架提供了8个钩子函数,它们分别会在页面生命周期的各个阶段被触发,我们来简单了解一下. 1.1 ionViewDidLoad 页面加载 ...

  4. python有序字典

    最近的django开发中用到了有序字典,所以研究了一下,以下. 示例: 有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的. 普通字典: d1={} d1['a ...

  5. 使用ssh tunnel 来做代理或跳板

    接前文 http://www.cnblogs.com/piperck/p/6188984.html  使用ssh config配置文件来管理ssh连接 前文说了如何配置自己的ssh config 来方 ...

  6. CodeGear RAD 2007 SP4 最新下载及破解

    CodeGear RAD 2007 up4最新下载及破解 官方http下载: http://altd.codegear.com/download/radstudio2007/CodeGearRADSt ...

  7. C# 8小特性

    对于C# 8,有吸引了大多数注意力的重大特性,如默认接口方法和可空引用,也有许多小特性被考虑在内.本文将介绍几例可能加入C#未来版本的小特性. 新的赋值运算符:&&=和||= 从第一个 ...

  8. Uva1001-floyd算法-建图

    给出一些球,球内的时间为零,球之间的速度为10每单位. 给两个点,求最短时间. 把每一个球当做点,球间的距离就是floyd的d数组.之后跑一遍floyd wa了两发因为d数组定义成int了 #incl ...

  9. bzoj 3289 : Mato的文件管理 (莫队+树状数组)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3289 思路: 求区间最小交换的次数将区间变成一个不降序列其实就是求区间逆序对的数量,这 ...

  10. day23 序列化模块

    概念: 序列化 -- 其他数据类型转换成一个字符串数据类型 反序列化 -- 字符串转换成其他数据类型 序列 -- 字符串 必须要转换成字符串的场景: 往文件里面写数据的时候只能写字符串,不能写字典的 ...