运维那点事5:搭建个tomcat(fedora20)
目录(这里我不用yum tomcat!因为包里面有openjdk。)
- 配置好jdk or JRE(若已有,跳过)
- tomcat 版本更新
- 无语的tomcat启动后无法关闭解决方式:
- 没安装services.bat 导致的错误
- 换tomcat图标 容器级别,针对所有项目
- tomcat 自启动!
- 当tomcat只给一个项目用,可以配置一下不输入应用名称来访问应用。(可选)还有配置一些resources。
- windos下打包tar.gz
- 其他,如打war包命令
内容
- 配置好jdk or JRE(若已有,跳过)
1 执行bin文件,一步搞定。#sh jdk1.6.0_45.bin;
如果是安装了自带的openjdk,则先清了自带的openjdk。命令如下:
2 查看安装位置,方便设置JAVA_HOME;
这里还有一个个人原因,在执行第一步的时候多了好多rpm包,我想看看安装的位置跟那些包有没有关系,没有就直接删了。
我在没有配置好下面那几个参数的时候,用whereis 和which看不出jdk或者jre的字眼,所以,还是乖乖用find命令。但是要小心陷阱,这里我就踩到了,懵了! 如下:
因为执行#java version后看得出版本信息。也就是说铁定安装完成。所以自以为用上面这个命令执行后就给我出现一个带有jdk字眼的路径,结果……
除了这个没有别的。然后我用whereis 和which的时候也找不到带有jdk的字眼。当时我真是晕了,不晓得jdk装在哪里,以至于下面的JAVA_HOME我无从下手。搞到那些…….rpm的包不敢删掉,也碍眼!
偶然下用下面的命令,才让我走出困境。
find: ‘/run/user/1000/gvfs’: 权限不够
/opt/openoffice.org/ure/share/java
/opt/openoffice.org/basis3.4/share/Scripts/java
/opt/sun/javadb/demo/programs/vtis/java
/opt/sun/javadb/demo/programs/scores/java
/etc/pki/java
/etc/pki/ca-trust/extracted/java
/etc/java
/usr/share/bash-completion/completions/java
/usr/share/java
/usr/lib/java
/usr/java
/usr/java/jdk1.6.0_45/jre/bin/java
/usr/java/jdk1.6.0_45/bin/java
/usr/bin/java
[root@localhost conf]#
这下我才知道了安装路径。(虽然后面知道安装默认位置都是那个地方,只是,那时,我真的面朝宇宙了。)
只是,究竟为啥用第一个就找不到呢,我去!暂时不纠结,总之最后结果如下:
# export JAVA_HOME=/usr/java/jdk1.6.0_45
# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# export PATH=$PATH:$JAVA_HOME/bin
2 重启,或者#source /etc/profile
- tomcat 版本更新
Tomcat 全系安全漏洞,请尽快修复
修复方法
Apache Tomcat最新版本中修复了这些漏洞,请升级至如下版本。
升级至Apache Tomcat 8.0.0-RC10或更新版本
升级至Apache Tomcat 7.0.50或更新版本
升级至Apache Tomcat 6.0.39或更新版本
- 无语的tomcat启动后无法关闭解决方式:
#kill -9 pid
二删:删除环境下项目文件;清理缓存;
三确认:再启动访问确认环境无问题;
四解:重新解包处理即可;
- 安装services.bat
运行tomcat6.exe屏幕一闪就没了;执行tomcat6w.exe ,提示 “指定的服务未安装 unable to open the service 'tomcat6'”
原来是没有安装services.bat 服务,解决方法很简单,在tomcat/bin目录的doc命令下,输入:services.bat install ,一切搞定。
- 换tomcat图标 容器级别,针对所有项目
2 到apache-tomcat-6.0.41/webapps/ROOT下;
3 删掉原有的favicon.ico和tomcat.svg
4 换上自己的favicon
5 启动容器,重启浏览器再访问,搞定!
- tomcat自启动 参考http://blog.csdn.net/zzvnzz/article/details/7701863
可以设置以自启动服务脚本方式来启动Tomcat服务。
具体操作:
以root身份,cd到/etc/rc.d/init.d/
#vi tomcat
#chmod 775 tomcat
# chkconfig --add tomcat
# chkconfig --list tomcat
# chkconfig: 2345 98 5
# description: script to start/stop tomcat
case $1 in
start)
export JAVA_HOME=/usr/java/jdk1.6.0_45
cd /usr/apache-tomcat-6.0.41/bin/
sh ./startup.sh
;;
stop)
export JAVA_HOME=/usr/java/jdk1.6.0_45
cd /usr/apache-tomcat-6.0.41/bin/
sh ./shutdown.sh
;;
*)
echo "Usage: $0 (start|stop)"
exit 1
;;
esac
exit 0
- 当tomcat只给一个项目用,可以配置一下不输入应用名称来访问应用。(可选)还有配置一些resources。
<Context path="" docBase="/wlkt" debug="0" reloadable="true"/>
参考http://www.blogjava.net/baoyaer/articles/107278.html 想知道server.xml参数的话可以看下,很详细
<Resource name="XXXX"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8"
username="XXXX"
password="XXXX"
maxIdle="100"
maxWait="5000"
maxActive="300"/>
- windos下打包tar.gz
有了这个。配合一些ftp工具,如FileZilla,或者LeapFTP等,windowx和linux间也就无啥其他问题了。
配合tar命令进行-zxvf 打包 和 -zcvf解包,和sftp命令等,就可以远程外网ip linux,再去远程其内网Linux机子。
工具下载可以参考http://blog.csdn.net/ithomer/article/details/5111965 。
- 其他
打war包
jar cvf temp.war ( 将当前目录打包成war包.)
命令格式:jav cvf 打包文件名称 要打包的目录 打包文件保存路径
jar xvf temp.war (解压)