配置Tomcat虛擬主機

12月13日任務css

16.4 配置Tomcat監聽80端口java

16.5/16.6/16.7 配置Tomcat虛擬主機mysql

16.8 Tomcat日誌nginx

 

配置tomcat監聽80端口

默認tomcat監聽的是8080端口,若是想直接輸入ip就訪問到網頁,就須要進行以下操做:web

  • 修改配置文件
[root@localhost src]# vim /usr/local/tomcat/conf/server.xml 
/定位到8080
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改8080爲80,保存退出
  • 重啓服務
# 先關閉後啓動
[root@localhost src]# /usr/local/tomcat/bin/shutdown.sh 
[root@localhost src]# /usr/local/tomcat/bin/startup.sh
  • 驗證是否生效
[root@localhost src]# netstat -lntp | grep java
tcp6       0      0 :::80                   :::*                    LISTEN      2823/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2751/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      2751/java

若是系統內已經安裝並啓動了apache/nginx web服務,80端已被佔用,須要關閉這些web服務器,而後重啓tomcat服務。sql


Tomcat虛擬主機

跟apache/nginx web服務器同樣,tomcat也能夠設置虛擬主機。數據庫

在tomcat配置文件中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名,appBase定義應用的目錄,Java的應用一般是一個war的壓縮包,你只須要將war的壓縮包放到appBase目錄下面便可。apache

[root@localhost src]# vim /usr/local/tomcat/conf/server.xml 
// 在</Host>下添加下列代碼

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

# 部分參數說明:
# name:須要填寫的是虛擬主機的域名
# appBase:應用項目(WAR包)所在目錄,配合unpackWARs將自動解壓WAR包成一個程序目錄
# WAR包:開發人員開發的組建網站的各類網頁、配置、jsp代碼、數據庫相關文件會被打包成一個WAR包,便於存放和傳輸。
# unpackWARs: 自動解壓WAR包
# docBase:在該處定義的目錄內存放的是解壓後的WAR包的文件,定義了該項後,以該目錄爲主,appBase能夠不須要定義,也能夠定義成同樣;若是不定義,默認文件存放在appBase/ROOT下,二者取其以便可。若是docBase沒有定義正確,任意產生404錯誤。

appBase和docBase

appBase內寫的是相對路徑,其相對的是/usr/local/tomcat/vim

使用WAR包的時候須要寫appBase,同時unpackWARs須要設置成「True」,不然沒法自動解壓。瀏覽器

若是提供的網站是一個目錄,那些所涉及的全部文件就放在docBase參數所指定的目錄下。

webapps目錄下的ROOT目錄

[root@localhost webapps]# ls ROOT/
asf-logo-wide.svg  bg-upper.png       tomcat.gif
bg-button.png      favicon.ico        tomcat.png
bg-middle.png      index.jsp          tomcat-power.gif
bg-nav-item.png    RELEASE-NOTES.txt  tomcat.svg
bg-nav.png         tomcat.css         WEB-INF

能夠直接經過localhost/index.jsplocalhost/bg-nav.png的方式進行訪問,即默認訪問的是ROOT目錄

本身定義的程序目錄也須要建立一個ROOT目錄,同時把圖片、靜態文件放在ROOT目錄下,這樣就能夠直接訪問自定義網站了。

虛擬主機實例 --- zrlog博客的搭建

搭建好tomcat環境後,咱們能夠搭建一個簡單的blog應用網站來體驗下。

  1. 下載zrlog的WAR包
[root@localhost src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@localhost src]# du -sh zrlog-1.7.1-baaecb9-release.war 6.8M	zrlog-1.7.1-baaecb9-release.war
  1. 移動至tomcat目錄下的webapps目錄內
[root@localhost src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
# 更名的目的是爲了訪問的方便,畢竟包名有點長
[root@localhost webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
  1. 建立相關數據庫及用戶
# 前提是系統內有mysql並啓動
[root@localhost webapps]# ps aux | grep mysql
# 登陸mysql,去建立zrlog用戶
[root@localhost webapps]# mysql -uroot -p
Enter password: 
# 建立數據庫zrlog
mysql> create database zrlog;
Query OK, 1 row affected (0.03 sec)
# 建立新用戶zrlog,並賦予其權限
mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'zrlog';
Query OK, 0 rows affected (0.04 sec)
mysql> quit
Bye

# 使用zrlog用戶登陸測試
[root@localhost webapps]# mysql -uzrlog -h127.0.0.1 -p
Enter password: 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zrlog              |
+--------------------+
3 rows in set (0.03 sec)

mysql> quit
Bye
  1. 使用瀏覽器登陸註冊

    • 輸入剛建立的zrlog用戶及其密碼,郵箱隨意

    step1

    • 設置管理員密碼,自定義網站標籤及子標題

    step2

    • 完成註冊

    step3

    • 博客效果圖

    web

註冊成功後使用admin帳戶就能夠登陸博客自由的編輯、發佈blog了!


Tomcat日誌

[root@localhost tomcat]# ls /usr/local/tomcat/logs/

tomcat的日誌分爲4類:

  • catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。tomcat會天天生成一個新的日誌catalina.YYYY-mm-dd.log。catalina.out內容相同
  • host-manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。日誌內容可能爲空
  • manager也是管理相關的日誌,與host-manager相似
  • localhost開頭的爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌

訪問日誌默認不生成,須要在server.xml內定義

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
         prefix="123.cn_access" suffix=".log"
         pattern="%h %l %u %t &quot;%r&quot; %s %b" />

# directory定義日誌存放的目錄,這裏是/usr/local/tomcat/logs目錄
# prefix定義訪問日誌的前綴
# suffix定義日誌的後綴
# pattern定義日誌格式。

新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌信息會統一記錄到catalina.out中。所以當出現問題時,應該第一時間去查看catalina.out文件。

相關文章
相關標籤/搜索