12月13日任務css
16.4 配置Tomcat監聽80端口java
16.5/16.6/16.7 配置Tomcat虛擬主機mysql
16.8 Tomcat日誌nginx
默認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
跟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內寫的是相對路徑,其相對的是/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.jsp
/ localhost/bg-nav.png
的方式進行訪問,即默認訪問的是ROOT目錄
本身定義的程序目錄也須要建立一個ROOT目錄,同時把圖片、靜態文件放在ROOT目錄下,這樣就能夠直接訪問自定義網站了。
搭建好tomcat環境後,咱們能夠搭建一個簡單的blog應用網站來體驗下。
[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
[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
# 前提是系統內有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
使用瀏覽器登陸註冊
註冊成功後使用admin帳戶就能夠登陸博客自由的編輯、發佈blog了!
[root@localhost tomcat]# ls /usr/local/tomcat/logs/
tomcat的日誌分爲4類:
訪問日誌默認不生成,須要在server.xml內定義
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="123.cn_access" suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> # directory定義日誌存放的目錄,這裏是/usr/local/tomcat/logs目錄 # prefix定義訪問日誌的前綴 # suffix定義日誌的後綴 # pattern定義日誌格式。
新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌信息會統一記錄到catalina.out中。所以當出現問題時,應該第一時間去查看catalina.out文件。