tomcat 搭建

什麼是Tomcatphp

官方網站:http://tomcat.apache.org/html

         Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項目中的一個核心項目,由 Apache、Sun 和其餘一些公司及我的共同開發而成。因爲有了 Sun 的參與和支持,最新的 Servlet 和JSP 規範老是能在 Tomcat 中獲得體現,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 規範。由於Tomcat 技術先進、性能穩定,並且免費,於是深受 Java 愛好者的喜好並獲得了部分軟件開發商的承認,成爲目前比較流行的 Web 應用服務器。java

         Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試 JSP 程序的首選。 Tomcat 和 IIS 等 Web 服務器同樣,具備處理 HTML 頁面的功能。不過,Tomcat 處理靜態 HTML 的能力不如 Apache 服務器。mysql

瞭解jsplinux

         JSP:全名爲Java Server Pages,中文名叫java服務器頁面, 是由Sun Microsystems公司倡導、許多公司參與一塊兒創建的一種動態網頁技術標準。JSP技術有點相似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而造成JSP文件,後綴名爲(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其餘操做系統上運行。c++

支持 JSP 網站,收費版 web 服務器:oracle 的 weblogic  ;  IBM 的 websphereweb

WebLogic 是美國 Oracle 公司出品的一個 application server 確切的說是一個基於 JAVAEE 架構的中間件,WebLogic 是用於開發、集成、部署和管理大型分佈式 Web 應用、網絡應用和數據庫應用的 Java應用服務器。將 Java 的動態功能和 Java Enterprise 標準的安全性引入大型網絡應用的開發、集成、部署和管理之中。sql

WebSphere 是 IBM 的軟件平臺。它是 Web 應用程序和跨平臺、跨產品解決方案所須要的整個中間件基礎設施。WebSphere 提供了可靠、靈活和健壯的軟件運行服務。shell

 

中間件數據庫

中間件是一種獨立的系統軟件或服務程序,分佈式應用軟件藉助這種軟件在不一樣的技術之間共享資源。中間件位於客戶機/服務器的操做系統之上,管理計算機資源和網絡通信。是鏈接兩個獨立應用程序或獨立系統的軟件。相鏈接的系統,即便它們具備不一樣的接口,但經過中間件相互之間仍能交換信息。執行中間件的一個關鍵途徑是信息傳遞。經過中間件,應用程序能夠工做於多平臺或OS環境。

中間件是一類鏈接軟件組件和應用的計算機軟件,它包括一組服務。以便於運行在一臺或多臺機器上的多個軟件經過網絡進行交互。該技術所提供的互操做性,推進了一致分佈式體系架構的演進,該架構一般用於支持並簡化那些複雜的分佈式應用程序,它包括web服務器、事務監控器和消息隊列軟件。

瞭解java

JDK : java  development kit  (套件) 。簡單的說 JDK 是面向開發人員使用的 SDK,它提供了 Java的開發環境和運行環境。就是Java開發工具,是進行Java開發的基礎。

JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成爲使用最普遍的Java SDK。JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。JDK是學好Java的第一步。而專門運行在x86平臺的Jrocket在服務端運行效率也要比Sun JDK好不少。從SUN的JDK5.0開始,提供了泛型等很是實用的功能,其版本也不斷更新,運行效率獲得了很是大的提升。

         SDK:Software Development Kit,軟件開發工具包,通常都是一些軟件工程師爲特定的軟件包、軟件框架、硬件平臺、操做系統等創建應用軟件時的開發工具的集合。能夠包括凼數庫、編譯程序等。

         JRE:java Runtime Enviroment 是指 Java 的運行環境,是面向 Java 程序的使用者而不是開發者,運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。Java Runtime Environment(包括Java Plug-in)是Sun的產品,包括兩部分:Java Runtime Environment和Java Plug-in。JRE是能夠在其上運行、測試和傳輸應用程序的Java平臺。它包括Java虛擬機(jvm)、Java核心類庫和支持文件。它不包含開發工具(JDK)--編譯器、調試器和其它工具。JRE須要輔助軟件--Java Plug-in--以便在瀏覽器中運行applet。

         JVM:java virtual machineJVM 就是咱們常說的 java 虛擬機。JVM是一種用於計算設備的規範,它是一個虛構出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。JVM是java的核心和基礎,在java編譯器和os平臺之間的虛擬處理器。它是一種基於下層的操做系統和硬件平臺並利用軟件方法來實現的抽象的計算機,能夠在上面執行java的字節碼程序。java編譯器只需面向JVM,生成JVM能理解的代碼或字節碼文件。Java源文件經編譯器,編譯成字節碼程序,經過JVM將每一條指令翻譯成不一樣平臺機器碼,經過特定平臺運行

在 JDK的安裝目錄裏你能夠找到 jre目錄裏面有兩個文件夾bin 和 lib,在這裏能夠認爲 bin 裏的就是 jvm, lib 中則是 jvm 工做所須要的類庫,而 jvm 和 lib 和起來就稱爲 jre。

 

Tomcat工做模式和端口

模式:B/S模式

         端口:8080

Java se:是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平臺的總稱。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態的Web、Internet計算。今後,Java被普遍接受並推進了Web的迅速發展,經常使用的瀏覽器如今均支持Java applet。

Applet:小應用程序是採用Java編程語言編寫的程序,該程序能夠包含在 HTML(標準通用標記語言的一個應用)頁中,與在頁中包含圖像的方式大體相同。

SE(J2SE),standard edition,標準版,是咱們一般用的一個版本,從JDK 5.0開始,更名爲Java SE。

EE(J2EE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,更名爲Java EE。

ME(J2ME),micro edition,主要用於移動設備、嵌入式設備上的java應用程序,從JDK5.0開始,更名爲Java ME。

沒有JDK的話,沒法編譯Java程序,若是想只運行Java程序,要確保已安裝相應的JRE。

Tomcat全部軟件

Jdk工具:

         http://www.oracle.com/technetwork/java/javase/downloads/index.html                                  //JDK下載頁面

 

 

         勾選第一個藍色框,點擊對應x64版本的jdk的rpm軟件包下載

 

Tomcat

         http://tomcat.apache.org/                                                 //tomcat下載頁面

         頁面選擇你須要的版本:

 

         點擊版本號跳轉到相應的軟件包類型選擇下載(咱們這裏選擇tar包):

 

 

MySQL-Connector-Java

         http://dev.mysql.com/downloads/connector/                         //官網下載網站

選擇Connector/j  跳轉下載頁面

 

         選擇Paltform Independent,選擇tar包後面的Download

 

         不用註冊,No thanks,just start my download

 

Tomcat-native

         Tomcat Native 這個項目可讓 Tomcat 使用 Apache 的 apr 包來處理包括文件和網絡IO操做,以提高性能。直接說就是用tomcat-native這個軟件來提升tomcat處理靜態頁面的性能。這個軟件在tomcat的bin目錄下已經提供,不用單獨去下載了!能夠tomcat處理靜態的性能略遜於apache!

MySQL:

         http://dev.mysql.com/downloads/mysql/              //mysql官方下載網址,選擇版本下載即

 

最有全部軟件的版本以下:

MySQL-Connector-Java:                  mysql-connector-java-5.1.36

Tomcat:                                              apache-tomcat-8.0.26

JDK:                                                          jdk-8u60-linux-x64

MySQL:                                                mysql-5.6.26

部署Tomcat使用jsp連接Msql

常見的網頁類型:

         HTML&HTM:HyperText Markup Language 超文本鏈接標示語言  .html .html

         ASP:Active Server Page 動態服務器頁面(微軟開發)  .asp

         ASP.net:ASP的下一個版本,也是創建在通用語言上的程序架構,網頁後綴如aspx

         PHP:Hypertext Preprocessor 超級本本預處理語言  .php  .php5  .phps

         JSP:JAVA Server Pages  Sun Microsystems公司倡導,有點相似ASP技術  .jsp

 

安裝JDK

注意:安裝以前須要查看下系統是否安裝了openjdk,若是安裝了openjdk,請先卸載,不然安裝不了oracle官方的jdk

卸載方法:yum remove java-* -y

 

 [root@XueGod63 ~]# rpm -ivh jdk-8u60-linux-x64.rpm

Preparing...                ########################################### [100%]

   1:jdk1.8.0_60            ########################################### [100%]

Unpacking JAR files...

    tools.jar...

    plugin.jar...

    javaws.jar...

    deploy.jar...

    rt.jar...

    jsse.jar...

    charsets.jar...

    localedata.jar...

    jfxrt.jar...

[root@XueGod63 ~]# java -version                               //查看當前系統的java版本

java version "1.8.0_60"

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM)64-Bit Server VM (build 25.60-b23, mixed mode)

[root@xuegod63 ~]# rpm -pql jdk-8u60-linux-x64.rpm                       //查看新裝的java安裝所在的位置/usr/java

//注意,上面的方式用於最小安裝的系統,

若是你發現你的系統直接查看有java版本的話,那麼安裝方法以下

         [root@XueGod63 ~]# java -version                                                 //查看當前系統的java版本

java version "1.7.0_45"

OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)

OPenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

#注意,若是你的系統是最小安裝,是沒有java的,須要直接安裝,若是是咱們的標準環境,系統集成了jdk,只是版本比較低,若是你是最小安裝的話這裏的步驟都不須要操做

[root@XueGod63 ~]# rpm -ivh jdk-8u60-linux-x64.rpm

         [root@XueGod63 ~]# vim /etc/profile                                                                 //修改變量

export JAVA_HOME=/usr/java/jdk1.8.0_60/                     # JAVA_HOME變兩個路徑

export JAVA_BIN=/usr/java/jdk1.8.0_60/bin

export PATH=${JAVA_HOME}bin:$PATH                                 # 環境變量

export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar   # 定義兩個類

[root@XueGod63 ~]# source /etc/profile                                                  //加載環境變量

java -version

java version "1.8.0_60"

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

安裝tomcat

[root@XueGod63 ~]# tar xvf apache-tomcat-8.0.26.tar.gz -C /usr/local/src/

[root@XueGod63 ~]# cd /usr/local/src/apache-tomcat-8.0.26/

注意:Tomcat有兩種安裝方式,一種是直接解壓就可使用的二進制文件,第二種是編譯安裝,咱們這裏採用了第一種方法,下載的tomcat軟件直接解壓就能夠執行的二進制文件,由於在官方默認下載的即是使用第一種方法安裝,那麼下載解壓後的目錄以下:

tomcat

    |---bin Tomcat:存放啓動和關閉tomcat腳本;

    |---conf  Tomcat:存放不一樣的配置文件(server.xml和web.xml);

    |---lib:包含Tomcat使用的jar文件.unix平臺此目錄下的任何文件都被加到Tomcat的classpath中;

    |---logs:存放Tomcat執行時的LOG文件;

|---webapps:Tomcat的主要Web發佈目錄(包括應用程序示例);

    |--- ROOT:tomcat的家目錄

        |--- index.jsp:Tomcat的默認首頁文件

|---work:存放jsp編譯後產生的class文件或servlet文件存放

|---temp:存放Tomcat運行時所產生的臨時文件

[root@XueGod63 apache-tomcat-8.0.26]# ls bin/                         //tomcat的執行腳本文件

bootstrap.jar    configtest.bat    setclasspath.sh  tomcat-native.tar.gz

catalina.bat                  configtest.sh     shutdown.bat     tool-wrapper.bat

catalina.sh                   daemon.sh         shutdown.sh      tool-wrapper.sh

catalina-tasks.xml            digest.bat        startup.bat      version.bat

commons-daemon.jar            digest.sh         startup.sh       version.sh

commons-daemon-native.tar.gz  setclasspath.bat  tomcat-juli.jar

#bat爲windows下的腳本(批處理)

#sh爲Linux下的腳本,Shell

#catalina.sh是一個最關鍵的腳本,其餘的啓動腳本如startup,shutdown.sh,都是使用了不一樣的參數調用了該腳本,startup是以start參數調用了catalina腳本,shutdown使用stop調用了catalina腳本!

[root@XueGod63 apache-tomcat-8.0.26]# cd .. ; mv apache-tomcat-8.0.26/  /usr/local/tomcat ; cd

Tomcat啓動腳本

         [root@XueGod63 ~]# vim /etc/init.d/tomcat

#!/bin/bash

# Tomcat init script for Linux

# chkconfig: 2345 96 14

# discription: The Apache Tomcat Server/JSP container

JAVA_OPTS='-server -Xms64m -Xmx128m'

JAVA_HOME=/usr/java/jdk1.8.0_60

CATALINA_HOME=/usr/local/tomcat

$CATALINA_HOME/bin/catalina.sh $*

################################################################################

JAVA_OPTS='-server -Xms64m -Xmx128m'是用來設置JAVA相關運行參數的變量

                     -server   必定要做爲第一個參數,在多個CPU時性能佳

                     -Xms       初始heap(堆)大小,使用最小內存大小,cpu性能高時此值應該設大一些

                     -Xmx       Java heap最大值,使用內存的最大值

                     上面兩個值分配的是JVM的最小和最大值,取決於硬件的物理內存大小,建議爲物理內存的一半,不超過80%

JAVA_HOME=/usr/local/jdk1.8.0_60        指定Tomcat目錄

$CATALINA_HOME=/usr/local/tomcat $*        指定運行tomcat的腳本

 

[root@XueGod63 ~]# chmod +x /etc/init.d/tomcat

[root@XueGod63 ~]# service tomcat start

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@XueGod63 ~]# chkconfig --add tomcat

[root@XueGod63 ~]# chkconfig tomcat on

[root@XueGod63 ~]# netstat -antup | grep 8080                                             //查看是否啓動

tcp        0      0:::8080       :::*                 LISTEN      3154/java         

 

測試Tomcat

覽器訪問 http://192.168.1.63:8080

 

         點擊manager App,須要一個用戶名和密碼:

 

       建立管理Manger App用戶

         [root@XueGod63 ~]# 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="tomcat"/>

  <role rolename="role1"/>

  <role rolename="manager-gui"/>                                                               #添加此行

  <user username="redhat" password="123456" roles="manager-gui"/>   #修改此行

  <user username="both" password="tomcat" roles="tomcat,role1"/>

  <user username="role1" password="tomcat" roles="role1"/>

################################################################################

幾種角色

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(容許以只讀狀態訪問)。

http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access

         [root@XueGod63 ~]# service tomcat stop

[root@XueGod63 ~]# service tomcat start//沒有restart命令,只能先stop在start

測試訪問

 

 

搭建基於域名的虛擬主機

[root@XueGod63 ~]# 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_user主要是用戶名和密碼的設置。

web是默認首頁等等之類的設置

[root@XueGod63 ~]# vim /usr/local/tomcat/conf/server.xml

<Host name="xuegod.com"  appBase="/var/www/html">

        <Context path="" docBase="/var/www/html/web1" />

</Host>

<Host name="xuegod.cn"  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@XueGod63 ~]# service tomcat stop ; service tomcat start

         [root@XueGod63 ~]# mkdir -p /var/www/html/{web1,web2}

         [root@XueGod63 ~]# echo xuegod.com > /var/www/html/web1/index.html

         [root@XueGod63 ~]# echo xuegod.cn> /var/www/html/web2/index.html

 

客戶機host文件:

         192.168.1.63    xuegod.com

192.168.1.63    xuegod.cn

 

網頁測試

         xuegod.com:8080    xuegod.cn:8080

 

 

 

補充:真實的生產環境中,須要一個合法的域名和一個合法的公網IP,把域名解析到IP上,而後在web服務器裏修改配置文件

 

安裝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@XueGod63 ]# yum install apr-devel gcc gcc-c++ openssl-devel openssl

         [root@XueGod63 ]# tar xf tomcat-native-1.1.34-src.tar.gz -C /usr/local/src/

     [root@XueGod63 ]# cd /usr/local/src/tomcat-native-1.1.33-src/jni/native/

[root@XueGod63 native]# ./configure --with-apr=/usr/ --with-java-home=/usr/java/jdk1.8.0_60/ --with-ssl

         [root@XueGod63 native]# make ; make install;cd

安裝完:提示:

 

 

須要添加庫文件:

[root@xuegod63 native]# vim /etc/ld.so.conf

/usr/local/apr/lib  ##添加此行

[root@xuegod63 native]# ldconfig

[root@xuegod63 native]# echo "ldconfig" >>/etc/rc.local

[root@XueGod63 ~]# service tomcat stop ; service tomcat start

    [root@xuegod63 ~]#  cat /usr/local/tomcat/logs/catalina.out | grep Native              //看日誌看是否支持native

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

解決依賴

[root@XueGod63 ~]# yum install -y cmake     ncurses-devel              //gcc等相關在編譯apache已安裝

編譯安裝MySql

         [root@XueGod63 ~]# tar xf mysql-5.6.26.tar.gz -C /usr/local/src/ ; cd /usr/local/src/mysql-5.6.26

         [root@XueGod63 mysql-5.6.26]# useradd -M -s /sbin/nologin mysql                            //建立mysql運行用戶

[root@XueGod63 mysql-5.6.26]# cmake \

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

 -DDEFAULT_CHARSET=utf8 \

 -DDEFAULT_COLLATION=utf8_general_ci \

 -DWITH_EXTRA_CHARSETS=all \

 -DWITH_MYISAM_STORAGE_ENGINE=1\

 -DWITH_INNOBASE_STORAGE_ENGINE=1\

 -DWITH_MEMORY_STORAGE_ENGINE=1\

 -DWITH_READLINE=1\

 -DENABLED_LOCAL_INFILE=1\

 -DMYSQL_DATADIR=/usr/local/mysql/data \

 -DMYSQL-USER=mysql

*****************************************************************************************************************

DCMAKE_INSTALL_PREFIX                                      #制定mysql的安裝根目錄,目錄在安裝的時候會自動建立,這個值也能夠在服務器啓動時,用--basedir來設置

DMYSQL_UNIX_ADDR                                           #服務器與本地客戶端進行通訊的Unix套接字文件,必須是絕對路徑,默認位置/tmp/mysql.sock,能夠在服務器啓動時,用--socket改變

DDEFAULT_CHARSET                        #mysql默認使用的字符集,不指定將默認使用Latin1西歐字符集

DDEFAULT_COLLATION                           #默認字符校對

DWITH_EXTRA_CHARSETS                  #制定mysql拓展字符集,默認值也是all支持全部的字符集

DWITH_MYISAM_STORAGE_ENGINE #靜態編譯MYISAM,INNOBASE,MEMORY存儲引擎到MYSQL服務

                                   器,這樣MYSQL就支持這三種存儲引擎

DWITH_INNOBASE_STORAGE_ENGINE

DWITH_MEMORY_STORAGE_ENGINE

DWITH_READLINE                    #支持readline庫

DENABLED_LOCAL_INFILE                    #容許本地倒入數據,啓用加載本地數據

DMYSQL_DATADIR                                #mysql數據庫存放路徑

DMYSQL-USER                                    #運行mysql的用戶

這些編譯參數的幫助尋找方法:

http://www.mysql.com→→Documentation→→選擇對應的版本(5.6)→→HTML Online→→View→→Installation & Upgrades→→Installing MySQL from Source →→MySQL Source-Configuration Options→→

http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html                 //最終的URL

 [root@XueGod63 mysql-5.6.26]# ccmake /usr/local/src/mysql-5.6.26/       //除開在線,可使用本地幫助

 

 [root@XueGod63 mysql-5.6.26]# make -j 2 ; make install          //以2個進程來編譯,不要超過CPU核心數

上面的make過程比較漫長,咱們使用了-j 2來增長編譯速度

配置mysql

         [root@XueGod63 mysql-5.6.26]# cd && chown -R mysql:mysql /usr/local/mysql/                //屬主屬組更改

 [root@XueGod63 ~]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf       //覆蓋原配置文件

 [root@XueGod63 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld    //啓動腳本

         [root@XueGod63 ~]# vim /etc/init.d/ mysqld                                                   //更改啓動腳本中指定mysql位置

basedir=

datadir=

#修改成

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

         [root@XueGod63 ~]# chkconfig mysqld  on                                         //開機啓動

初始化數據庫

 [root@XueGod63 ~]/usr/local/mysql/scripts/mysql_install_db \

--defaults-file=/etc/my.cnf  \

--basedir=/usr/local/mysql/\

--datadir=/usr/local/mysql/data/\

--user=mysql

#相似於在rpm安裝的時候啓動數據庫彈出的初始化消息

[root@XueGod63 ~]# ls /usr/local/mysql/data/                     //初始化看這個下面有無mysql和test等數據庫

ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test

[root@XueGod63 ~]# ln -s /usr/local/mysql/bin/* /bin/                  //這個裏面是部分命令,讓系統直接調用

[root@XueGod63 ~]# servie mysqld  start                                 //啓動數據庫

[root@XueGod63 ~]# mysql_secure_installation                                   //初始安全設置(設置root密碼,123456)[記住,編譯安裝以前,記得除去mysql mysql-devel mysql-libs三個軟件]

[root@XueGod63 ~]# mysql -uroot -p123456                                //測試登陸(OK)

也能夠藉助下面的腳原本實現,腳本須要修改,注意

#!/bin/bash

yum remove -y mysql mysql-server

clear

echo'This shell will Auto Install Mysql5.6'

yum install -y cmake ncurses-devel

tar -xf mysql-5.6.26.tar.gz -C /usr/local/src && cd /usr/local/src/mysql-5.6.26

useradd -M -s /sbin/nologin mysql

mkdir /usr/local/mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql

make -j 3 && make install

chown -R mysql:mysql /usr/local/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

rm -rf /etc/my.cnf

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

sed -i '/^\[mysqld\]/adatadir = /usr/local/mysql/data' /etc/my.cnf

sed -i '/^\[mysqld\]/abasedir = /usr/local/mysql' /etc/my.cnf

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

service mysqld restart && echo "install success"

echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile

source /etc/profile

echo "source /etc/profile" >> /etc/rc.local

 [root@XueGod63 ~]# echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile && source /etc/profile

[root@XueGod63 ~]# vim /etc/my.cnf

[mysqld]

character-set-server=utf8      #添加此行,修改mysql數據庫默認編碼(和低版本的mysql寫法不同, 低版本的寫法是:default-character-set=utf8

[root@XueGod63 ~]# service mysqld restart

[root@XueGod63 ~]# mysql_secure_installation       //數據庫安全初始化

[root@XueGod63 ~]# mysql -uroot -p123456             //檢測登錄(OK)

mysql> show variables like "%char%";                         //查看默認字符編碼

+---------------------------+-----------------------------------+

| Variable_name             | Value                             |

+---------------------------+-----------------------------------+

| character_set_client      | utf8                              |

| character_set_connection  | utf8                              |

| character_set_database    | utf8                              |

| character_set_filesystem  | binary                            |

| character_set_results     | utf8                              |

| character_set_server      | utf8                              |

| character_set_system      | utf8                              |

| character_sets_dir        |/usr/local/mysql/share/charsets/  |

+---------------------------+-----------------------------------+

 

注意:以上安裝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@XueGod63 ~]# mysql -utomcat -ptomcat          //測試tomcat能夠登錄(OK)

 

測試jsp連接mysql                                                    

         Jsp連接mysql,官方提供了工具:安裝mysql-connector

安裝mysql-connector

[root@XueGod63 ~]# tar xvf mysql-connector-java-5.1.36.tar.gz -C /usr/local/src/

         [root@XueGod63 ~]# cd /usr/local/src/mysql-connector-java-5.1.36/

[root@XueGod63 ~]cp /usr/local/src/mysql-connector-java-5.1.36/mysql-connector-java-5.1.36-bin.jar /usr/local/tomcat/lib/                  #只須要複製到tomcat的lib目錄下,重啓tomcat就能夠生效

         [root@XueGod63 ~]# service tomcat stop; service tomcat start

測試

[root@XueGod63 ~]# 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.1.63:8080/mysql.jsp

 

原創: 學神IT  

 若有問題請加QQ: 1135189009 

相關文章
相關標籤/搜索