自动部署tomcat,并以普通用户身份运行 for centos6
#!/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的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用
使用Maven自动部署Tomcat 6和Tomcat 7下Web应用 开启Tomcat远程管理权限 在tomcat的config目录下的tomcat-users.xml文件, <role rol ...
- linux下实现自动部署tomcat的脚本
linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...
- 自动部署tomcat 脚本
自动部署tomcat 脚本 . /etc/init.d/functions #调用系统函数 yum -y install java >/dev/null TAR="apache-tom ...
- jekins自动部署tomcat注意事项、连接tomcat报错
jekins自动部署tomcat注意事项 千万不要用下面插件推送,报错很多, 要用脚本,一篇博客说的:“我们都是用的脚本,插件报错太多,也不完善” Deploy to container Plugin ...
- 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
http://blog.sina.com.cn/s/blog_65977dde0100s7tm.html ----------------------------------------------- ...
- Linux 下以其他用户身份运行程序—— su、sudo、runuser
本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...
- maven自动部署Tomcat错误排除
转自:https://blog.csdn.net/wuha0/article/details/18658113 在Maven与Tomcat配合部署过程中,最常见的错误有三种,折腾了半天,终于找到三种错 ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- Appium学习笔记2_Android获取元素篇
在利用Appium做自动化测试时,最重要的一步就是获取对应的元素值,根据元素来对对象进行对应的操作,如果获得对象元素呢? Appium Server Console其实提供了一个界面对话框" ...
- Mybatis源码分析
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...
- python3_列表、元组、集合、字典
列表list #列表的基本操作 >>> a=[] #创建空列表 >>> a = [0,1,2,3,4,5] #创建列表并初始化,列表是[]包含由逗号分隔的多个元素组 ...
- QQ互联登录提示redirect uri is illegal(100010)完美解决方法
大概2015年3月低,腾讯QQ互联开发平台调整了有关QQ登录应用回调地址填写规则,用来修复QQ登录过程因回调地址的漏洞可能导致存在的安全问题. 博主接触这块较多,但也是四月才了解此事,从4月起,所有新 ...
- centos7 搭建svn服务器
1.安装svn服务器: yum install subversion 2.配置svn服务器: 建立svn版本库根目录及相关目录即svndata及密码权限命令svnpasswd: mkdir -p /a ...
- Alpha、伪Beta 发布个人感想与体会
1.Alpha版本 在Alpha版本发布时,我在Fantacy组,那时的体会我已在前面写过,现在回想起来,我觉得自己的决定似乎做的并不是很糟糕,因为来到新的团队里,我学到了很多东西,认识了很多技术很好 ...
- python对redis的常用操作 上 (对列表、字符串、散列结构操作)
这里的一切讨论均基于python的redis-py库. 安装使用: pip install redis 然后去获取一个redis客户端: redis_conn = redis.Redis(host=R ...
- Idea for Mac 过期 IntelliJ IDEA 2017 完美注册方法(附idea for Mac破解方法)
Idea 不能使用了: 开始破解: (1)首先下载 jar包: https://download.csdn.net/download/engerla/10573069 放到位置: /Applicati ...
- jmeter作用域规则
创建测试计划时,会创建一个有序的一系列将要被执行的请求列表,这些请求通常被组织在有序的控制器下 一些控制器会影响包含在它下面的请求顺序 ,这些特殊的控制器可以参考这里:the component re ...
- 01 基于umi搭建React快速开发框架
介绍 基于umi搭建一个快速开发框架,react 应用框架.umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载. 我们会 ...