29.0.0: tomcat and resin



1. java环境的搭建

1.1 下载、解压、移动到/usr/local下

wget http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-i586.tar.gz?AuthParam=1422419381_ceb748e2746ae7941d97dbe748bd6853
tar zxvf jdk-8u31-linux-i586.tar.gz
mv jdk1.8.0_31 /usr/local/

1.2 在profile.d目录下加入jdk运行环境初始化的脚本

cat << EOF > /etc/profile.d/java.sh
JAVA_HOME=/usr/local/jdk1.8.0_31
JRE_HOME=/usr/local/jdk1.8.0_31/jre
PATH=$PATH:/usr/local/jdk1.8.0_31/bin:/usr/local/jdk1.8.0_31/jre/bin
EOF

# 分析下/etc/profile你就会知道,/etc/profile.d目录下的脚本会在开机时逐一执行
. /etc/profile.d/java.sh

1.3 安装完毕,查看下版本

java -version
java version "1.8.0_31"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-i386 u45-b15)
OpenJDK Client VM (build 24.45-b08, mixed mode, sharing) 

2. tomcat

2.1 下载、解压、移动并更名到/usr/local/tomcat

wget http://mirror.nus.edu.sg/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
tar zxvf jdk-8u31-linux-i586.tar.gz
mv apache-tomcat-7.0.57 /usr/local/tomcat

2.2 复制启动脚本到/etc/init.d/tamcat,并在脚本中增加chkconfig、jdk路径、tomcat路径初始化语句

cp -pv /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
vim /etc/init.d/tomcat
=================================================
#在第二行增加以下代码
# chkconfig: 2345 63 37              #以前讲过,chkconfig后跟着的是开机启动level 启动优先 停止优先。
# description: tomcat server init script
# Source Function Library
. /etc/init.d/functions
JAVA_HOME=/usr/local/jdk1.8.0_31
CATALINA_HOME=/usr/local/tomcat
=================================================
chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on

2.3 启动脚本

service tomcat start

2.4 查看启动情况

ps aux |grep tomcat


# 端口号的配置
grep 'port="8080"' /usr/local/tomcat/conf/server.xml
    <Connector port="8080" protocol="HTTP/1.1"
               port="8080" protocol="HTTP/1.1"

浏览器输入http://192.168.0.26:8080

我的虚拟机ip是192.168.0.26,要视情况而定

2.5 配置tomcat域名及port,及准备jsp测试文件

vi /usr/local/tomcat/conf/server.xml
====================================================
# 把protocol为http的connector的port从8080更改为80
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
# 添加virtual host,指定Host name和appBase
<Host name="www.111.com" appBase="/data/tomcatweb"
 unpackWARs="false" autoDeploy="true" xmlValidation="false"
 xmlNamespaceAware="false">
<Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>
</Host>
====================================================

vi /data/tomcatweb/index.jsp
====================================================
<html>
        <body>
        <center> Now time is: <%=new java.util.Date()%> </center>
        </body>
</html>
====================================================

2.6 重启tomcat服务(记得关闭80端口的占用进程)、访问virtual host测试

service tomcat stop
service tomcat start

curl -xlocalhost:80 www.111.com
<html>
        <body>
        <center> Now time is: Thu Jan 29 17:32:20 SGT 2015 </center>
        </body>
</html> 

3. resin

3.1 下载、解压、编译安装

wget http://caucho.com/download/resin-4.0.42.tar.gz

# 进入解压后的目录
./configure --prefix=/usr/local/resin --with-java-home=/usr/local/jdk1.8.0_31
make
make install

3.2 启动、查看启动状况

service resin start

3.3 修改配置文件和jsp文件

cd /usr/local/resin/conf/

vi resin.xml
=================================================
<!--####add here####-->
    <host id="www.111.com" root-directory=".">
    <web-app id="/" root-directory="/data/resin"/>
    </host>
=================================================

vi /data/resin/index.jsp
=================================================
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
=================================================

3.4 访问效果

curl -xlocalhost:8080 www.111.com
<html><body><center>
Now time is: Thu Jan 29 21:56:34 SGT 2015
</center></body></html> 

4. resin+nginx(代理)

4.1 nginx代理配置

cat << EOF > /usr/local/nginx/conf/vhost/proxy.conf
server {
    listen 80;
    server_name www.122.com;
     
    location / {
        proxy_pass      http://127.0.0.1:8080/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
EOF

4.2 resin配置

vi /usr/local/resin/conf/resin.xml
===================================================
<host id="www.122.com" root-directory=".">
    <web-app id="/" root-directory="/data/resin"/>
    </host>
===================================================

4.3 此时的端口状态和进程状态

ps aux |grep -E 'resin|nginx'

netstat -lntp |grep ':80'

4.4 通过访问80和8080来查看代理结果

curl -xlocalhost:80 www.122.com
<html><body><center>
Now time is: Thu Jan 29 23:34:28 SGT 2015
</center></body></html>

curl -xlocalhost:8080 www.122.com
<html><body><center>
Now time is: Thu Jan 29 23:34:39 SGT 2015
</center></body></html>