centos7 安装java和tomcat9

centos7 安装java

下载好java安装包后,首先是解压,然后配置环境变量。

在usr下新建Java文件夹,把java解压到Java文件夹中

  • 新建文件夹
    # mkdir /usr/Java

  • 键入到java安装的目录下,解压安装包

# tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/Java

  • 设置环境变量,在/etc/profile文件最后追加相关内容
    # vi /etc/profile
# 添加的内容
export JAVA_HOME=/usr/Java/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 刷新环境变量
    # source /etc/profile

  • 测试java命令是否可用
    java -version

[root@iz2zehejzrsqpct9b3urkaz ~]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

安装tomcat

下载好apache-tomcat服务器

  • 新建apache-tomcat文件夹,把文件解压到文件夹下
    # mkdir apache-tomcat
    # tar -zxvf apache-tomcat-7.0.68.tar.gz -C /usr/apache-tomcat

  • 配置环境变量,在/etc/profile文件最后追加相关内容
    # vi /etc/profile

CATALINA_HOME=/usr/apache-tomcat/tomcat9
CATALINA_BASE=/usr/apache-tomcat/tomcat9
PATH=$PATH:$CATALINA_BASE/bin
export PATH CATALINA_BASE
  • 修改端口:修改/usr/local/apache-tomcat/tomcat9/conf下的 server.xml
    找到下面的代码
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

将其中的 8080 改成 HTTP 协议的默认端口 80,改后的代码如下:

  <Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
  • 打开 vi catalina.sh 文件:
    # vi /usr/local/apache-tomcat/tomcat9/bin/catalina.sh
# /usr/local/apache-tomcat/tomcat9/bin
# vi catalina.sh
# tomcat-java_config 2017-11-02
JAVA_HOME=/usr/Java/jdk1.8.0_152
JRE_HOME=$JAVA_HOME/jre
# OS specific support.  $var _must_ be set to either true or false.
cygwin=false
  • 启动服务
    # startup.sh
Using CATALINA_BASE:   /usr/apache-tomcat/tomcat9
Using CATALINA_HOME:   /usr/apache-tomcat/tomcat9
Using CATALINA_TMPDIR: /usr/apache-tomcat/tomcat9/temp
Using JRE_HOME:        /usr/Java/jdk1.8.0_152/jre
Using CLASSPATH:       /usr/apache-tomcat/tomcat9/bin/bootstrap.jar:/usr/local/apache-tomcat/tomcat9/bin/tomcat-juli.jar
Tomcat started.
  • 关闭 tomcat 服务:
    # shutdown.sh
Using CATALINA_BASE:   /usr/apache-tomcat/tomcat9
Using CATALINA_HOME:   /usr/apache-tomcat/tomcat9
Using CATALINA_TMPDIR: /usr/apache-tomcat/tomcat9/temp
Using JRE_HOME:        /usr/Java/jdk1.8.0_152/jre
Using CLASSPATH:       /usr/apache-tomcat/tomcat9/bin/bootstrap.jar:/usr/local/apache-tomcat/tomcat9/bin/tomcat-juli.jar

注意:不可连续执行多次 ./shutdown.sh命令,多次后报如下错误:

Using CATALINA_BASE:   /usr/apache-tomcat/tomcat9
Using CATALINA_HOME:   /usr/apache-tomcat/tomcat9
Using CATALINA_TMPDIR: /usr/apache-tomcat/tomcat9/temp
Using JRE_HOME:        /usr/Java/jdk1.8.0_152/jre
Using CLASSPATH:       /usr/apache-tomcat/tomcat9/bin/bootstrap.jar:/usr/local/apache-tomcat/tomcat9/bin/tomcat-juli.jar
十一月 02, 2017 10:57:30 上午 org.apache.catalina.startup.Catalina stopServer
严重: Could not contact [localhost:[8005]]. Tomcat may not be running.
十一月 02, 2017 10:57:30 上午 org.apache.catalina.startup.Catalina stopServer
严重: Catalina.stop:
java.net.ConnectException: 拒绝连接 (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at java.net.Socket.<init>(Socket.java:434)
        at java.net.Socket.<init>(Socket.java:211)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:492)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497) 

将 tomcat9 加入到系统服务列表中:

  • 进入到 /etc/init.d 目录中:
    cd /etc/init.d
  • 创建 tomcat9 服务配置文件:
    vi tomcat9
    将如下代码加入写入到 tomcat9 配置文件中:
# idea - tomcat config start - 2017-11-03

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 2345 20 80
JAVA_HOME=/usr/Java/jdk1.8.0_152/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/apache-tomcat/tomcat9/

case $1 in
start)
 sh $CATALINA_HOME/bin/startup.sh
;;
stop)
 sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
 sh $CATALINA_HOME/bin/shutdown.sh
 sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0

#chmod 755 tomcat
#chkconfig --add tomcat
#chkconfig --level 2345 tomcat on
#chkconfig --list tomcat
  • 为 tomcat9 分配可执行权限:
    # chmod +x tomcat9

  • 将 tomcat9 纳入到系统的服务列表中,即添加 tomcat9 为系统服务:
    # chkconfig --add tomcat9

  • 查看当前系统服务都有哪些:
    # chkconfig --list

  • 也可以查看指定的系统服务,如这里我们指定 tomcat9 这个服务:
    # chkconfig --list tomcat9

[root@ylg init.d]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
tomcat9         0:关    1:关    2:开    3:开    4:开    5:开    6:关

则表明已将 tomcat9 设置为系统服务,2、3、4、5 都为 on 表示可随系统自动启动.

我们可以在任意目录下执行关闭、启动、重启 Tomcat9 服务啦:

  • 关闭 tomcat9 服务:
    # service tomcat9 stop

  • 启动 tomcat9 服务:
    # service tomcat9 start

  • 重启 tomcat9 服务:
    # service tomcat9 restart

原文地址:https://www.cnblogs.com/yangliguo/p/7780774.html