普通用户运行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目录权限,不然可能会出现无法上传的问题。