tomcat基本的服务配置搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat基本的服务配置搭建相关的知识,希望对你有一定的参考价值。

 

实验环境:

redhat6.6,防火墙和Selinux已经关闭

说明:我用的tomcat7版本,apache-tomcat-7.0.42.zipjdkjdk1.8.0_121.tar.gz,线上环境安装tomcat时,最好带上主版本,jdkrpm.bin的方式,我这里做实验,因为tar.gzjdk下载快,binjdk比较大,我这里说明下也这种安装方式。另外解压后的软件我都放到/usr/local/,简单的办法是用-C-d 指定路径

一、安装jdk

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载完成后生成一个bin文件或者用jdk.tar.gz

 

方法1,用jdkrpm.bin方式安装tomcat环境jdk

1. 安装 JDK 之前,先检查下有没有系统自带的 JDK,如果存在建议卸载,检查:
 [[email protected] ~]# rpm -qa | grep -i
Java
2. 卸载以 java 开头的文件
[[email protected] ~]# rpm -e --nodeps java_cup-0.10k-5.el6.x86_64 --nodeps

 

3. 卸载完后输入:
[[email protected] ~]# java -version
 
提示-bash: java: command not found,表示已卸载成功。
4.
安装
上传jdk/root

修改其权限:chmod775 xxxxxx.bin 执行 ./xxxxxx.bin首先执行安装.bin 文件的命令:
执行完成后生成一个jdk1.6.0_23的文件夹。

[[email protected] ~]# ./jdk-6u22-Linux-x64-rpm.bin
 
安装 rpm 包:
[[email protected] ~]# rpm -ivh jdk-6u22-linux-amd64.rpm --nodeps --force

 如果无法安装,要增加执行权限  chmod +xjdk-6u22-linux-x64-rpm.bin(jdk-6u22-linux-amd64.rpm ) 
方法2,用tar.gzjdk 部署tomcatjdk环境

 

 

二、添加tomcat用户,配置环境变量

说明,我这里用的是第二种安装jdk的方法

为安全起见这里仅采用修改用户环境变量的方式设置环境变量,即不用root账户。而是创建一个tomcat账户,使用jdk的用户为tomcat,可用来单独管理 tomcat 的相关服务,如果是root用户,可以在/etc/profile中设置环境变量

添加tomcat 用户、密码,tomcat下载地址:http://tomcat.apache.org/ 

 [[email protected] ~]# useradd tomcat
 [[email protected] ~]## passwd tomcat
切换到 tomcat 用户:
[[email protected] ~]## su - tomcat

 

修改文件后要想马上生效还要运行source /home/tomcat/.bash_profile 不然只能在下次重进此用户时生效。修改环境变量

 使用 tomcat 用户 vi /home/tomcat/.bash_profile 文件,加入如下内容,如图:
export JAVA_HOME=/usr/local/tomcat_jdk //
我的jdk安装路径
export CLASSPATH=.:$JAVA_HOME/lib.tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export CATALINA_BASE=/usr/local/tomcat   //
我的tomcat安装路径
export CATALINA_HOME=/usr/local/tomcat

在终端使用echo命令检查环境变量设置情况,安装好后查看 jdk 版本

#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
检查JDK是否安装成功:
#java -version
如果看到JVM版本及相关信息,即安装成功

 

三、安装tomcat

1root 用户将文件包进行解压,执行如下命令
[[email protected] ~]# cd /
[[email protected] ~]# apache-tomcat-7.0.42

[[email protected] ~]# mv apache-tomcat-7.0.42 /usr/local/tomcat

 

2、配置管理用户
/usr/local/tomcat/ 的所有文件拥有者改为 tomcat,执行命令:
[[email protected] ~]# chown -R tomcat:tomcat /usr/local/tomcat/

 

设置tomcat用户

tomcat-users.xml

<tomcat-users></tomcat-users>之间添加下面语句

<role rolename="admin-gui"/>

<role rolename="manager-gui"/>

<user username="tomcat"password="tomcat" roles="admin-gui"/>

<user username="admin"password="1234" roles="manager-gui"/>

其中用户名为tomcat,密码为tomcat的是用来登录tomcatHost Manager的,而用户名为admin,密码为1234是用来登录tomcatApp Manager

 

3、启动 tomcat,提示 tomcat 启动信息,如下

[[email protected] ]#cd /usr/local/tomcat/bin
[[email protected] bin] #./startup.sh
[[email protected] bin]# chmod 755 startup.sh

[[email protected] bin]# ./startup.sh

Cannot find ./catalina.sh

The file is absent or does not have executepermission

This file is needed to run this program

[[email protected] bin]# chmod 777 *.sh

[[email protected] bin]# ./startup.sh

Neither the JAVA_HOME nor the JRE_HOMEenvironmentvariable is defined

At least one of these environment variableis needed torun this program

[[email protected] bin]#

 

 

 

4、查看 java 进程和tomcat默认的8080端口是否已经开启

[[email protected] bin]# ps axuwf|grep java
root       7539  0.0  0.0103252   828 pts/1    S+   17:29  0:00  |       \_ grep java
root       7519 18.4  3.8 2484700 98416pxs/1   Sl   17:28   0:06/usr/local/tomcat_jdk/bin/java-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar-Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat-Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrapstart
[[email protected] bin]# netstat -lnpt | grep 8080
tcp        0      0:::8080                    :::*                       LISTEN      7519/java          
[[email protected] bin]#

 

5、设置tomcat开机自启动
修改/etc/rc.local文件再最后添加如下内容
JAVA_HOME=/usr/local/tomcat_jdk
export JAVA_HOME

 

6、测试
测试tomcat 打开ie,输入URL http://ip地址:8080 可以看到tomcat的启动欢迎页面,证明tomcat配置正确,tomcat/conf/server.xml中可以修改默认的端口号:例如修改成8088,注意:不要像在windows里面一样去增加<Context>元素

 

四、优化调整

 

1、字符集和线程数设置
Tomcat6
字符集修改文件:/usr/local/tomcat/conf/server.xml,打开,搜索 Connector port="8080",找到类似如下代码区域:
<Connector port="8080" protocol="HTTP/1.1" 
   connectionTimeout="20000" 
   redirectPort="8443"
 maxThreads="600" 
 minSpareThreads="100"
 maxSpareThreads="500" 
 acceptCount="700" 
 enableLookups="false"
 URIEncoding="utf-8"/>

 

2JVM 设置

加大tomcat可以使用的内存,在/usr/local/tomcat/bin/catalina.sh前面增加如下内容:
JAVA_OPTS="-server –Xms1024m -Xmx1024m -XX:PermSize=64M-XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true"

 

五、遇到的问题

windows中修改catalina.sh后用ssh上传到linux执行报错
    
问题:
   
由于tomcat内存溢出,在windows下修改了catalina.sh,然后通过ssh传到linux服务器上,执行catalina.sh时出现如下错误:
Cannot find ./catalina.sh   
This file is needed to run this program  
解决方案
    .sh
文件都不是可执行文件,于是找到命令:chmod +x *.sh,这个命令的意思是让所有的.sh文件都可执行。再次执行sh catalina.sh通过,然后用sh startup.sh成功启动。

如果输入上面url访问失败,即tomcat启动失败,请用下面的方法来尝试处理
(1).
权限问题,用户权限和文件是否有可执行权限。
a.
普通用户权限一般不足,用chmod命令给用户加权限,我是用root用户来进行安装的,因此没有遇到这个问题。
b.
文件的权限不够,大部分时候是没有可执行权限。我在安装过程中失败后,给下面文件(xxxxx.bin)文件夹中所有文件赋予了可执行权限。可用下面的命令。
# chmod 777 "
文件名" (如:#chmod 777 startup.sh)
(2)
防火墙和端口问题查看tomcat8080端是否开启
首先确定是不是防火墙问题,可以运行下面命令将防火墙服务关闭,然后再访问看是否正常。如果正常,说明是防火墙问题,我安装过程就是遇到这个问题,后来发现时防火墙问题,用下面方法解决掉


本文出自 “12214694” 博客,转载请与作者联系!

以上是关于tomcat基本的服务配置搭建的主要内容,如果未能解决你的问题,请参考以下文章

Linux系列手动命令安装软件和服务器基本环境搭建

MyEclipse 10 下Tomcat虚拟机环境搭建

solr环境搭建&基本使用

servlet(学习基本原理)

servlet创建项目过程中,servlet内容重写的两种搭建,tomcat的配置,class的存放位置,web.xml的搭建等注意事项与易错点

微服务springcloud的服务在tomcat中的部署