天天看點

linux下配置tomcat、resin

一、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

<code>JAVA_HOME=</code><code>/usr/local/jdk1</code><code>.8.0_31</code>

<code>JAVA_BIN=</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/bin</code>

<code>JRE_HOME=</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/jre</code>

<code>PATH=$PATH:</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/bin</code><code>:</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/jre/bin</code>

<code>CLASSPATH=</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/jre/lib</code><code>:</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/lib</code><code>:</code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/jre/lib/charsets</code><code>.jar</code>

讓java.sh生效執行#. /etc/profile.d/java.sh

如果以上配置成功,則下面的指令可以看到java的版本:

<code>[root@localhost src]</code><code># java -version</code>

<code>java version </code><code>"1.8.0_31"</code>

<code>Java(TM) SE Runtime Environment (build 1.8.0_31-b13)</code>

<code>Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode)</code>

3、安裝tomcat

Tomcat 官網tomcat.apache.org

cd /usr/local/src/

# 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" -&gt; "/etc/init.d/tomcat"

vim /etc/init.d/tomcat  //從第二行加入

6

<code># chkconfig: 2345 63 37</code>

<code># description: tomcat server init script</code>

<code># Source Function Library</code>

<code>. </code><code>/etc/init</code><code>.d</code><code>/functions</code>

<code>CATALINA_HOME=</code><code>/usr/local/tomcat</code>

chmod 755 /etc/init.d/tomcat

chkconfig --add tomcat

chkconfig tomcat on

service tomcat start

ps aux |grep tomcat

7

8

9

10

11

<code>[root@localhost src]</code><code># service tomcat start</code>

<code>Using CATALINA_BASE:   </code><code>/usr/local/tomcat</code>

<code>Using CATALINA_HOME:   </code><code>/usr/local/tomcat</code>

<code>Using CATALINA_TMPDIR: </code><code>/usr/local/tomcat/temp</code>

<code>Using JRE_HOME:        </code><code>/usr/local/jdk1</code><code>.8.0_31</code>

<code>Using CLASSPATH:       </code><code>/usr/local/tomcat/bin/bootstrap</code><code>.jar:</code><code>/usr/local/tomcat/bin/tomcat-juli</code><code>.jar</code>

<code>Tomcat started.</code>

<code>[root@localhost src]</code><code># ps aux |grep tomcat</code>

<code>root      9324 48.2  3.6 332716 37312 pts</code><code>/0</code>    <code>Sl   15:49   0:08 </code><code>/usr/local/jdk1</code><code>.8.0_31</code><code>/bin/java</code> <code>-Djava.util.logging.config.</code><code>file</code><code>=</code><code>/usr/local/tomcat/conf/logging</code><code>.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.</code><code>dirs</code><code>=</code><code>/usr/local/tomcat/endorsed</code> <code>-classpath </code><code>/usr/local/tomcat/bin/bootstrap</code><code>.jar:</code><code>/usr/local/tomcat/bin/tomcat-juli</code><code>.jar -Dcatalina.base=</code><code>/usr/local/tomcat</code> <code>-Dcatalina.home=</code><code>/usr/local/tomcat</code> <code>-Djava.io.tmpdir=</code><code>/usr/local/tomcat/temp</code> <code>org.apache.catalina.startup.Bootstrap start</code>

<code>root      9337  0.0  0.0   5980   740 pts</code><code>/0</code>    <code>S+   15:49   0:00 </code><code>grep</code> <code>tomcat</code>

浏覽器輸入  http://ip:8080  可以看到tomcat的歡迎頁

<a href="http://s3.51cto.com/wyfs02/M00/6D/78/wKioL1VlNUCinzOOAAci9-Y20w8915.jpg" target="_blank"></a>

4、配置tomcat

更改預設啟動端口:

cd /usr/local/tomcat

vim conf/server.xml  

把Connector port=“8080”  改為 Connector port="80" 

配置新虛拟主機:

找到&lt;/Host&gt;下一行插入新的&lt;Host&gt;内容如下:

<code>&lt;Host name=</code><code>"www.111.com"</code> <code>appBase=</code><code>"/data/tomcatweb"</code>

<code>unpackWARs=</code><code>"false"</code> <code>autoDeploy=</code><code>"true"</code> <code>xmlValidation=</code><code>"false"</code>

<code>xmlNamespaceAware=</code><code>"false"</code><code>&gt;</code>

<code>&lt;Context path=</code><code>""</code> <code>docBase=</code><code>"./"</code> <code>debug=</code><code>"0"</code> <code>reloadable=</code><code>"true"</code> <code>crossContext=</code><code>"true"</code><code>/&gt;</code>

<code>&lt;</code><code>/Host</code><code>&gt;</code>

建立tomcatweb目錄    # mkdir /data/tomcatweb

重新開機tomcat,先停止,在啟動:

service tomcat stop

檢視監聽的端口是否為80    # netstat -nlp |grep 80

<a href="http://s3.51cto.com/wyfs02/M02/6D/78/wKioL1VlNZWAMuTGAAFYQ9enb6Y028.jpg" target="_blank"></a>

5、測試jsp解析

vim /data/tomcatweb/111.jsp     //内容如下:

&lt;html&gt;&lt;body&gt;&lt;center&gt;

Now time is: &lt;%=new java.util.Date()%&gt;

&lt;/center&gt;&lt;/body&gt;&lt;/html&gt;

使用curl進行測試,結果如下,會顯示目前日期和時間:

<code>[root@localhost tomcat]</code><code># curl -xlocalhost:80 www.111.com/111.jsp</code>

<code>&lt;html&gt;&lt;body&gt;&lt;center&gt;</code>

<code>Now </code><code>time</code> <code>is: Mon May 25 16:08:35 CST 2015</code>

<code>&lt;</code><code>/center</code><code>&gt;&lt;</code><code>/body</code><code>&gt;&lt;</code><code>/html</code><code>&gt;</code>

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  &amp;&amp; make install

/etc/init.d/resin start

3、配置resin

cd /usr/local/resin/conf

vim  resin.xml

結構: &lt;cluster  id="app"&gt; &lt;host&gt;&lt;/host&gt; &lt;/cluster&gt;  虛拟主機配置就在&lt;host&gt;&lt;/host&gt;裡配置

<code>    </code><code>&lt;host </code><code>id</code><code>=</code><code>"www.a.com"</code> <code>root-directory=</code><code>"."</code><code>&gt;</code>

<code>    </code><code>&lt;web-app </code><code>id</code><code>=</code><code>"/"</code> <code>root-directory=</code><code>"/tmp/123"</code><code>/&gt;</code>

<code>    </code><code>&lt;</code><code>/host</code><code>&gt;</code>

建立目錄mkdir /tmp/123

vim  /tmp/123/111.jsp  //加入

<code>Now </code><code>time</code> <code>is: &lt;%=new java.util.Date()%&gt;</code>

使用curl測試,可以顯示目前日期和時間,說明jsp解析正确:

<code>[root@localhost 123]</code><code># curl -x127.0.0.1:8080 www.a.com/111.jsp</code>

<code>Now </code><code>time</code> <code>is: Mon May 25 17:30:26 CST 2015</code>

<code>[root@localhost 123]</code><code># netstat -nlp |grep 80</code>

<code>tcp        0      0 127.0.0.1:6800              0.0.0.0:*          LISTEN      11523</code><code>/java</code>

<code>tcp        0      0 ::ffff:127.0.0.1:8005       :::*               LISTEN      9456</code><code>/java</code> 

<code>tcp        0      0 :::8009                     :::*               LISTEN      9456</code><code>/java</code> 

<code>tcp        0      0 :::8080                     :::*               LISTEN      11523</code><code>/java</code>

<code>tcp        0      0 :::80                       :::*               LISTEN      9456</code><code>/java</code> 

<code>unix  2      [ ACC ]     STREAM     LISTENING     9080   1276</code><code>/master</code>   <code>private</code><code>/lmtp</code>

/usr/local/resin/conf/resin.properties    可以修改resin監聽端口;

使用nginx代理resin,/usr/local/nginx/conf/vhosts/proxy.conf 進行配置;通路8080交給resin處理;

啟動nginx:/etc/init.d/nginx start

<code>[root@localhost vhosts]</code><code># cat proxy.conf </code>

<code>server {</code>

<code>    </code><code>server_name www.a.com;</code>

<code>    </code><code>location / {</code>

<code>         </code><code>proxy_pass   http:</code><code>//127</code><code>.0.0.1:8080/;</code>

<code>         </code><code>proxy_set_header Host   $host;</code>

<code>         </code><code>proxy_set_header X-Real-IP      $remote_addr;</code>

<code>         </code><code>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</code>

<code>    </code><code>}</code>

<code>}</code>

使用curl測試,本地80、8080端口都可以正确解析到jsp檔案;

<code>[root@localhost conf]</code><code># curl -xlocalhost:80 www.a.com/111.jsp</code>

<code>Now </code><code>time</code> <code>is: Tue May 26 17:52:54 CST 2015</code>

<code>[root@localhost conf]</code><code># curl -xlocalhost:8080 www.a.com/111.jsp</code>

<code>Now </code><code>time</code> <code>is: Tue May 26 17:53:00 CST 2015</code>

停止nginx,再解析的話80端口提示未連接配接到主機;使用8080正常解析;

<code>[root@localhost conf]</code><code># /etc/init.d/nginx stop</code>

<code>停止 Nginx:                                               [确定]</code>

<code>[root@localhost conf]</code><code># curl -xlocalhost:80 curl: (7) couldn't connect to host</code>

<code>Now </code><code>time</code> <code>is: Tue May 26 17:54:02 CST 2015</code>

windows更改host檔案:192.168.20.30 www.a.com

<a href="http://s3.51cto.com/wyfs02/M02/6D/7D/wKiom1VlNaexcI5aAABjUaxBWeI400.jpg" target="_blank"></a>

本文轉自 模範生 51CTO部落格,原文連結:http://blog.51cto.com/mofansheng/1655561,如需轉載請自行聯系原作者