Tomcat 介绍
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
Tomcat 的安装
官网下载压缩包
在Apache官网下载编译好的Tomcat压缩包,将下载的文件移动到 /usr/local (也可以放到其他目录)
cd /usr/local
tar -zxvf apache-tomcat-7.0.82.tar.gz
解压完成之后,可以删除压缩包
rm -f apache-tomcat-7.0.82.tar.gz
yum 安装
也可以直接使用 yum 命令进行安装
yum install -y tomcat
设置开机启动
systemctl enable tomcat
Tomcat 启动、重启、关闭
- 压缩包安装
启动
cd /usr/local/apache-tomcat-7.0.82/bin
bash startup.sh
重启
cd /usr/local/apache-tomcat-7.0.82/bin
bash shutdown.sh
bash startup.sh
关闭
cd /usr/local/apache-tomcat-7.0.82/bin
bash shutdown.sh
- yum 命令安装
启动
systemctl start tomcat
重启
systemctl restart tomcat
关闭
systemctl stop tomcat
配置防火墙
现在部分云服务器商默认已经关闭了防火墙,改成在网页配置安全策略。这样比自己配置服务器要方便不少。如果配置了防火墙,依然无法访问,可能需要在云服务器商后台添加安全策略。
CentOS 7 默认使用 firewall 来作为防火墙
firewall配置
查看当前 firewall 服务是否运行
systemctl status firewalld
如果没有运行,启动
systemctl start firewalld
查看当前已经开放的端口
firewall-cmd --zone=public --list-ports
开放 8080 端口
#参数permanent 代表永久生效 去掉该参数该端口将在服务器重启后失效
firewall-cmd --zone=public --add-port=8080/tcp --permanent
更新防火墙规则
firewall-cmd --reload
查看是否设置成功
firewall-cmd --zone= public --query-port=80/tcp
取消开放80端口
#参数permanent 代表永久生效 去掉该参数该端口将在服务器重启后失效
firewall-cmd --zone= public --remove-port=8080/tcp --permanent
iptables 设置
如果习惯CentOS 7之前版本的操心,可能更喜欢使用 iptables 来配置防火墙。
查看当前 firewall 服务是否运行
systemctl status firewalld
如果在运行,关闭 firewall 服务
systemctl stop firewalld
禁止 firewall 开机启动
sytsemctl disable firewalld
安装iptables
yum install -y iptables-services
编辑防火墙配置文件
vi /etc/sysconfig/iptables
参照开放的22端口添加一列开放8080端口
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -jACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
重启 iptables 服务
systemctl restart iptables
设置开机启动
systemctl enable iptables
关闭SELINUX
SELINUX 配置比较复杂,容易和其它服务起冲突,如果自身不是很擅长设置 SELINUX ,建议最好关掉,以免出现一些莫名其妙的问题。
修改 SELINUX 配置文件
vi /etc/selinux/config
注释掉以下内容:
#SELINUX=enforcing
#SELINUXTYPE=targeted
增加以下内容:
SELINUX=disabled
最后再执行 setenforce 命令关闭 SELINUX 服务
setenforce 0