目前有很多網站使用jsp的程序編寫,所以解析jsp的程序就必須要有相關的軟件來完成。Tomcat就是用來解析jsp程序的一個軟件,Tomcat是Apache軟件基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司和個人共同開發而成。因爲Tomcat技術先進、性能穩定而且免費,因而深受Java愛好者的喜愛並得到部分軟件開發商的認可,成爲目前比較流行的web應用服務器。Tomcat是一個輕量級的應用服務器,在中小型系統和併發訪問量不是很多的場合下被普遍使用,是開發和調試jsp程序的首選。對於一個初學者來說,當一臺機器上配置好Apache服務器,可以用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache的擴展,但它是獨立運行的,所以當運行Tomcat時,它實際上作爲一個與Apache獨立的進程單獨運行的。
Tomcat的安裝分爲兩個步驟:安裝JDK和安裝Tomcat
JDK是Sun公司針對Java開發的產品,JDK是整個Java的核心,包括Java運行環境,Java工具,Java基礎類庫。所以要想運行jsp程序必須要有JDK的支持。
進入源碼包目錄:
[root@cp4 ~]# cd /usr/local/src/
下載JDK免編譯安裝包:
[root@cp4 src]# ls
jdk-8u31-linux-i586.tar.gz
解壓:
[root@cp4 src]# tar zxvf jdk-8u31-linux-i586.tar.gz
移動到安裝路徑下:
[root@cp4 src]# mv jdk1.8.0_31 /usr/local/
新建一個Java配置文件寫入如下內容:
[root@cp4 src]# vim /etc/profile.d/java.sh
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
初始化環境變量,使其立即生效:
[root@cp4 src]# source /etc/profile.d/java.sh
或者 . /etc/profile.d/java.sh
驗證是否成功:
[root@cp4 src]# java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) Server VM (build 25.31-b07, mixed mode)
Tomcat官網:http://tomcat.apache.org,我們下載Tomcat做演示:
進入源碼包目錄:
[root@cp4 ~]# cd /usr/local/src
下載Tomcat免編譯安裝包:
[root@cp4 src]# ls
apache-tomcat-7.0.75.tar.gz
解壓:
[root@cp4 src]# tar zxvf apache-tomcat-7.0.75.tar.gz
移動到安裝目錄並重命名爲tomcat:
[root@cp4 src]# mv apache-tomcat-7.0.75 /usr/local/tomcat
[root@cp4 src]# ls /usr/local/tomcat/
bin lib logs RELEASE-NOTES temp work
conf LICENSE NOTICE RUNNING.txt webapps
進入安裝目錄:
[root@cp4 src]# cd /usr/local/tomcat/
複製啓動腳本到init.d目錄並命名爲tomcat:
[root@cp4 tomcat]# cp -v bin/catalina.sh /etc/init.d/tomcat
"bin/catalina.sh" -> "/etc/init.d/tomcat"
編輯啓動腳本:
[root@cp4 tomcat]# vim /etc/init.d/tomcat
在前面加入下面四行內容:
#!/bin/sh
#chkconfig:2345 63 37
. /etc/init.d/functions
JAVA_HOME=/usr/local/jdk1.8.0_31
CATALINA_HOME=/usr/local/tomcat
更改啓動腳本權限:
[root@cp4 tomcat]# chmod 755 /etc/init.d/tomcat
加入開機啓動列表:
[root@cp4 tomcat]# chkconfig --add tomcat
設置爲開機啓動:
[root@cp4 tomcat]# chkconfig tomcat on
啓動Tomcat服務:
[root@cp4 tomcat]# /etc/init.d/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@cp4 tomcat]# ps aux | grep tomcat
root 1273 14.7 4.7 819628 91480 pts/0 Sl 00:43 0:07 /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 -Djdk.tls.ephemeralDHKeySize=2048 -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
查看端口(注意tomcat的進程名字是java,其實Tomcat啓動的是Java進程):
[root@cp4 tomcat]# netstat -lnp | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 1273/java
tcp 0 0 :::8009 :::* LISTEN 1273/java
tcp 0 0 :::8080 :::* LISTEN 1273/java
tomcat不支持restart重啓,只能先stop然後start
訪問之前確保關閉了防火牆iptables:
[root@cp4 tomcat]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
[root@cp4 tomcat]#
在瀏覽器中輸入:192.168.147.140:8080
出現上面的頁面說明Tomcat搭建成功。
Tomcat的安裝非常簡單,這裏介紹幾個簡單的配置。
配置文件目錄:
[root@cp4 tomcat]# cd /usr/local/tomcat/conf/
[root@cp4 conf]# ls
Catalina catalina.properties logging.properties tomcat-users.xml
catalina.policy context.xml server.xml web.xml
配置1:更改端口8080爲80
編輯配置文件:
[root@cp4 conf]# vim server.xml
把<Connector port="8080" >這個模塊的port改爲80:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
重啓tomcat,先stop,後start:
[root@cp4 conf]# vim server.xml
[root@cp4 conf]# /etc/init.d/tomcat stop
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
[root@cp4 conf]# /etc/init.d/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.
查看端口:(已經成功改成80)
[root@cp1 conf]# netstat -lnp | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2045/java
tcp 0 0 :::8009 :::* LISTEN 2045/java
tcp 0 0 :::80 :::* LISTEN 2045/java
配置2:添加虛擬主機www.test.com,根目錄爲/data/tomcatweb:
創建網站根目錄:
[root@cp4 conf]# mkdir -p /data/tomcatweb
編輯配置文件:
[root@cp4 conf]# vim server.xml
找到</Host>,在下面插入新的Host內容如下(參考模板:www.aminglinux.com/study_v2/chapter23.html):
<Host name="www.123.com" appBase="/data/tomcatweb"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="./" reloadable="true" crossContext="true"/>
</Host>
配置好後重啓tomcat:
[root@cp4 conf]# /etc/init.d/tomcat stop
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
[root@cp4 conf]# /etc/init.d/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@cp4 conf]# echo "This is a test file" > /data/tomcatweb/1.txt
測試訪問結果:
[root@cp4 conf]# curl -xlocalhost:80 www.123.com/1.txt
This is a test file for jsp
測試jsp解析:
[root@cp4 conf]# vim /data/tomcatweb/1.jsp
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>
測試訪問結果:
[root@cp4 conf]# curl -xlocalhost:80 www.123.com/1.jsp
<html>
<body>
<center>
Now time is: Sun Mar 12 00:59:48 CST 2017
</center>
</body>
</html>
如果解析出Date()函數顯示時間則表示我們配置的虛擬主機成功了。