前言 之前在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
--no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
如我下载的是Jdk8
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
中最后写入:
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中写:
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是否安装成功。
root@V0W:/ 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 1.8.0_191
步骤二 安装Tomcat 2.1 下载Tomcat 官网:https://tomcat.apache.org
我下载的是7版本:
一样,先建个文件,放tomcat的文件
下载命令:
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
文件中设置环境变量
export TOMCAT_HOME=/usr/local /tomcat/tomcat7.0
在 tomcat/bin
目录下执行./startup.sh
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.
测试一下
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 找云服务器上的防火墙配置文件
2.3.2 查看一下防火墙配置文件 iptables -L
查看防火墙配置文件
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 修改防火墙配置 root@V0W:/etc# ufw allow 8080 Rules updated Rules updated (v6)
2.3.4 阿里云的安全组配置 但是,经过上述的配置,我依然不能连接到服务
测试方法:
主机telnet
命令
telnet serverIP 8080 # IP Port
最终,发现问题出在阿里云的安全组配置上、、、
深受其害
于是,修改其安全策略,这里,我把一些常用的端口都添加上(包括8080),还有一种策略是将所有端口都开放,再在服务器上配置防火墙。都是可以的,都是安全的。
配置完安全策略,终于是可以访问了
至此,Java+Tomcat在阿里云服务器ubantu16.04上的环境配置,算是完成了。( ̄▽ ̄)/
参考链接 云服务器tomcat部署的网页公网ip无法访问
Ubuntu14.04安装Tomcat7.0 配置环境变量
Ubuntu14.04 Linux 安装 jdk 配置环境变量