封尘网

让学习成为一种习惯!

普通用户运行Tomcat7单机多实例

普通用户运行Tomcat7单机多实例

环境:Centos6.5 64位

单机多实例:就是说在一台机器上安装Tomcat服务,通过分开目录的配置以及端口来运行多个Tomcat服务,每个服务各大不影响。

bin:    运行及停止服务的一些相关脚本
conf:   配置文件目录
lib :   核心库文件
logs:   日志目录
temp:   临时目录
webapps:应用程序的目录【如web主目录也在这里】
work:   JVM临时文件目录

1、JDK的安装【Tomcat运行环境】:

2、JDK的下载地址:

http://pan.baidu.com/s/1mgSWvrU

jdk-7u51-linux-x64.tar.gz

tar -xf jdk-7u51-linux-x64.tar.gz
mv jdk-7u51-linux-x64/ /usr/local/java

配置java环境

# vi /etc/profile
加上以下信息
export JAVA_HOME=/usr/local/java
CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar
PATH=/usr/local/java/bin:$PATH
export PATH JAVA_HOME CLASSPATH

查看是否成功

# source /etc/profile
# java  -version //看到1.7的字样说明安装成功了

或者直接yum安装:yum install java-1.7.0-openjdk.x86_64 -y 本文JDK以Yum方式安装。

3、安装Tomcat

下载目录:http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz

创建一个目录,并把解压出来的文件目录复制几份【我这里跑三个实例,以端口命名】

tar xf apache-tomcat-7.0.68.tar.gz
cp -R apache-tomcat-7.0.68 /webserver/tomcat8081
cp -R apache-tomcat-7.0.68 /webserver/tomcat8082
cp -R apache-tomcat-7.0.68 /webserver/tomcat8083

修改配置文件:vim tomcat808X/conf/server.xml

修改三个端口:
tomcat8081 8005—>8015 8080—>8081 8009—>8019

并在配置文件后:上面添加一行为网站根目录

        <Context path="/new" docBase="/web/new"/>
      </Host>

============================================

tomcat8082 8005—>8025 8080—>8082 8009—>8029

并在配置文件后:上面添加一行为网站根目录

        <Context path="/blog" docBase="/web/blog"/>
      </Host>

============================================

tomcat8083 8005—>8035 8080—>8083 8009—>8039
并在配置文件后:上面添加一行为网站根目录


        <Context path="/bbs" docBase="/web/bbs"/>
      </Host>

启动服务:

./tomcat8081/bin/startup.sh
./tomcat8082/bin/startup.sh
./tomcat8083/bin/startup.sh

Tomcat修改默认端口,把红色的8080改成80即可,记得要重启Tomcat服务。


[root@tomcat01 tomcat]# vim conf/server.xml
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

添加虚拟目录:在标签上添加一行,注意格式。

        <Context path="/bbs" docBase="/web/bbs"/>
      </Host>

记得要重启Tomcat服务,此时创建一个index.jsp文件。

[root@tomcat01 tomcat]# vim /web/bbs/index.jsp

<html>
<head><title>Tomcat</title></head>
<body>
<%
        out.println("<h1>Hello World!</h1>");
        out.println("<h1>www.58jb.com</h1>");
%>
</body>
</html>

以普通用户运行Tomcat服务
默认情况下Tomcat服务我们都是以Root用户来运行,这样权限很大不安全。
方法:利用daemon方式启动Tomcat服务。

添加一个用户:useradd tomcat -s /sbin/nologin -M

进入Tomcat目录下的bin目录编译jsvc【因为使用daemon启动时会使用此文件】

cd /webserver/tomcat7070/bin/
tar xf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix/
sh support/buildconf.sh
./configure --with-java=/usr/java/jdk1.7.0_79
#--with-java=/usr/java/jdk1.7.0_79 这个是指定jdk的具体路径,因为编译jsvc需要用到jdk。
make
cp jsvc /webserver/tomcat7070/bin/
rm -fr  /webserver/tomcat7070/bin/commons-daemon-1.0.15-native-src

配置jsvc的daemon启动脚本,并在文件头部添加以下环境变量,根据自己情况修改。

#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.7.0_79
export TOMCAT_HOME=/webserver/tomcat7070
export CATALINA_HOME=/webserver/tomcat7070
export CATALINA_BASE=/webserver/tomcat7070
export CATALINA_TMPDIR=/webserver/tomcat7070/temp

如果添加的用户不是tomcat的话,还要修改bin/daemon.sh,把下面的tomcat修改为添加的用户名即可。

94 test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
95 # Set JAVA_HOME to working JDK or JRE
96 # JAVA_HOME=/opt/jdk-1.6.0.22

复制脚本到以下目录:默认已经有执行权限了。

cp daemon.sh /etc/init.d/tomcat

启动脚本:

[root@tomcat01 bin]# /etc/init.d/tomcat start

由于我们的网站目录变更了,同时也使用普通用户来运行,所以要给Tomcat目录权限,不然可能会出现无法上传的问题。

提醒:本文最后更新于 2761 天前,文中所描述的信息可能已发生改变,请谨慎使用。