两军交战,粮草先行
一、依赖环境
1、先查看是否有java环境: rpm -qa | grep java
如果没有java环境的话,接着就去查找java-1.8.0的可以使用的安装包:yum list | grep java-1.8.0-openjdk
安装java-1.8.0-openjdk所有的文件:yum -y install java-1.8.0-openjdk*
为什么要用yum装,因为可以省去配置环境变量啊
二、下载安装Tomcat
第一种方法:使用yum工具
1、用yum在线安装tomcat
yum install tomcat //或者 yum -y install tomcat
-y 代表遇到询问都选 y,这样安装过程中就不需要手动输入y了
安装完成后,安装目录在 "/usr/share/tomcat"
2、遇到的坑(这里记录下 ,未找到原因和解决方法,有没有大牛解释下,感激不尽)
在yum安装tomcat的过程中,报以下错误
Error: Package: tomcat-lib-7.0.92-1.el6.noarch (epel)
Requires: jakarta-commons-dbcp
Error: Package: tomcat-lib-7.0.92-1.el6.noarch (epel)
Requires: jakarta-commons-pool
Error: Package: tomcat-7.0.92-1.el6.noarch (epel)
Requires: jakarta-commons-dbcp
Error: Package: tomcat-7.0.92-1.el6.noarch (epel)
Requires: jakarta-commons-pool
第二种方法:在线下载包后解压(我没实践过,听说下载速度感人)
新建一个目录:mkdir /usr/local/tomcat
进入到这个目录下:cd /usr/local/tomcat
下载:wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.94.tar.gz
第三张方法:下载tar包后上传至linux后在解压(推荐这个,why,简单啊)
window下载包:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.94.tar.gz
用xftp/SRT上传至linux,具体就不解释了
万事具备,只欠东风了
三、启动/关闭tomcat服务
1、查看tomcat的状态:systemctl status tomcat
Active: inactive (dead)说明tomcat 现在处于 dead(挂了) 状态,服务还没有跑起来。
2、启动tomcat:
① systemctl start tomcat (或systemctl start tomcat.service)
② 进入tomcat目录下的bin,使用 ./startup.sh 或 ./catalina.sh start
可以看到状态是 Active: active (running) , 此时已经代表 tomcat 已经正常的跑起来了。
也可以查看Main PID: 5216 (java)知道PID是5216
3、停止tomcat:
① systemctl stop tomcat
② 进入tomcat目录下的bin,使用 ./shutdown.sh 或 ./catalina.sh stop
4、重启tomcat :
systemctl restart tomcat
5、开机启动tomcat:
systemctl enable tomcat
四、访问Tomcat
tomcat默认端口是8080,接下来浏览输入地址:http://服务器公网ip:8080/,可以看到tomcat的管理界面。
如果访问不了,有可能是服务器防火墙问题,8080端口被拦截了,需要打开8080端口,并保存重启防火墙:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
tomcat/conf/server.xml
修改tomcat/conf/server.xml,将8080端口号改为8090,重启服务
RHEL7 中使用了 firewalld代替了原来的 iptables,操作设置和原来有点不同
查看防火墙状态: systemctl status firewalld 或者 systemctl is-active firewalld
启动防火墙: systemctl start firewalld
停止防火墙: systemctl stop firewalld
永久停用: systemctl disable firewalld
启用防火墙: systemctl enable firewalld
修改tomcat/conf/server.xml,将8080端口号改为8090,重启服务
注意:不想修改端口的话,就需要将原占用8080端口的程序杀死了....
使用 netstat –apn | grep 8080,查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
然后使用kill -9 PID将进程杀死, 问题解决。
---------------------------------------------------------------------------------------------------------------------------------------
下面是查资料看到的某个导致端口被占用的原因,先记着,有空再看看
使用shutdown命令将机器关闭了,tomcat服务被动断开连接,导致出现close_wait这个状态,现在程序关闭之后原来所用端口依然被占用, 解决方法:
1) 优化服务器内核参数(/etc/sysctl.conf)
2) 做定时任务检查httpd进程数目,一旦发现httpd进程数目异常,就重启apache和tomcat, 建议在非工作时间进行检查重启,检查脚本:
#!/bin/sh
httpcount=`ps -ef|grep httpd|wc -l`
echo $httpcount
if [ $httpcount -gt 900 ]; then
killall httpd
killall java
/cicro/wcm/bin/startas.sh
echo "Restart successfully because of much useless process."
else
echo "It is OK!"
fi
---------------------
作者:光阴迷客
来源:CSDN
原文:https://blog.csdn.net/changqing5818/article/details/54376805
---------------------------------------------------------------------------------------------------------------------------------------
五、配置tomcat账号密码权限(登陆使用Web管理界面)
修改tomcat下的配置文件 tomcat-users.xml
[root@localhost ~]# vim /usr/local/tomcat/apache-tomcat-7.0.77/conf/tomcat-users.xml
添加以下代码:
注:username 和 password 则是登陆tomcat管理界面需要的账号密码。
:wq 保存退出,重启tomcat
标签:java,tomcat,部署,7.0,systemctl,linux,apache,8080
来源: https://www.cnblogs.com/mushuiboke/p/10715234.html