登录后台

页面导航

本文编写于 2510 天前,最后修改于 1430 天前,其中某些信息可能已经过时。

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