Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其餘一些公司及我的共同開發而成。
Tomcat是一個輕量級應用服務器。
java程序寫的網站用tomcat+jdk來運行。
tomcat是一箇中間件,真正起做用的,解析java腳本的是jdk。
jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。
最主流的jdk爲sun公司發佈的jdk,除此以外,其實IBM公司也有發佈JDK,CentOS上也能夠用yum安裝openjdk。php
安裝Tomcat的前提是安裝好JDK。
官方下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
選擇與系統相對應的版本:
下載完成以後可使用lrzsz
工具或者xftp
工具傳送至CentOS
的/usr/local/src
目錄下。html
[root@zlinux src]# cd [root@zlinux ~]# cd /usr/local/src [root@zlinux src]# rz //選擇JDK壓縮包 [root@zlinux src]# ls jdk-8u161-linux-x64.tar.gz nginx-1.12.2 php-5.6.30 mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz nginx-1.12.2.tar.gz php-5.6.30.tar.bz2 [root@zlinux src]# tar zxf jdk-8u161-linux-x64.tar.gz [root@zlinux src]# mv jdk1.8.0_161 /usr/local/jdk1.8 [root@zlinux src]# vim /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 [root@zlinux src]# source /etc/profile [root@zlinux src]# java -version //檢查設置是否正確,顯示如下內容則說明配置正確 java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[root@zlinux src]# wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.29.tar.gz //若是以爲版本不合適可去官網自行下載 [root@zlinux src]# /usr/local/tomcat/bin/startup.sh //啓動tomcat,由於是二進制包,免去編譯過程 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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started. [root@zlinux src]# ps aux |grep tomcat //查看是否有tomcat相關進程 root 2441 12.9 4.0 2480652 75984 pts/0 Sl 18:47 0:02 /usr/local/jdk1.8/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.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -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 root 2458 0.0 0.0 112680 972 pts/0 R+ 18:48 0:00 grep --color=auto tomcat [root@zlinux src]# netstat -lntp | grep java tcp6 0 0 :::8080 :::* LISTEN 2441/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2441/java tcp6 0 0 :::8009 :::* LISTEN 2441/java #端口8080:提供web服務的 #端口8005:管理端口 #端口8009:第三方服務調用端口(如:httpd和Tomcat結合時會用到)
在瀏覽器中查看:
java
[root@zlinux ~]# vim /usr/local/tomcat/conf/server.xml //找到下面內容,port改成80 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> [root@zlinux ~]# /usr/local/tomcat/bin/shutdown.sh //重啓tomcat,須要先關閉在啓動,沒有單獨從新啓動的腳本 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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar [root@zlinux ~]# /usr/local/tomcat/bin/startup.sh 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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started.
配置好以後,再次訪問就不須要加端口號了:
這裏測試完仍是改成8080端口
若是80端口被佔用,能夠中止佔用80端口的服務(前提是沒有服務在80上面跑),不然不可隨意切換端口。若是是Nginx佔用80端口,可使用Nginx代理功能。
下圖爲nginx代理8080端口:
mysql
Tomcat也有虛擬主機這一律念,下面部署一個簡單博客來了解虛擬主機的配置。linux
[root@zlinux ~]# vim /usr/local/tomcat/conf/server.xml //添加如下內容 #unpackWARs自動解壓war包 <Host name="www.tctest.cn" appBase="" unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/tctest/" debug="0" reloadable="true" crossContext="true"/> </Host>
[root@zlinux ~]# cd /usr/local/src/ [root@zlinux src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war [root@zlinux src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/ [root@zlinux src]# ls /usr/local/tomcat/webapps/ //已經自動解壓 docs host-manager ROOT zrlog-1.7.1-baaecb9-release.war examples manager zrlog-1.7.1-baaecb9-release [root@zlinux webapps]# mv zrlog-1.7.1-baaecb9-release zrlog //修更名字 [root@zlinux webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release.war
在上一步驟當中,zrlog須要鏈接數據庫,那麼咱們須要建立zrlog使用的數據庫。nginx
[root@zlinux ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database zrlog; //建立zrlog數據庫 Query OK, 1 row affected (0.01 sec) mysql> grant all on zrlog.* to 'zrlog'@'127.0.0.1' identified by '123456'; //建立zrlog用戶 Query OK, 0 rows affected (0.00 sec) mysql> quit Bye [root@zlinux ~]# mysql -uzrlog -p123456 -h127.0.0.1 //驗證是否建立成功 Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
在頁面填入數據庫相關信息:
而後下一步,填寫信息:
而後從新輸入網址查看:
至此博客搭建完成。web
以前已經添加過配置。sql
[root@zlinux vhost]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/tctest/ //博客下的文件所有移至網站存放路徑 [root@zlinux vhost]# /usr/local/tomcat/bin/shutdown.sh 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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar [root@zlinux vhost]# /usr/local/tomcat/bin/startup.sh 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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started.
由於在以前配置了nginx代理,因此直接輸入網址直接跳到博客:
數據庫
[root@zlinux vhost]# ls /usr/local/tomcat/logs/ catalina.2018-03-30.log host-manager.2018-03-30.log localhost_access_log.2018-03-30.txt catalina.out localhost.2018-03-30.log manager.2018-03-30.log
其中catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會天天生成一個新的日誌。
host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。
localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。
訪問日誌默認不會生成,須要在server.xml中配置一下。apache