Tomcat配置
php
Tomcat介紹 html
1.Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其餘一些公司及我的共同開發而成。java
2.java程序寫的網站用tomcat+jdk來運行mysql
3.tomcat是一箇中間件,真正起做用的,解析java腳本的是jdklinux
4.jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。nginx
5.最主流的jdk爲sun公司發佈的jdk,除此以外,其實IBM公司也有發佈JDK,CentOS上也能夠用yum安裝openjdkweb
安裝jdksql
要想運行tomcat必須先安裝jdk,由於啓動tomcat須要依賴jdk的一些環境變量數據庫
jdk版本,他們說的六、七、8版本實際上就是1.6,1.7,1.8 apache
官網下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
先點這個
下載這個
下載jdk8,放到/usr/local/src/目錄下
步驟:
1.先進到:cd /usr/local/src/目錄下
2.而後用xftp進行傳輸到linux上,先放到root目錄下ctrl alt+f
再把包放到rsc目錄下來:mv zxvf jdk-8u181-linux-x64.tar.gz /usr/local/src/
3.解壓jdk文件:tar zxvf jdk-8u181-linux-x64.tar.gz
4.把它放到usr/local/目錄下並更名爲jdk1.8:mv jdk1.8.0_181 /usr/local/jdk1.8
5.編輯配置文件(這個文件是設置環境變量的):vi /etc/profile //最後面增長
JAVA_HOME=/usr/local/jdk1.8/ JAVA_BIN=/usr/local/jdk1.8/bin JRE_HOME=/usr/local/jdk1.8/jre PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
6.生效:source /etc/profile
7.檢驗是否安裝成功:java -version 下面這種結果證實安裝成功
安裝tomcat
進入到:cd /usr/local/src目錄下:
下載tomcat:wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
解壓:tar zxvf apache-tomcat-8.5.32.tar.gz
把它移動到local/目錄下並更名叫tomcat:mv apache-tomcat-8.5.32 /usr/local/tomcat
啓動tomcat:/usr/local/tomcat/bin/startup.sh (關閉:/usr/local/tomcat/bin/shutdown.sh)
查看進程:ps aux|grep java
ps aux|grep tomcat
查看監聽端口:netstat -lntp |grep java
三個端口8080爲提供web服務的端口,8005爲管理端口,8009端口爲第三方服務調用的端口,好比httpd和Tomcat結合時會用到
如今能夠訪問如下:192.168.232.132:8080
若是我想直接訪問這個IP就能訪問到,默認web端口就是80,不須要輸入後邊的8080端口,這就須要監聽80端口,而tomcta也支持自定義端口:
方法:
tomcta支持自定義端口,例如你想把8080改爲80端口,方法以下:
配置tomcat監聽端口爲80方法:
編輯tomcat的配置文件:vim /usr/local/tomcat/conf/server.xml 搜索:/8080
Connector port="8080" protocol="HTTP/1.1"修改成Connector port="80" protocol="HTTP/1.1"
重啓服務tomcat:
先關閉:/usr/local/tomcat/bin/shutdown.sh
再重啓:/usr/local/tomcat/bin/startup.sh
查看是否有監聽80端口:netstat -lntp |grep java 由於剛設置完因此還沒監聽80端口
若是沒有80端口,查看Java進程是否開啓:ps aux |grep java
查看是否有80端口:netstat -lntp |grep 80
有而且顯示nginx佔用,則須要關閉nginx服務:/etc/init.d/nginx stop
而後重啓tamcat服務,在查看:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
查看是否有監聽80端口:netstat -lntp |grep java
在連接就不須要輸入8080端口了,直接輸入ip就能夠,由於8005端口沒啓動起來因此他訪問會很慢
配置tomcat的虛擬主機
虛擬主機配置文件,就是說一臺服務器上,一個web server能夠支持一個ip下邊能夠訪問多個域名,每個域名錶明着一個網站,因此咱們能夠配置多個網站
編輯配置文件:vim /usr/local/tomcat/conf/server.xml 搜索:<Host
其中<Host>和</Host>之間的配置爲虛擬主機配置部分。
name:定義域名;
appBase:定義應用的目錄,Java的應用一般是一個jar的壓縮包,壓縮包裏邊一般放的是運行網站的一些文件和配置,jsp的一些代碼,還有和數據庫相關的一些東西,你只須要將jar的壓縮包放到webapps目錄下面便可;
unpackWARs:true (自動解壓):是否自動解壓WAR包,意思就是說你把war包放到webapps裏邊他自動就給你解壓了。
若是你不想讓網站的程序以war包的形式存在那還能夠吧他們放到一個目錄裏,也就是說自定義一個目錄,把那些程序放到目錄下。自定義docBase
剛剛阿銘訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。
在增長一個增長虛擬主機,編輯server.xml,在最下面的</Host>下面增長以下內容:
域名定義成www.123.com
在定義一個docBase,這個目錄裏邊放你網站的一些程序就行,至關於把war包裏邊解壓玩的東西放到這裏邊
<Host name="www.123.cn" appBase="" unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>
docBase,這個參數用來定義網站的文件存放路徑,若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。在這一步操做過程當中不少同窗遇到過訪問404的問題,其實就是docBase沒有定義對。
注意:
appBase爲應用存放目錄,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄
沒解壓的war包放到appbase裏邊他會自動解壓。若是你不想解壓或者已經解壓完的war包裏邊的文件放到docBase裏邊。這兩個定義其中一個就能夠
下面咱們經過部署一個java的應用來體會appBase和docBase目錄的做用
appBase:就是用來放war包的 docBase:直接放網站程序的
建立一個博客:
1.下載zrlog:wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 放到src目錄下
2.把安裝包移動到webapps目錄下:cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
3.進入到webapps目錄下:cd /usr/local/tomcat/webapps/
你發現它自動解壓了war包,生成了一個目錄,這就是由於咱們配置文件裏定義的自動解壓選項形成的
4.把自動解壓的目錄更名叫zrlog:mv zrlog-1.7.1-baaecb9-release zrlog
5.用電腦網頁登陸:192.168.232.132/zrlog/
這個安裝嚮導實際上就是讓咱們配置這個數據庫
建立一個用戶
6.查看一下mysql是否開啓:ps aux |grep mysql
7.登陸mysql進入到裏邊來:mysql -uroot -p123456789
8.建立一個叫zrlog的庫:create database zrlog;
9.建立一個用戶,指定用戶的IP和密碼:grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '123456789';
to:指定IP identified by:指定密碼
10.quit退出來,建立完成檢查一下建立的用戶對不對:mysql -uzrlog -h127.0.0.1 -p123456789
11.查看一下有沒有zrlog:show databases;
12.編輯網頁zrlog信息:密碼就填剛設置的密碼,端口3306,信箱自定義,下一步-下一步-完成
自定義就好
訪問網址:192.168.232.132/zrlog/
而這個訪問後邊還須要跟一個zrlog目錄的名字,這樣不是很方便,解決方法看下邊!
若是不想訪問目錄,直接訪問IP域名須要進行如下操做:
編輯配置文件:vim /usr/local/tomcat/conf/server.xml 搜索:<Host
增長一個虛擬主機,而後把剛纔appbase裏邊解壓完的war包移動到定義好的docbase裏邊
<Host name="www.123.cn" appBase="" unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>
建立目錄:mkdir /data/wwwroot/123.cn
把zrlog(這個自動解壓完生成的war包目錄,咱們更名字叫zrlong了)目錄下全部的東西都移動到123.cn目錄下:
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
在綁定Windows上的hosts位置在C:\Windows\System32\drivers\etc
綁定完在ping一下是否是能訪問到你的虛擬機IP
重啓服務:/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
訪問網址:www.123.cn
Tomcat日誌
日誌在:/usr/local/tomcat/logs目錄下
ls /usr/local/tomcat/logs
1.其中catalina開頭的日誌爲Tomcat的綜合日誌,服務相關的信息,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
2.其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會天天生成一個新的日誌。
3.host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。
4.localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。
access訪問日誌默認不會生成,須要在server.xml中配置一下。
配置文件:vim /usr/local/tomcat/conf/server.xml
具體方法是在對應虛擬主機的<Host></Host>裏面加入下面的配置(假如域名爲123.cn):
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="123.cn_access" suffix=".log" pattern="%h %l %u %t "%r" %s %b" />
prefix定義訪問日誌的前綴,suffix定義日誌的後綴,pattern定義日誌格式。新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最須要關注catalina.out,當出現問題時,咱們應該第一想到去查看它。
resin安裝與配置
這個也須要安裝jdk,從官網下載,caucho.com,下載第一個不收費的作實驗就好。
第一步,下載安裝包:wget http://caucho.com/download/resin-4.0.53.tar.gz
解壓:tar zxvf
進入到解壓完的目錄下,進行編譯:./configure --prefix=/usr/local/resin --with-java=/usr/local/jdk1.8 兩個指定,第一個須要指定安裝到哪一個目錄下,第二個指定java所在的路徑
make && make install
它會自動生成這個目錄:ls /usr/local/resin/
自動生成啓動腳本:ls /etc/init.d/resin
最好先把tomcat停掉:/etc/init.d/tomcat stop
在啓動:/etc/init.d/resin start
訪問一下:192.168.65.135:8080
它默認是8080端口,要想直接訪問80端口方法:
改監聽端口:
進入到resin/conf/目錄下:cd /usr/local/resin/conf/
編輯配置文件:vim resin.properties 搜索:app.http 把8080改爲80
重啓:/etc/init.d/resin start
netstat -lnp |grep resin 看看有沒有80端口
直接訪問:192.168.65.135
改虛擬主機:
編輯虛擬主機配置文件:vim resin.xml 搜索:<cluster id="app"> 把下面這段寫到這個最後邊
<host id="www.123.com" root-directory=".">
<web-app id="/" root-directory="/tmp/resin"/>
</host>
建立目錄:mkdir /tmp/resin
重啓一下:/etc/init.d/resin stop /etc/init.d/resin start
查看一下80端口:netstat -lnp |grep java
建立一個解析文件看看能不能解析
進入到該目錄下:cd /tmp/resin
編輯配置文件:vim 1.txt加入如下內容:
<?php
echo "hello how are you.";
解析一下:curl -x127.0.0.1:80 www.123.com/1.txt