一、tomcat安装配置
1、 什么是tomcat
Tomcat就是用来解析jsp程序的一个软件;web容器;
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
2. 安装JDK
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。没有JDK的话,无法编译Java程序。
下载jdk 本篇使用的版本为jdk-8u31-linux-i586.tar.gz
32位JDK包:http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-i586.tar.gz
64位JDK包:http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz
下载后解压:
tar zxvf jdk-8u31-linux-i586.tar.gz
mv jdk1.8.0_31 /usr/local/jdk1.8.0_31
vim /etc/profile.d/java.sh //加入如下配置
1
2
3
4
5
|
JAVA_HOME=
/usr/local/jdk1
.8.0_31
JAVA_BIN=
/usr/local/jdk1
.8.0_31
/bin
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
CLASSPATH=
/usr/local/jdk1
.8.0_31
/jre/lib
:
/usr/local/jdk1
.8.0_31
/lib
:
/usr/local/jdk1
.8.0_31
/jre/lib/charsets
.jar
|
让java.sh生效执行#. /etc/profile.d/java.sh
如果以上配置成功,则下面的命令可以看到java的版本:
1
2
3
4
|
[root@localhost src]
# java -version
java version
"1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode)
|
3、安装tomcat
Tomcat 官网tomcat.apache.org
cd /usr/local/src/
# wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
# tar -zxvf apache-tomcat-7.0.62.tar.gz
# mv apache-tomcat-7.0.62 /usr/local/tomcat
# cp -pv /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
"/usr/local/tomcat/bin/catalina.sh" -> "/etc/init.d/tomcat"
vim /etc/init.d/tomcat //从第二行加入
1
2
3
4
5
6
|
# chkconfig: 2345 63 37
# 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
service tomcat start
ps aux |grep tomcat
1
2
3
4
5
6
7
8
9
10
11
|
[root@localhost src]
# service tomcat start
Using CATALINA_BASE:
/usr/local/tomcat
Using CATALINA_HOME:
/usr/local/tomcat
Using CATALINA_TMPDIR:
/usr/local/tomcat/temp
Using JRE_HOME:
/usr/local/jdk1
.8.0_31
Using CLASSPATH:
/usr/local/tomcat/bin/bootstrap
.jar:
/usr/local/tomcat/bin/tomcat-juli
.jar
Tomcat started.
[root@localhost src]
# ps aux |grep tomcat
root 9324 48.2 3.6 332716 37312 pts
/0
Sl 15:49 0:08
/usr/local/jdk1
.8.0_31
/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.Bootstrap start
root 9337 0.0 0.0 5980 740 pts
/0
S+ 15:49 0:00
grep
tomcat
|
浏览器输入 http://ip:8080 可以看到tomcat的欢迎页
4、配置tomcat
更改默认启动端口:
cd /usr/local/tomcat
vim conf/server.xml
把Connector port=“8080” 改为 Connector port="80"
配置新虚拟主机:
找到</Host>下一行插入新的<Host>内容如下:
1
2
3
4
5
|
<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
>
|
新建tomcatweb目录 # mkdir /data/tomcatweb
重启tomcat,先停止,在启动:
service tomcat stop
service tomcat start
查看监听的端口是否为80 # netstat -nlp |grep 80
5、测试jsp解析
vim /data/tomcatweb/111.jsp //内容如下:
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
使用curl进行测试,结果如下,会显示当前日期和时间:
1
2
3
4
|
[root@localhost tomcat]
# curl -xlocalhost:80 www.111.com/111.jsp
<html><body><center>
Now
time
is: Mon May 25 16:08:35 CST 2015
<
/center
><
/body
><
/html
>
|
windows更改host文件:192.168.20.30 www.111.com
打开浏览器www.111.com/111.jsp 访问测试
二、 resin安装配置
Resin是CAUCHO公司(http://www.caucho.com/)的产品,是一个非常流行的支持servlets 和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER。许多站点都是使用该WEB服务器构建的。
Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin来进行JSP编程是件很容易的事情。
Resin支持负载平衡(Load balancing),可以增加WEB站点的可靠性。方法是增加服务器的数量。比如一台SERVER的错误率是1%的话,那么支持负载平衡的两个Resin服务器就可以使错误率降到0.01%。
Resin有免费、收费版本;
1、安装jdk,步骤和上面tomcat安装一样;
2、安装resin
wget http://www.caucho.com/download/resin-4.0.36.tar.gz
tar zxvf resin-4.0.36.tar.gz
cd resin-4.0.36
./configure --prefix=/usr/local/resin --with-java-home=/usr/local/jdk1.8.0_31
make && make install
/etc/init.d/resin start
3、配置resin
cd /usr/local/resin/conf
vim resin.xml
结构: <cluster id="app"> <host></host> </cluster> 虚拟主机配置就在<host></host>里配置
1
2
3
|
<host
id
=
"www.a.com"
root-directory=
"."
>
<web-app
id
=
"/"
root-directory=
"/tmp/123"
/>
<
/host
>
|
新建目录mkdir /tmp/123
vim /tmp/123/111.jsp //加入
1
2
3
|
<html><body><center>
Now
time
is: <%=new java.util.Date()%>
<
/center
><
/body
><
/html
>
|
使用curl测试,可以显示当前日期和时间,说明jsp解析正确:
1
2
3
4
|
[root@localhost 123]
# curl -x127.0.0.1:8080 www.a.com/111.jsp
<html><body><center>
Now
time
is: Mon May 25 17:30:26 CST 2015
<
/center
><
/body
><
/html
>
|
1
2
3
4
5
6
7
|
[root@localhost 123]
# netstat -nlp |grep 80
tcp 0 0 127.0.0.1:6800 0.0.0.0:* LISTEN 11523
/java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 9456
/java
tcp 0 0 :::8009 :::* LISTEN 9456
/java
tcp 0 0 :::8080 :::* LISTEN 11523
/java
tcp 0 0 :::80 :::* LISTEN 9456
/java
unix 2 [ ACC ] STREAM LISTENING 9080 1276
/master
private
/lmtp
|
/usr/local/resin/conf/resin.properties 可以修改resin监听端口;
使用nginx代理resin,/usr/local/nginx/conf/vhosts/proxy.conf 进行配置;访问8080交给resin处理;
启动nginx:/etc/init.d/nginx start
1
2
3
4
5
6
7
8
9
10
|
[root@localhost vhosts]
# cat proxy.conf
server {
server_name www.a.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;
}
}
|
使用curl测试,本地80、8080端口都可以正确解析到jsp文件;
1
2
3
4
5
6
7
8
|
[root@localhost conf]
# curl -xlocalhost:80 www.a.com/111.jsp
<html><body><center>
Now
time
is: Tue May 26 17:52:54 CST 2015
<
/center
><
/body
><
/html
>
[root@localhost conf]
# curl -xlocalhost:8080 www.a.com/111.jsp
<html><body><center>
Now
time
is: Tue May 26 17:53:00 CST 2015
<
/center
><
/body
><
/html
>
|
停止nginx,再解析的话80端口提示未连接到主机;使用8080正常解析;
1
2
3
|
[root@localhost conf]
# /etc/init.d/nginx stop
停止 Nginx: [确定]
[root@localhost conf]
# curl -xlocalhost:80 curl: (7) couldn't connect to host
|
1
2
3
4
|
[root@localhost conf]
# curl -xlocalhost:8080 www.a.com/111.jsp
<html><body><center>
Now
time
is: Tue May 26 17:54:02 CST 2015
<
/center
><
/body
><
/html
>
|
windows更改host文件:192.168.20.30 www.a.com
浏览器访问 www.a.com/111.jsp 不用输入端口号,可以直接访问;