安裝配置tomcat

全部軟件的版本以下: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.

啓動報錯,沒法使用系統服務啓動

首先查看環境變量:vim  /etc/profile找到JAVA_HOME
編輯文件/usr/local/tomcat/bin/catalina.sh  (有可能你的路徑和個人不同,按照本身的路徑來修改)
添加到文件中的第二行   export JAVA_HOME=/usr/local/jdk1.8.0_212

[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@~]#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

相關文章
相關標籤/搜索