Linux下 安装Tomcat

安装和配置

一、上传和解压

先将安装压缩包(以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 确认一下是否添加成功
开机服务查看

猜你喜欢

转载自blog.csdn.net/Laputa_Castle/article/details/130129184