Tomcat部署環境

Tomcat部署環境

做者:compy  html

日期:20170601java

 

安裝軟件包版本mysql

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

Tomcat                                              apache-tomcat-8.0.26c++

JDK                                                          jdk-8u60-linux-x64web

MySQL                                                mysql-5.6.26sql

部署Tomcat使用jsp連接Msql數據庫

上傳安裝文件:apache

 

安裝JDKvim

# rpm -ivh jdk-8u60-linux-x64.rpm

 

# java -version 

 

查看新裝的java安裝所在的位置/usr/java

# rpm -pql jdk-8u60-linux-x64.rpm             

修改環境變量

# vim /etc/profile

 

#JDK的家目錄位置

export JAVA_HOME=/usr/java/jdk1.8.0_60/ 

#JDK運行的而二進制目錄

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   

 加載環境變量

# source /etc/profile

安裝tomcat

# tar  -xvf  apache-tomcat-8.0.26.tar.gz  -C  /usr/local/src/

# cd  /usr/local/src/apache-tomcat-8.0.26/

# ls

 

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運行時所產生的臨時文件

tomcat的執行腳本文件

# ls bin/

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

#sh爲Linux下的腳本,Shell

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

# cd .. 

# pwd

 /usr/local/src

# mv apache-tomcat-8.0.26/ /usr/local/tomcat 

Tomcat啓動腳本

# 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的腳本

# chmod +x /etc/init.d/tomcat

# service tomcat start

# chkconfig --add tomcat

# chkconfig tomcat on

# netstat -antup | grep 8080

 

測試Tomcat

覽器訪問 http://192.168.100.101:8080

 

 

建立管理Manger App用戶

# vim /usr/local/tomcat/conf/tomcat-users.xml

去掉註釋<!--  -->

 

  <role rolename="tomcat"/>

 <role rolename="role1"/>

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

 <user username="compy" password="123456" roles="manager-gui"/>   #添加此行

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

<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

#容許以只讀狀態訪問

沒有restart命令,只能先stop在start

# service tomcat stop

# service tomcat start

 

 

 # ls /usr/local/tomcat/conf/

 

server.xml是Tomcat的主配置文件(全局),服務器設置的,例如端口設置,路徑設置。

context裏設置tomcat數據源,用來鏈接數據庫。

tomcat_user主要是用戶名和密碼的設置。

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

# vim /usr/local/tomcat/conf/server.xml

<Host name="tomcat01.gyso.pw" appBase="/var/www/html" >

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

</Host>

<Host name="tomcat02.gyso.pw" appBase="/var/www/html" >

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

</Host>

#在末尾的</Engine>上面添加上面這幾行

appBase指定應用程序(網站)的基本路徑,這裏能夠存放多個程序(網站),通常是相對路徑,相對於tomcat的安裝目錄。

Context path=""爲虛擬目錄,若是是空,表示直接就是/,若是是如path="aa",那麼訪問的時候就是site:8080/aa

xuegod.cndocBase="……" 爲實際目錄,就是能夠是絕對路徑,若是是相對路徑就是基於appBase

hosts文件下加兩條記錄

 

# service tomcat stop

# service tomcat start

# mkdir -p /var/www/html/{tomcat01,tomcat02}

# echo tomcat01.gyso.pw > /var/www/html/tomcat01/index.html

# echo tomcat02.gyso.pw > /var/www/html/tomcat02/index.html

 

在沒有真實域名和服務器是,在虛擬機中作實驗室需在客戶機host文件中添加以下兩條:

         192.168.100.101    tomcat01.gyso.pw

     192.168.100.101    w.gyso.pw

     192.168.100.101    tomcat02.gyso.pw

 

網頁測試

http://tomcat01gyso.pw:8080    

 

 http://tomcat02.gyso.pw:8080

 

 

安裝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

# yum -y install apr-devel gcc gcc-c++ openssl-devel openssl

# tar  -zxf  tomcat-native-1.1.34-src.tar.gz  -C  /usr/local/src/

# cd  /usr/local/src/tomcat-native-1.1.33-src/jni/native/

# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.8.0_60/ --with-ssl

# make && make install

須要添加庫文件:

# vim /etc/ld.so.conf

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

 

# ldconfig

# echo "ldconfig" >>/etc/rc.local

# service tomcat stop

# service tomcat start

看日誌看是否支持native

# cat /usr/local/tomcat/logs/catalina.out | grep Native  --color 

 

安裝mysql

解決依賴

#gcc等相關在編譯apache已安裝

# yum install -y cmake     ncurses-devel  

編譯安裝MySql

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

# cd /usr/local/src/mysql-5.6.26
建立mysql運行用戶

        # useradd -M -s /sbin/nologin 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              

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的用戶

 

除開在線,可使用本地幫助

# ccmake /usr/local/src/mysql-5.6.26/

2個進程來編譯,不要超過CPU核心數

# make -j 2 ; make install         

屬主屬組更改

# cd && chown -R mysql:mysql /usr/local/mysql/ 

覆蓋原配置文件

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

啓動腳本

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

更改啓動腳本中指定mysql位置

# vim /etc/init.d/ mysqld              

basedir=

datadir=

#修改成

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data           

開機啓動

# chkconfig mysqld  on

初始化數據庫

 /usr/local/mysql/scripts/mysql_install_db \

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

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

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

--user=mysql

初始化看這個下面有無mysqltest等數據庫

# ls /usr/local/mysql/data/ 

這個裏面是部分命令,讓系統直接調用

# ln -s /usr/local/mysql/bin/* /bin/

# servie mysqld  start 

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

測試登陸(OK

# mysql -uroot -p123456 

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

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

# source /etc/profile

# vim /etc/my.cnf

[mysqld]

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

# service mysqld restart

# mysql_secure_installation       //數據庫安全初始化

# 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 -uroot -p123456

mysql> create database tomcat;        //測試數據庫,爲了和後面方便測試,這裏建立tomcat

mysql> use tomcat

mysql> create table test01(id int,name varchar(128));                //建立測試表

mysql> insert into test01 values(1,"compy01"),(2,"compy02"),(3,"compy03") ,(4,"godbey");//建立測試數據

mysql> grant all on tomcat.* to tomcat@localhost identified by 'tomcat';              //受權用戶

mysql> \q

# mysql -utomcat -ptomcat          //測試tomcat能夠登錄(OK

 

測試jsp連接mysql

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

安裝mysql-connector

# tar xvf mysql-connector-java-5.1.36.tar.gz -C /usr/local/src/

# cd /usr/local/src/mysql-connector-java-5.1.36/

只須要複製到tomcat的lib目錄下,重啓tomcat就能夠生效

 

# cp /usr/local/src/mysql-connector-java-5.1.36/mysql-connector-java-5.1.36-bin.jar /usr/local/tomcat/lib/  

 # service tomcat stop

# service tomcat start

測試

# vim /usr/local/tomcat/webapps/ROOT/mysql.jsp       //創建測試頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ page language="java" %>

<%@ page import="com.mysql.jdbc.Driver" %>

<%@ page import="java.sql.*" %>

<%

  String driverName="com.mysql.jdbc.Driver";

  String userName="tomcat";

  String userPasswd="tomcat";

  String dbName="tomcat";

  String tableName="test01";

  String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

  Class.forName("com.mysql.jdbc.Driver").newInstance();

  Connection connection=DriverManager.getConnection(url);

  Statement statement = connection.createStatement();

  String sql="SELECT * FROM "+tableName;

  ResultSet rs = statement.executeQuery(sql);

  ResultSetMetaData rmeta = rs.getMetaData();

  int numColumns=rmeta.getColumnCount();

  out.print("id");

  out.print("|");

  out.print("name");

  out.print("<br>");

  while(rs.next()) {

    out.print(rs.getString(1)+" ");

    out.print("|");

    out.print(rs.getString(2));

    out.print("<br>");

  }

  out.print("<br>");

  out.print("數據庫操做成功,恭喜你");

  rs.close();

  statement.close();

  connection.close();

%>

 

訪問網址如圖

 

相關文章
相關標籤/搜索