分享

Linux(Centos)环境下Tomcat9和Tomcat下SSL安装实践教程

 昵称61423314 2018-12-24

1.      准备工作以及配置Java环境

 

2.      LinuxJDK环境配置

 

3.      Linux下安装Tomcat9.0

 

4.      Linux中设置Tomcat的开机启动

 

5.      Tomcat设置主机管理的用户名和密码登录

 

6.      Tomcat网站安装SSL证书


 

准本工作

下载tomcat linux安装包,地址:http://tomcat./download-80.cgii

我下载的版本是9.0,具体操作如下图:

 

 

putty中下载直接(wget+下载链接)

Wget http://mirrors./apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz

将下载的tomcat安装包解压缩,然后再重命名

tar -zxv -f apache-tomcat-9.0.13.tar.gz(解压缩)

mv apache-tomcat-9.0.13 tomcat(重命名)

因为tomcat的安装依赖于Java jdk,所以我们需要判断linux系统下面是否安装jdk,判断的方法:

使用(Putty)连接到Linux系统下面;

输入命令:java -version,如果显示JDK版本号,则证明已经安装,如果不显示,则证明没有安装,JDK安装如下:

 

1.准备工

2.安装Java JDK8.0

3.配置环境变量

3.验证是否安装成功

5.卸载Java jdk

 

 

准备工作

因为Java JDK区分32位和64位系统,所以在安装之前必须要先判断我们的Centos为多少位系统,命令如下:

uname -a

解释:如果有x86_64就是64位的,没有就是32位的。后面是X86X86_64则内核是64位的,i686i386则内核是32位的

这是我查询后的显示:

 
 

由此可以判断我的Centos64位系统,故而我需要下载64位系统的JDK

下载JDK,地址为:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

我下载的JDK8,如图所示:

 
 

操作需要的软件以及系统如下:PuttyXftpMyEclipse(我需要的是这些,如果电脑上没有MyEclipse,需要到官网下载:

https://www./products/myeclipse/download/get/?1241(下载地址)

安装Java JDK8.0

然后在Putty中使用命令进入到local下面创建文件夹:kencery(为后面的安装做准备)

使用的命令:cd /usr/local

            mkdir kencery

            cd kencery/

我们现在使用FTP工具上传:接着使用Xftpjdk上传到/home目录下,然后复制到kencery文件夹下面,

这时候到putty中查看:(已经在/home目录下了,然后再cpkencery文件夹下面)

  

 
 
 

将上传的jdk解压,解压之后重命名为javajdk,如图所示:

tar -zxv -f jdk-8u192-linux-x64.tar.gz

mv jdk1.8.0_192 javajdk

cd javajdk

  

 

(同时我们也可以直接在putty中利用wget+下载地址也可以直接下载,然后再解压缩、重命名)

通过上面的步骤,我们的jdk已经全部完成安装了,接下来就是更重要的一步:配置环境变量。

 

配置环境变量

vi /etc/profile

打开后按键盘(i)进入编辑模式将下面的内容复制到底部

JAVA_HOME=/usr/local/kencery/javajdk
     PATH=$JAVA_HOME/bin:$PATH
     CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
     export PATH JAVA_HOME CLASSPATH

     备注:根据上面的配置信息,我们可以将环境变量配置完成,需要注意的是,PATH在配置的时候一定要把AVA_HOME/bin放在最前面。

     写完之后按键盘(ESC)按钮退出,然后按(:wq)保存并且关闭Vim

     然后使文件立即生效:source /etc/profile

 

验证是否安装成功

上面的所有步骤安装完成后,这时候需要检查是否安装成功,输入如下命令,如图所示:

java -version

echo $JAVA_HOME

  

 

后续卸载JDK的方法:卸载Java JDK

首先执行命令查看服务器下的jdk的版本:

命令如下(如图所示):rpm -qa|grep jdk

(我实际没卸载)

然后执行命令:

#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64

以上便是安装和卸载Java JDK的全部内容了。

 

 

 

通过上面准备工作之后,我们现在已经拥有了可以安装JDK的环境。                            

这时候如果前面的Tomcat没有安装成功可以再试一次,因为现在已经有了Java JDK环境。

 

 

下面在Linux下安装Tomcat9.0

通过上面的准备工作之后,我们现在已经拥有了可以安装和发布的环境。

下面我在putty中使用命令进入到local下面创建文件夹:kencery

  #cd usr/local

  #mkdir kencery

  #cd kencery

 

 

解析完成启动Tomcat,检查是否安装成功,命令如下,如图所示:

/usr/local/kencery/tomcat/bin/startup.sh

 

 

出现上图所示信息表示启动成功。这个时候可以在windows下面使用http://ip:8080访问,如果能够显示Tomcat的主页,则表示安装成功并能正常访问浏览器Web界面了,如不能显示,则需要在Linux中开放防火墙的8080端口。

Linux下面的防火墙里面开放8080端口,命令如下:

vim /etc/sysconfig/iptables

打开之后按键盘(i)进入编辑模式,写入开发8080端口,如图所示:

 
 

写完之后按(ESC)退出然后(:wq)保存。

之后重启防火墙,命令:

service iptables restart

然后再次在浏览器中输入http://IP:8080,如果看到Tomcat系统界面,说明安装成功,可以进行下一步。(停止Tomcat命令:/usr/local/tomcat/bin/shutdown.sh

Linux中设置tomcat的服务器启动和关闭

上面的操作我们已经完成了对tomcat的安装,接下来就可以部署项目,但是这里存在一个问题,那就Tomcat服务的启动和关闭每次都需要用路径并执行命令,那么可以设置成service的形式来实现这个功能,把Tomcat转化为服务。

执行命令:vi /etc/rc.d/init.d/tomcat,创建脚本文件,在文件中写入如下代码,保存并退出:

#!/bin/bash

# /etc/rc.d/init.d/tomcat

# init script for tomcat precesses

# processname: tomcat

# description: tomcat is a j2se server

# chkconfig: 2345 86 16

# description: Start up the Tomcat servlet engine.

 

if [ -f /etc/init.d/functions ]; then

. /etc/init.d/functions

elif [ -f /etc/rc.d/init.d/functions ]; then

. /etc/rc.d/init.d/functions

else

echo -e "\atomcat: unable to locate functions lib. Cannot continue."

exit -1

fi

RETVAL=$?

CATALINA_HOME="/usr/local/kencery/tomcat"   #tomcat安装目录,你安装在什么目录下就复制什么目录

case "$1" in

start)

if [ -f $CATALINA_HOME/bin/startup.sh ];

then

echo $"Starting Tomcat"

$CATALINA_HOME/bin/startup.sh

fi

;;

stop)

if [ -f $CATALINA_HOME/bin/shutdown.sh ];

then

echo $"Stopping Tomcat"

$CATALINA_HOME/bin/shutdown.sh

fi

;;

*)

echo $"Usage: $0 {start|stop}"

exit 1

;;

esac

exit $RETVAL

 

Linux

给文件添加权限,使得脚本文件可以执行,命令为chmod 755 /etc/rc.d/init.d/tomcat

将其添加到服务中,命令为chkconfig --add /etc/rc.d/init.d/tomcat

然后将下面得配置文件加到tomcat中得catalina.sh文件中的最后面,命令为:

vi /usr/local/kencery/tomcat/bin/catalina.sh

export JAVA_HOME=/usr/local/kencery/javajdk   #javajdk的安装路径,使用echo $JAVA_HOME命令可以读取

    export CATALINA_HOME=/usr/local/kencery/tomcat

    export CATALINA_BASE=/usr/local/kencery/tomcat

    export CATALINA_TMPDIR=/usr/local/kencery/tomcat/temp

上面的操作成功后,则配置完成,检测命令:service tomcat start  service tomcat stop(如图所示)

 
  
 

Linux中设置tomcat的开机启动

通过第三步的设置操作的时候可以很方便的设置tomcat的启动和关闭,但是这里存在一个问题,那就是当服务器关机重启的时候,服务器不能穗计算机的启动而自己启动,所以可以将Tomcat服务器设置为开机自启动。

打开Linux设置开机自启动的文件,将下面的配置文件写入此文件的最后,命令为:

vi /etc/rc.d/rc.local

export JAVA_HOME=/usr/local/kencery/javajdk

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    export CATALINA_HOME=/usr/local/kencery/tomcat/

    #tomcat自启动

    /usr/local/kencery/tomcat/bin/startup

tomcat依赖于JavaJDK,所以设置的时候将jdk也是同步导入;

完成上面的步骤之后我们就可以将Tomcat服务重启。

Tomcat设置用户名和密码登录

Tomcat安装完成之后,访问http://IP:8080可以看到tomcat发布的网站,这时候需要管理我们发布的网站,就需要登陆Tomcat,那么在Centos中如何设置登录名和密码?

  

 

tomcat安装包下面的conf文件下(具体目录/usr/local/kencery/tomcat/conf)含有一个tomcat-user.xml文件,修改此文件即可,命令为:

vi tomcat-users.xml

<role rolename="admin-gui"/>   
  <role rolename="manager-gui"/>
   <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

        写入后保存退出即可。(如图所示) 


                                                                                  

在这里会出现一个问题,因为tomcat-users.xml里面有注释的用户设置的信息,取消注释,用文件提供的用户名和密码去访问的时候,会出现403错误,

  

 

如我们现在想访问tomcat中图形化管理应用的功能,也就是Manager AppHost ManagerServer Status这时不仅要指定manager-gui的权限,就是上面编辑的conf文件下tomcat-user.xml的配置文件,还要修改:

(具体路径为:/uer/local/kencery/tomcat/webapps/manager/META-INF目录下的

context.xml的文件内容,如图所示)

 
 

注释掉这段代码即可,这样就可以用用户名和密码访问Manager App

配置完用户名密码之后,需要重新启动tomcat,命令如下:

service tomcat stop

service tomcat start

重启服务之后,检测是否登录成功,如果登录进入系统,则说明登录成功。

 
  
 

后续可以使用MyEclipse打包Java Web项目并将Java Web项目发布到Tomcat9.0下面并且进行访问展示,这是Java开发同事的事情了,这里不掩饰了。

 

 

 

 

下面重点介绍一下Tomcat的证书安装方法:

一、证书导入

导入中级证书: keytool -import -alias intermediate -keystore c:\server.jks -chinasslcrt file c:\intermediate.crt 提示“认证已添加至keystore中”则导入成功。 

 

导入交叉证书: keytool -import -alias cross -keystore c:\server.jks -chinasslcrt -file c:\chain.crt 提示“认证已添加至keystore中” 则导入成功。 

 

导入服务器SSL证书: keytool -import -alias mykey -keystore c:\server.jks -chinasslcrt -file c:\server.crt 输入密码后 提示:“认证回复已安装在 keystore中”说明导入成功。

 

 二、修改配置文件server.xml 将已正确导入认证回复的server.jks文件复制到tomcat安装目录下的conf目用文本编辑器打开Server.xml并更新以下内容:

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" keystoreFile="D:/jcy/Tomcat7/conf/server.jks" keystorePass="123456" />

下面为配置文件参数说明: port="443" SSL访问端口号为443 keystoreFile 私钥库文件 server.jks keystorePass  私钥库密码 123456

 

对于Tomcat服务器,如果需要支持使用https访问,可以将服务器证书生成以后,配置server.xml文件,开放https访问方式。但有些时候,可能我们需要将整站或者一些特定的URL限制为只能使用https方式进行访问,那么需要在WEB应用的web.xml文件中进行进一步的配置。 tomcat /conf/web.xml 中的 后面加上下面代码:

 
 

需要重新启动tomcat,命令如下:

service tomcat stop

service tomcat start

 

备注:

一:Tomcat 默认http端口是8080https一般默认443端口。修改默认网站端口方法,编辑server.xml修改下面代码:

               connectionTimeout="20000"  URIEncoding="UTF-8"

               redirectPort="443" />

 

二:“F5负载均衡产品设备的面板中健康检测还是应该是8080 而不是 443 否则认为不对,导致不能外网访问“,  .jks文件安装所以不需要加keystoreType="PKCS12"这个代码。

server.xml配置文件参考模板:

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  

               connectionTimeout="20000"  URIEncoding="UTF-8"

               redirectPort="443" />

   

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" keystoreFile="D:/jcy/Tomcat7/conf/server.jks" keystoreType="PKCS12" keystorePass="123456" />

       

               resourceName="UserDatabase"/>

    

            unpackWARs="true" >

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多