全部軟件的版本以下:html
MySQL-Connector-Java: mysql-connector-java-5.1.44 部署Tomcat使用jsp連接Msqljava
Tomcat: apache-tomcat-8.5.42.tar.gz tomcat軟件包,此包爲二進制源碼包,無需編譯,可直接使用mysql
JDK: jdk-8u212-linux-x64.tar.gz jdk環境依賴包,安裝tomcat必備此包,linux
MySQL: mysql-5.7.19 mysql數據庫軟件包web
安裝jdksql
[root@b bin]# tar -zxvf /mnt/install-soft/jdk-8u212-linux-x64.tar.gz -C /usr/local/數據庫
[root@b bin]# vim /etc/profileapache
export JAVA_HOME=/usr/local/jdk1.8.0_212
export JAVA_BIN=/usr/local/jdk1.8.0_212/bin
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarvim
在/etc/profile環境變量文件末尾添加如上java環境變量參數。(java環境路徑爲jdk軟件包解壓存放路徑)瀏覽器
[root@b bin]# source /etc/profile
加載/etc/profile環境變量文件,使配置當即生效。
[root@b bin]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
查看java版本信息
安裝tomcat
[root@b bin]# tar -zxvf /mnt/install-soft/apache-tomcat-8.5.42.tar.gz -C /usr/local/
配置啓動腳本
[root@b tomcat]# vim /etc/init.d/tomcat
#!/bin/bash
#Tomcat init script for linux
# chkconfig: 35 89 23
# discription:The Apache Tomcat Server/JSP container
JAVA_OPTS='-server -Xms64m -Xmx128m'
JAVA_HOME=/usr/local/jdk1.8.0_212
CATALINA_HOME=/usr/local/tomcat
$CATALINA_HOME/bin/catalina.sh $*
給啓動腳本可執行權限
[root@b tomcat]# chmod +x /etc/init.d/tomcat
創建系統服務文件
[root@b ~]# vim /lib/systemd/system/tomcat.service
[Unit]
Description=tomcat
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/tomcat start
ExecStop=/etc/init.d/tomcat stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
給它755權限 chmod 755 /lib/systemd/system/tomcat.service
[root@b ~]# systemctl start tomcat #啓動tomcat
Starting tomcat...
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
tomcat.service: control process exited, code=exited status=1
Failed to start tomcat.
Unit tomcat.service entered failed state.
tomcat.service failed.
啓動報錯,沒法使用系統服務啓動
[root@b ~]# systemctl start tomcat #啓動tomcat
[root@b ~]# systemctl enable tomcat #添加到隨機啓動
[root@b ~]# netstat -antup | grep 8080 #查看是否啓動
建立管理Manger App用戶
[root@b ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
#去掉註釋<!-- --> 修改成以下,
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin"password="123456"roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
角色說明
1:「manager-gui」:Allows access to the html interface(容許經過web的方式登陸查看服務器信息)。
2:「manager-script」: Allows access to the plain text interface(容許以純文本的方式訪問)。
3:「manager-jmx」: Allows access to the JMX proxy interface(容許jmx的代理訪問)。
4:「manager-status」: Allows access to the read-only status pages(容許以只讀狀態訪問)。
5: admin-gui: 容許訪問HTML GUI
6 : admin-script: 容許訪問文本接口
官方說明http:#tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access
tomcat8以上還要增長如下配置
[root@b ~]# vim /usr/local/tomcat/conf/Catalina/localhost/manager.xml
內容以下:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
[root@b ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="^.*$" /> #修改這裏
</Context>
重啓tomcat 沒有restart命令,只能先stop再start 測試訪問
搭建基於域名的虛擬主機
[root@b ~]# ls /usr/local/tomcat/conf/
Catalina catalina.properties logging.properties tomcat-users.xml web.xml
catalina.policy context.xml server.xml tomcat-users.xsd
server.xml是Tomcat的主配置文件(全局),服務器設置的,例如端口設置,路徑設置。
context裏設置tomcat數據源,用來鏈接數據庫。
tomcat_users主要是用戶名和密碼的設置。
web是默認首頁等等之類的設置
[root@b ~]# vim /usr/local/tomcat/conf/server.xml
<Host name="xwukong.com" appBase="/var/www/html">
<Context path="" docBase="/var/www/html/web1" />
</Host>
<Host name="bajie.com" appBase="/var/www/html">
<Context path="" docBase="/var/www/html/web2" />
</Host>
#在末尾的</Engine>上面添加上面這幾行
appBase指定應用程序(網站)的基本路徑,這裏能夠存放多個程序(網站),通常是相對路徑,相對於tomcat的安裝目錄。
Context path=""爲虛擬目錄,若是是空,表示直接就是/,若是是如path="aa",那麼訪問的時候就是site:8080/aa
xuegod.cndocBase="……" 爲實際目錄,就是能夠是絕對路徑,若是是相對路徑就是基於appBase
[root@b ~]# mkdir -p /var/www/html/{web1,web2}
[root@b ~]# echo '<H1>wo shi wu kong NO.1</H1>' > /var/www/html/web1/index.html
[root@b ~]# echo '<H1> wo shi zhu ba jie NO.2</H1>' > /var/www/html/web2/index.html
重啓tomcat
客戶機host文件:
192.168.0.102 wukong.com
192.168.0.102 bajie.com
網頁測試
安裝tomcat-Native
Tomcat 可使用 apr 來提供更好的伸縮性、性能和集成到本地服務器技術。用來提升 tomcat 的性能。 tomcat native 在具體的運行平臺上,提供了一種優化技術,它自己是基於 ARP(Apache Portable(輕便) Runtime)技術
咱們應用了 tomcat native 技術以後,tomcat 在跟操做系統級別的交互方面能夠作得更好,而且它更像apache 同樣,能夠更好地做爲一臺 web server。 tomcat 能夠利用 apache 的 apr 接口,使用操做系統的部分本地操做,從而提高性能APR 提高的是靜態頁面處理能力
關於tomcat-native的相關介紹及下載: http:#tomcat.apache.org/download-native.cgi
先解決依賴
[root@b ]# yum install openssl-devel openssl
咱們的tomcat9 在bin下已有tomcat-native
[root@b ]# tar zxf tomcat-native.tar.gz -C /usr/local/src/
[root@b ]# cd /usr/local/src/tomcat-native-1.2.14-src/native
[root@b native]# ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk-9/ --with-ssl
[root@b native]# make ; make install
安裝完:提示:須要添加庫文件:
[root@xb native]# vim /etc/ld.so.conf
/usr/local/apr/lib ##添加此行
[root@b native]# ldconfig
[root@b native]# echo "ldconfig" >>/etc/rc.local
其實添加完ldconfig並沒有法當即引用類庫變量
咱們做一軟連接解決:
[root@b ~]# ln -s /usr/local/apr/lib/* /usr/lib
[root@b~]# systemctl stop tomcat; systemctl start tomcat
[root@b~]#cat /usr/local/tomcat/logs/catalina.out | grep Native #看日誌是否支持native, 看到APR版本號
17-Sep-2015 20:09:24.293 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.3.9.
17-Sep-2015 20:09:24.293 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
安裝mysql
安裝MySQL部分,根據實際狀況來選擇安裝方式,能夠選擇編譯安裝,也能夠用rpm包來安裝,只要保證服務正常運行便可。
測試數據
mysql> create database tomcat; #測試數據庫,爲了和後面方便測試,這裏建立tomcat
mysql> use tomcat
mysql> create table tt(id int,name varchar(128)); #建立測試表
mysql> insert into tt values (1,"come on boy"),(2,"come on girl");#建立測試數據
mysql> grant all on tomcat.* to tomcat@localhost identified by 'tomcat'; #受權用戶
mysql> \q
[root@b ~]# mysql -utomcat -ptomcat #測試tomcat能夠登錄(OK)
測試jsp連接mysql
Jsp連接mysql,官方提供了工具:安裝mysql-connector
安裝mysql-connector
[root@b ~]# tar xvf mysql-connector-java-5.1.47.tar.gz -C /usr/local/src/
[root@b ~]# cd /usr/local/src/ mysql-connector-java-5.1.47/
[root@b ~]#cp mysql-connector-java-5.1.47-bin.jar /usr/local/tomcat/lib/
#只須要複製jar文件到tomcat的lib目錄下,重啓tomcat就能夠生效
[root@b ~]# systemctl stop tomcat;systemctl start tomcat 測試
[root@b ~]# vim /usr/local/tomcat/webapps/ROOT/mysql.jsp #創建測試頁面
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=tomcat&useUnicode=true&characterEncoding=utf-8";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from tt";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
step:<%=rs.getString(1)%>
context:<%=rs.getString(2)%><br><br>
<%}%>
<%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
#代碼複製注意覈對,因爲編碼問題,複製到vim中可能會增長多餘的%號,記得刪除
瀏覽器訪問http://192.168.0.102:8080/mysql.jsp