Linux服务器安装Tomcat
1.下载Tomcat
下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi
2.上传安装包到Linux服务器上
2.1.服务器上新建一个文件夹
# mkdir /usr/local/perry
2.2.本地上传文件到服务器
$ scp (文件路径)../apache-tomcat-8.5.20.tar.gz (远程用户名@远程ip)game:/usr/local/perry
apache-tomcat-8.5.20.tar.gz 100% 177MB 348.8KB/s 08:39
2.3 解压,改名字
# pwd
/usr/local/perry
[root@cloud perry]# ls
apache-tomcat-8.5.20.tar.gz
[root@cloud perry]# tar -zxv -f apache-tomcat-8.5.20.tar.gz
# ls
apache-tomcat-8.5.20 apache-tomcat-8.5.20.tar.gz
[root@cloud perry]# mv apache-tomcat-8.5.20 tomcat
[root@cloud perry]# ls
apache-tomcat-8.5.20.tar.gz tomcat
3.测试是否安装成功
# /usr/local/perry/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/perry/tomcat
Using CATALINA_HOME: /usr/local/perry/tomcat
Using CATALINA_TMPDIR: /usr/local/perry/tomcat/temp
Using JRE_HOME: /usr/java/jdk
Using CLASSPATH: /usr/local/perry/tomcat/bin/bootstrap.jar:/usr/local/perry/tomcat/bin/tomcat-juli.jar
Tomcat started.
到这里说明成功了
4.本地访问服务器测试
http://ip:8080
能够访问,安装成功,结束.
失败,处理防火墙问题,需要在Linux中开放防火墙的8080端口
4.1 在Linux中开放防火墙的8080端口
打开配置文件
# vi /etc/sysconfig/iptables
添加下面一行代码到文件中去 (:wq保存退出)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -->已经存在Port22
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT --->下面加一个8080
重启防火墙
service iptables restart
访问,成功可以看到Tomcat主页
http://ip:8080
5.开启关闭Tomcat
# /usr/local/perry/tomcat/bin/startup.sh
# /usr/local/perry/tomcat/bin/shutdown.sh
6.Linux中添加Tomcat为service
6.1 新建或打开文件
vi /etc/rc.d/init.d/tomcat
添加下面的脚本
# !/bin/bash
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "\atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
CATALINA_HOME="/usr/local/perry/tomcat" #tomcat安装目录,你安装在什么目录下就复制什么目录
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
# cat /etc/rc.d/init.d/tomcat
6.2 给文件添加权限,使得脚本文件可以执行
# chmod 755 /etc/rc.d/init.d/tomcat
6.3 将其添加到服务中
# chkconfig --add /etc/rc.d/init.d/tomcat
6.4 然后将下面的配置文件加到tomcat中的catalina.sh文件中的最后面
export JAVA_HOME=/usr/java/jdk #java jdk的安装路径,使用echo $JAVA_HOME命令可以读取
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/usr/local/perry/tomcat #tomcat 的目录
export CATALINA_BASE=/usr/local/perry/tomcat
export CATALINA_TMPDIR=/usr/local/perry/tomcat/temp
编辑catalina.sh文件
# vi /usr/local/perry/tomcat/bin/catalina.sh
# cat /usr/local/perry/tomcat/bin/catalina.sh
6.5 测试服务是否配置是否成功
# service tomcat start
# service tomcat stop
6.6 测试报错,修改setclasspath.sh
# service tomcat start
Starting Tomcat
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
添加JAVA临时变量到Tomcat中
vi /usr/local/perry/tomcat/bin/setclasspath.sh
测试启动服务
# service tomcat start
Starting Tomcat
Using CATALINA_BASE: /usr/local/perry/tomcat
Using CATALINA_HOME: /usr/local/perry/tomcat
Using CATALINA_TMPDIR: /usr/local/perry/tomcat/temp
Using JRE_HOME: /usr/java/jdk/jre
Using CLASSPATH: /usr/local/perry/tomcat/bin/bootstrap.jar:/usr/local/perry/tomcat/bin/tomcat-juli.jar
Tomcat started.
# service tomcat stop
Stopping Tomcat
Using CATALINA_BASE: /usr/local/perry/tomcat
Using CATALINA_HOME: /usr/local/perry/tomcat
Using CATALINA_TMPDIR: /usr/local/perry/tomcat/temp
Using JRE_HOME: /usr/java/jdk/jre
Using CLASSPATH: /usr/local/perry/tomcat/bin/bootstrap.jar:/usr/local/perry/tomcat/bin/tomcat-juli.jar
7.给tomcat设置用户名和密码登录
tomcat启动后,访问http://ip:8080即可以看到tomcat发布的网站,要管理我们发布的网站,就需要登录tomcat,设置登录名和密码。
8.1 修改tomcat-user.xml文件
# vi tomcat-users.xml
在最后添加这些
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="名字" password="密码" roles="manager-gui,admin-gui"/>
8.2 服务重启
# service tomcat stop
# service tomcat start
8.3 测试登录
如果权限受阻(文中表示跨机器无法访问)
http://ip:8080/manager/html
403 Access Denied
You are not authorized to view this page.
By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit the Manager's context.xml file.
If you have already configured the Manager ......
8.4 配置Tomcat跨机器登录
# vi /usr/local/perry/tomcat/webapps/manager/META-INF/context.xml
# cat /usr/local/perry/tomcat/webapps/manager/META-INF/context.xml
将这个内容注释掉(貌似低版本没有这个安全设置)
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
</Context>
不需要重启,刷新浏览器,测试成功,得到:Tomcat Web Application Manager
参考文档:
Linux(Centos)之安装tomcat并且部署Java Web项目
windows 与linux出现 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined