Tomcat部署环境

Posted cslzzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat部署环境相关的知识,希望对你有一定的参考价值。

Tomcat部署环境

作者:compy  

日期:20170601

 

安装软件包版本

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

上传安装文件:

 技术图片

安装JDK

# 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_HOMEbin:$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 [email protected] 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();

%>

 

访问网址如图

 技术图片

 

以上是关于Tomcat部署环境的主要内容,如果未能解决你的问题,请参考以下文章

Linux集成环境部署 mysql + tomcat + redis

tomcat环境部署

如何在windows server 2008服务器上部署tomcat环境

部署tomcat环境

Linux测试环境部署tomcat

TomCat下部署接口测试环境