安装配置tomcat

所有软件的版本如下:

MySQL-Connector-Java:                  mysql-connector-java-5.1.44                部署Tomcat使用jsp链接Msql

Tomcat:                                            apache-tomcat-8.5.42.tar.gz         tomcat软件包,此包为二进制源码包,无需编译,可直接使用

JDK:                                                  jdk-8u212-linux-x64.tar.gz       jdk环境依赖包,安装tomcat必备此包,

MySQL:                                            mysql-5.7.19            mysql数据库软件包

 

 

安装jdk

[root@b bin]# tar -zxvf /mnt/install-soft/jdk-8u212-linux-x64.tar.gz -C /usr/local/

[root@b bin]#cd /usr/local/jdk1.8.0_212/bin

[root@b bin]#./java -version

 

修改环境变量,使java全局生效

[root@b bin]# vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_212
export PATH=$PATH:${JAVA_HOME}/bin
export CLASSPATH=.:${JAVA_HOME}/lib

在/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

原文地址:https://www.cnblogs.com/xiaofeng666/p/11003344.html