資源池
本章資源:點擊這里 提取碼:upbf
tomcat官網:https://tomcat.apache.org/
jpress博客系統安裝包下載地址(不是官網):https://gitee.com/fuhai/jpress/blob/alpha/wars/jpress-web-newest.war
1、Tomcat簡介
- Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成;
- Tomcat 屬於輕量級應用服務器;其技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器;Tomcat處理靜態HTML的能力不如Nginx/Apache服務器.
- 另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。
- Tomcat是開發和調試JSP程序的首選.
2、Tomcat安裝
第一步:下載並上傳Tomcat安裝包
╭─root@localhost.localdomain ~
╰─➤ rz
╭─root@localhost.localdomain ~
╰─➤ unzip apache-tomcat-9.0.20.zip
╭─root@localhost.localdomain ~
╰─➤ mv apache-tomcat-9.0.20 /usr/local/tomcat #移動並改名
╭─root@localhost.localdomain ~
╰─➤ chmod -R a+x /usr/local/tomcat
第二步:下載Java環境
注意:選擇yum安裝tomcat需要jdk,就不用再手動配置環境變量
╭─root@localhost.localdomain ~
╰─➤ yum install java -y
第三步:啟動Tomcat
╭─root@localhost.localdomain ~
╰─➤ cd /usr/local/tomcat/bin
╭─root@localhost.localdomain /usr/local/tomcat/bin
╰─➤ bash 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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
╭─root@localhost.localdomain /usr/local/tomcat/bin
╰─➤ ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 100 :::8009 :::*
第四步:瀏覽器訪問
3、Tomcat目錄講解
╭─root@localhost.localdomain /usr/local/tomcat/bin
╰─➤ cd /usr/local/tomcat
╭─root@localhost.localdomain /usr/local/tomcat
╰─➤ tree -L 1
.
├── bin #用以啟動、關閉Tomcat或者其它功能的腳本(.bat文件和.sh文件)
├── BUILDING.txt
├── conf #用以配置Tomcat的XML及DTD文件
├── CONTRIBUTING.md
├── lib #存放web應用能訪問的JAR包
├── LICENSE
├── logs #Catalina和其它Web應用程序的日志文件
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp #臨時文件
├── webapps #Web應用程序根目錄
└── work #用以產生有JSP編譯出的Servlet的.java和.class文件
7 directories, 7 files
╭─root@localhost.localdomain /usr/local/tomcat
╰─➤ cd webapps
╭─root@localhost.localdomain /usr/local/tomcat/webapps
╰─➤ ll
total 4.0K
drwxr-xr-x 14 root root 4.0K May 3 23:27 docs #tomcat幫助文檔
drwxr-xr-x 6 root root 83 May 3 23:27 examples #web應用實例
drwxr-xr-x 5 root root 87 May 3 23:27 host-manager #管理
drwxr-xr-x 5 root root 103 May 3 23:27 manager #管理
drwxr-xr-x 3 root root 283 May 3 23:27 ROOT #默認網站根目錄
4、Tomcat主配置文件server.xml講解
╭─root@localhost.localdomain /usr/local/tomcat
╰─➤ cd /usr/local/tomcat/conf/
╭─root@localhost.localdomain /usr/local/tomcat/conf
╰─➤ vim server.xml
...
<Server port="8005" shutdown="SHUTDOWN">
#8005: 接收shutdown指令
<Connector port="8080" protocol="HTTP/1.1"
#8080: 監聽的端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#8009: AJP協議
...
4、tomcat同機多服務部署(三台)
第一步:復制兩份tomcat文件
╭─root@localhost.localdomain ~
╰─➤ cd /usr/local/
╭─root@localhost.localdomain /usr/local
╰─➤ ls
bin etc games include lib lib64 libexec sbin share src tomcat
╭─root@localhost.localdomain /usr/local
╰─➤ cp -a tomcat tomcat1
╭─root@localhost.localdomain /usr/local
╰─➤ cp -a tomcat tomcat2
╭─root@localhost.localdomain /usr/local
╰─➤ ls
bin etc games include lib lib64 libexec sbin share src tomcat tomcat1 tomcat2
第二步:修改配置文件
╭─root@localhost.localdomain /usr/local
╰─➤ vim tomcat1/conf/server.xml #tomcat1
...
<Server port="8006" shutdown="SHUTDOWN"> #8005-->8006
...
<Connector port="8081" protocol="HTTP/1.1" #8080-->8081
...
╭─root@localhost.localdomain /usr/local
╰─➤ vim tomcat2/conf/server.xml #tomcat2
...
<Server port="8007" shutdown="SHUTDOWN"> #8005-->8007
...
<Connector port="8082" protocol="HTTP/1.1" #8080-->8082
...
第三步:分別啟動三個tomcat服務
╭─root@localhost.localdomain /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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
╭─root@localhost.localdomain /usr/local
╰─➤ tomcat1/bin/startup.sh #tomcat1
Using CATALINA_BASE: /usr/local/tomcat1
Using CATALINA_HOME: /usr/local/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar
Tomcat started.
╭─root@localhost.localdomain /usr/local
╰─➤ tomcat2/bin/startup.sh #tomcat2
Using CATALINA_BASE: /usr/local/tomcat2
Using CATALINA_HOME: /usr/local/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar
Tomcat started.
第四步:查看端口
╭─root@localhost.localdomain /usr/local
╰─➤ ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 100 :::8081 :::*
LISTEN 0 100 :::8082 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8006 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8007 :::*
LISTEN 0 100 :::8009 :::*
第五步:為每個tomcat服務寫首頁文件
╭─root@localhost.localdomain /usr/local
╰─➤ echo "hello tomcat" >> tomcat/webapps/ROOT/index.html
╭─root@localhost.localdomain /usr/local
╰─➤ echo "hi tomcat1" >> tomcat1/webapps/ROOT/index.html
╭─root@localhost.localdomain /usr/local
╰─➤ echo "morning tomcat2" >> tomcat2/webapps/ROOT/index.html
第五步:瀏覽器訪問
tomcat:
tomcat1:
tomcat2:
5、tomcat集群部署
nginx服務器:192.168.80.4
tomcat服務器:192.168.80.3
第一步:部署tomcat后端節點
- 參考:4、tomcat同機多服務部署(三台)
第二步:編輯nginx配置文件
╭─root@localhost.localdomain ~
╰─➤ yum install nginx -y
╭─root@localhost.localdomain ~
╰─➤ vim /etc/nginx/nginx.conf
...
# for more information.
include /etc/nginx/conf.d/*.conf;
upstream du {
server 192.168.80.3:8080 weight=3 max_fails=2 fail_timeout=2;
server 192.168.80.3:8081 weight=5 max_fails=2 fail_timeout=2;
server 192.168.80.3:8082 weight=1 max_fails=2 fail_timeout=2;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://du;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
...
第三步:檢測nginx配置並啟動
╭─root@localhost.localdomain ~
╰─➤ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
╭─root@localhost.localdomain ~
╰─➤ systemctl restart nginx
第四步:瀏覽器訪問
6、tomcat上線jpress博客系統
第一步:下載jpress
- 本章章首有資源池
第二步:上傳軟件包並解壓
╭─root@localhost.localdomain ~
╰─➤ cd /usr/local/tomcat/webapps/ROOT
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ rm -rf ./*
zsh: sure you want to delete all the files in /usr/local/tomcat/webapps/ROOT/. [yn]? y
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ rz
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ unzip fuhai-jpress-alpha.zip
第三步:解壓相關文件
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ cp jpress/wars/jpress-web-newest.war .
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ unzip jpress-web-newest.war
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ ls
fuhai-jpress-alpha.zip jpress jpress-web-newest.war META-INF robots.txt static templates WEB-INF
第四步:下載數據庫並使用
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ yum install mariadb-server -y
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ systemctl restart mariadb
╭─root@localhost.localdomain /usr/local/tomcat/webapps/ROOT
╰─➤ mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database du;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all on *.* to du@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
第五步、重啟tomcat
╭─root@localhost.localdomain ~
╰─➤ cd /usr/local/tomcat/bin
╭─root@localhost.localdomain /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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
╭─root@localhost.localdomain /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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
第六步:瀏覽器訪問