tomcat 搭建
什麽是Tomcat
官方網站:http://tomcat.apache.org/
Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項目中的一個核心項目,由 Apache、Sun 和其他一些公司及個人共同開發而成。由於有了 Sun 的參與和支持,最新的 Servlet 和JSP 規範總是能在 Tomcat 中得到體現,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 規範。因為Tomcat 技術先進、性能穩定,而且免費,因而深受 Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的 Web 應用服務器。
Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試 JSP 程序的首選。 Tomcat 和 IIS 等 Web 服務器一樣,具有處理 HTML 頁面的功能。不過,Tomcat 處理靜態 HTML 的能力不如 Apache 服務器。
了解jsp
JSP:全名為Java Server Pages,中文名叫java服務器頁面, 是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。
支持 JSP 網站,收費版 web 服務器:oracle 的 weblogic ; IBM 的 websphere
WebLogic 是美國 Oracle 公司出品的一個 application server 確切的說是一個基於 JAVAEE 架構的中間件,WebLogic 是用於開發、集成、部署和管理大型分布式 Web 應用、網絡應用和數據庫應用的 Java應用服務器。將 Java 的動態功能和 Java Enterprise 標準的安全性引入大型網絡應用的開發、集成、部署和管理之中。
WebSphere 是 IBM 的軟件平臺。它是 Web 應用程序和跨平臺、跨產品解決方案所需要的整個中間件基礎設施。WebSphere 提供了可靠、靈活和健壯的軟件運行服務。
中間件
中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源。中間件位於客戶機/服務器的操作系統之上,管理計算機資源和網絡通訊。是連接兩個獨立應用程序或獨立系統的軟件。相連接的系統,即使它們具有不同的接口,但通過中間件相互之間仍能交換信息。執行中間件的一個關鍵途徑是信息傳遞。通過中間件,應用程序可以工作於多平臺或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
tomcat 搭建