V0W's Blog

Ubantu服务器上配置Java+Tomcat服务

字数统计: 1,254阅读时长: 6 min
2018/10/16 Share

前言

之前在windows上安装过Java+tomcat,配置方法其实差不多,但是也有部分区别,毕竟不是傻瓜式的一键安装。最近护网杯一个web题的复现时用到,于是在我的ubantu服务器上重新部署一下,顺便记录一下,以做分享。

笔者环境介绍

阿里云VPS

OS:ubantu 16.04

Jdk:1.8.0_191

Tomcat: tomcat7.0.91

步骤一 安装Jdk

1.1 新建一个Java目录

笔者新建一个/usr/local/Java用于存放Java的下载文件等。

1.2 wget下载

首先是安装Java环境,也就是说要安装Jdk,但是ubantu上不能直接下载,尤其是服务器甚至没有图形化浏览器。

只能用wget命令,但是一开始发现wget命令下载的Jdk只有几M,当时就发觉不对,

原因在于:

去Oracle官网下载过jdk的童鞋应该都知道,下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认是不同意,虽然能下载下来,但是下载下来的文件会有问题,所以在Linux上解压一直失败。

解决方法:wget后面加上Cookie

1
--no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"

如我下载的是Jdk8

1
wget http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"

下载完成后解压到之前创建的/usr/local/Java

1.3 配置环境变量

/etc/profile中最后写入:

1
2
3
4
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存后,在shell中写:

1
2
3
4
5
update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_191/bin/java 300

update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_191/bin/javac 300

update-alternatives --config java

之后,测试查看Java是否安装成功。

1
2
3
4
5
6
root@V0W:/# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
root@V0W:/# javac -version
javac 1.8.0_191

步骤二 安装Tomcat

2.1 下载Tomcat

官网:https://tomcat.apache.org

我下载的是7版本:

mark

一样,先建个文件,放tomcat的文件

下载命令:

1
2
3
4
5
6
mkdir /usr/local/tomcat
cd /usr/local/tomcat
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.91/bin/apache-tomcat-7.0.91.tar.gz
tar -xzcf apache-tomcat-7.0.91.tar.gz
mv apache-tomcat-7.0.91/ tomcat7.0 # 换个简单点的名字
rm -rf apache-tomcat-7.0.91.tar.gz

2.2 设置环境变量

/etc/profile文件中设置环境变量

1
2
# tomcat env
export TOMCAT_HOME=/usr/local/tomcat/tomcat7.0

tomcat/bin目录下执行./startup.sh

1
2
3
4
5
6
7
root@V0W:/usr/local/tomcat/tomcat7.0/bin# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat/tomcat7.0
Using CATALINA_HOME: /usr/local/tomcat/tomcat7.0
Using CATALINA_TMPDIR: /usr/local/tomcat/tomcat7.0/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_191/jre
Using CLASSPATH: /usr/local/tomcat/tomcat7.0/bin/bootstrap.jar:/usr/local/tomcat/tomcat7.0/bin/tomcat-juli.jar
Tomcat started.

测试一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@V0W:/usr/local/tomcat/tomcat7.0/bin# curl localhost:8080

<!DOCTYPE html>


<html lang="en">
<head>
<title>Apache Tomcat/7.0.91</title>
<link href="favicon.ico" rel="icon" type="image/x-icon" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="tomcat.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="wrapper">
<div id="navigation" class="curved container">
<span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>

成功。

2.3 测试外网访问

开始测试浏览器访问云服务器,发现连接不上,百度后发现是防火墙的问题

2.3.1 找云服务器上的防火墙配置文件

1
2


2.3.2 查看一下防火墙配置文件

iptables -L查看防火墙配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@V0W:/etc# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
DROP tcp -- anywhere anywhere tcp dpt:mysql
ACCEPT icmp -- anywhere anywhere icmp echo-request

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

2.3.3 修改防火墙配置

1
2
3
root@V0W:/etc# ufw allow 8080
Rules updated
Rules updated (v6)

2.3.4 阿里云的安全组配置

但是,经过上述的配置,我依然不能连接到服务

测试方法:

主机telnet命令

1
telnet serverIP 8080   # IP Port

最终,发现问题出在阿里云的安全组配置上、、、

深受其害

mark

于是,修改其安全策略,这里,我把一些常用的端口都添加上(包括8080),还有一种策略是将所有端口都开放,再在服务器上配置防火墙。都是可以的,都是安全的。

mark

配置完安全策略,终于是可以访问了

mark

至此,Java+Tomcat在阿里云服务器ubantu16.04上的环境配置,算是完成了。( ̄▽ ̄)/

参考链接

云服务器tomcat部署的网页公网ip无法访问

Ubuntu14.04安装Tomcat7.0 配置环境变量

Ubuntu14.04 Linux 安装 jdk 配置环境变量

CATALOG
  1. 1. 前言
    1. 1.1. 笔者环境介绍
  2. 2. 步骤一 安装Jdk
    1. 2.1. 1.1 新建一个Java目录
    2. 2.2. 1.2 wget下载
    3. 2.3. 1.3 配置环境变量
  3. 3. 步骤二 安装Tomcat
    1. 3.1. 2.1 下载Tomcat
    2. 3.2.
    3. 3.3. 2.2 设置环境变量
    4. 3.4. 2.3 测试外网访问
      1. 3.4.1. 2.3.1 找云服务器上的防火墙配置文件
      2. 3.4.2. 2.3.2 查看一下防火墙配置文件
      3. 3.4.3. 2.3.3 修改防火墙配置
      4. 3.4.4. 2.3.4 阿里云的安全组配置
  4. 4. 参考链接