安装和配置
一、上传和解压
先将安装压缩包(以apache-tomcat-7.0.70-windows-x64.zip为例)上传到CentOS的 /work/tomcat
之后解压压缩包:
[root@localhost tomcat]$ unzip apache-tomcat-7.0.70-windows-x64.zip
[root@localhost tomcat]$ mv apache-tomcat-7.0.70 tomcat7
此时tomcat文件夹下应该是有个.zip压缩包和tomcat7文件夹
解压的tomcat放在tomcat7文件夹下面
二、配置
接下来配置环境变量:
1. 设置$TOMCAT_HOME环境变量
注意:
一般环境变量都是在 /etc/profile
里面进行配置,下面的 ~/.bash_profile
可以替换为 /etc/profile
[root@localhost ~]$ vi ~/.bash_profile
#set tomcat environment
TOMCAT_HOME=/work/tomcat/tomcat7
export TOMCAT_HOME
#set tomcat environment
TOMCAT_HOME1=/work/tomcat/tomcat7_1
export TOMCAT_HOME1
TOMCAT_HOME2=/work/tomcat/tomcat7_2
export TOMCAT_HOME2
# 立即生效
[root@localhost ~]$ source ~/.bash_profile
# 测试
[root@localhost ~]$ echo $TOMCAT_HOME
2. 安装服务守候程序
编译安装tomcat daemon服务守候程序
[root@localhost ~]$ cd $TOMCAT_HOME/bin/
[root@localhost ~]$ tar xvzf commons-daemon-native.tar.gz
[root@localhost ~]$ cd commons-daemon-1.0.15-native-src/unix
# 编译(注意:需要先安装好make,gcc等编译工具)
[root@localhost ~]$ ./configure
在执行时可能会出现如下错误提示:
*** Java compilation tools ***
checking for JDK location… configure: error: Java Home not defined. Rerun with --with-java=… parameter
这是由于没有指定jdk目录所致的,那么按提示指定with-java参数(指向jdk目录)。如下:
[root@localhost ~]$ ./configure --with-java=/usr/java/jdk1.7.0_71
运行完成后会提示如下信息说明操作成功
*** All done ***
Now you can issue “make”
执行make:
[root@localhost ~]$ make
执行make后会生成一个 jsvc
的文件,将其复制到tomcat的bin目录。
[root@localhost ~]$ cp jsvc $TOMCAT_HOME/bin
在 tomcat/bin
目录里面有一个 daemon.sh
这个文件就是启动和关闭tomcat的服务守候程序。
注意:
之前的一些tomcat版本,例如tomcat 6.0.x, 可能没有这个文件, 其实这个文件就是放在 commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh
这儿的(此目录还有一个 Tomcat5.sh
),只不过新版本的tomcat把它移动到了bin目录下,并取名为 daemon.sh
了。所以,如果您使用的是 tomcat 6
,那就把这个 Tomcat7.sh
文件复制到 bin
目录下,并取名为 daemon.sh
即可
修改daemon.sh
[root@localhost ~]$ cd $TOMCAT_HOME/bin
[root@localhost ~]$ vi daemon.sh
文件开头添加服务启动信息如
# !/bin/sh
# chkconfig: 2345 90 10
# description: tomcat7
先加入如下语句:
[root@localhost ~]$ vi $TOMCAT_HOME/bin/daemon.sh
# JAVA_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m "
找到类似下面这样配置段:
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22
修改 TOMCAT_USER=tomcat
为您要指定身份运行的账号用户名,例如此处指定用户名为 greenday
并把 JAVA_HOME=...
前面的注释(即“#”号
)去掉,并设置为jdk的安装目录路径
,最后,修改好后的配置段变成如下:
test ".$TOMCAT_USER" = . && TOMCAT_USER=greenday
JAVA_HOME=/us_r/java/jdk1.7.071
/usr/java/jdk1.7.0_71
之后保存并退出
修改所有者,添加执行权限
[root@localhost ~]$ chown -R greenday:greenday /work/tomcat/tomcat7
在这里可能会有错误提示:chown: 无效的用户: “greenday:greenday”
是因为还没有greenday这个用户,就需要添加个用户:
[root@localhost ~]$ useradd greenday
[root@localhost ~]$ chmod a+x /work/tomcat/tomcat7/bin/*.sh
附:
修改greenday用户密码:
[root@localhost ~]$ passwd greenday
3. 测试
测试(启动之后可以到浏览器访问一下本机地址看能不能进到Tomcat主页)
[root@localhost ~]$ ./daemon.sh start
[root@localhost ~]$ ./daemon.sh stop
4. 添加服务
创建一个软链到 /etc/init.d/
目录中即可:
[root@localhost ~]$ ln -s /work/tomcat/tomcat7/bin/daemon.sh /etc/init.d/tomcat7
这样就创建了一个名为 tomcat7
的服务
启动tomcat7服务并在浏览器测试:
[root@localhost ~]$ /etc/init.d/tomcat7 start
[root@localhost ~]$ /etc/init.d/tomcat7 stop
测试:
[root@localhost ~]$ service tomcat7 start
[root@localhost ~]$ service tomcat7 stop
5. 开机启动设置
# 设置tomcat服务开机启动
[root@localhost ~]$ chkconfig tomcat7 on
# 查看
[root@cent01 conf]# chkconfig --list|grep tomcat7
tomcat7 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# 关闭开机启动
[root@localhost ~]$ chkconfig tomcat7 off
6. 端口相关配置
- 配置80端口:
首先到Tomcat的安装目录下修改server.xml
文件中的8080
端口为80
端口,同时在对应地方加上编码设置:URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
将8080改为80端口,之后在终端Terminal中查看CentOS端口占用情况,比如查看80端口占用情况使用如下命令:
(公司服务器以后Tomcat端口顺序修改为8081,8082这样的命名方式,然后nginx端口还是80不变)
[root@localhost ~]$ lsof -i tcp:80
# 列出所有端口:
[root@localhost ~]$ netstat -ntlp
- 配置编码:
tomcat的conf下面的web.xml文件下,默认以下代码段是被注释的,把注释去掉:
- 开启端口:
打开配置文件:
[root@localhost ~]$ vi /etc/sysconfig/iptables
# 加入如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 81 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 82 -j ACCEPT
保存并退出,之后重启防火墙:
注意: 这些配置就像用命令配置IP一样,重起就会失去作用,怎么保存:
[root@localhost ~]$ /etc/rc.d/init.d/iptables save
[root@localhost ~]$ service iptables restart
- 其他配置
$TOMCAT_HOME/conf/logging.properties
里像下图那样注释掉日志:
最后把Tomcat的Webapps里面的东西,除了ROOT外,其他的都删除掉(也可保留,这个随意)
注意:
如果一个Linux上面装了多个Tomcat,要设置同时开机启动的话还要在Tomcat的conf文件夹下的server.xml下面修改其中一个Tomcat的端口如下:
一个tomcat里面的配置文件不做修改,比如说我们不去改动 tomcat1 ,只对 tomcat2 做修改,打开它的conf文件夹,你会看到有一个server.xml 文件,我们需要修改的就是这个文件里面的几个地方:
1、修改连接端口
<Server port="8005" shutdown="SHUTDOWN">
– 将8005修改为9005
2、修改访问端口号
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
– 将8080端口修改为8081端口
3、修改AJP连接端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
– 将8009修改为9009
三、设置开机启动的补充说明
1. 切换到 tomcat/bin
目录下
用 sudo vi startup.sh
编辑文件
然后在 startup.sh
的文件开头的地方添加如下内容
#chkconfig: 2345 80 90
#description:tomcat auto start
#processname: tomcat
2. 编辑catalina.sh文件.
[root@localhost ~]$ sudo vi catalina.sh
# 然后输入export按回车开始搜索export
# 然后fi之上添加环境变量
export CATALINA_BASE=/usr/lib/apache-tomcat-7.0.64
export CATALINA_HOME=/usr/lib/apache-tomcat-7.0.64
export CATALINA_TMPDIR=/usr/lib/apache-tomcat-7.0.64
3. 然后添加连接
[root@localhost ~]$ ln -s /usr/apache-tomcat-7.0.64/bin/startup.sh /etc/rc.d/init.d/tomcat7
通过上面的命令将 startup.sh
文件链接到 init.d
目录下名称为 tomcat7
4. 然后切换到 /etc/rc.d/init.d/
目录
用 ll
查看一下tomcat是否有可执行权限
如果没有的话使用 chmod +x tomcat7
添加执行权限
然后用 chkconfig --add tomcat7
添加开机启动服务
最后使用 chkconfig --list
确认一下是否添加成功