腾讯云Ubuntu系统JDK、Mysql、Tomcat安装

前几天上车购入了腾讯云,操作系统为 Ubuntu 16.04.1 LTS,记录一下安装最新版 JDK-10、Mysql-5.7、Tomcat-9 的过程。因为是第一次在服务器上进行这类操作,有些具体操作与网上一些文章也颇有出入,如果存在不恰当的做法希望大家多多指正。

1. JDK

方案 A: 将JDK直接下载到服务器中,实际操作后是失败的,可直接跳到方案 B

1
2
3
$ wget http://download.oracle.com/otn-pub/java/jdk/10+46/76eac37278c24557a3c4199677f19b62/jdk-10_linux-x64_bin.tar.gz
// 下载结束后尝试解压
$ tar -zxvf jdk-10_linux-x64_bin.tar.gz
1
2
3
4
提示以下信息:
  gzip: stdin: not in gzip format
  tar: Child returned status 1
  tar: Error is not recoverable: exiting now

原因:这个压缩包没有用gzip格式压缩,所以不用加z指令 解决方法:使用 $ tar -xvf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

问题实际上没有被解决,方案 A 为何没有奏效我并不清楚是什么原因,留下来以后慢慢探索。

1
2
$ du -h jdk-10_linux-x64_bin.tar.gz.1
8.0K jdk-10_linux-x64_bin.tar.gz.1

JDK 只有区区 8K,显然不对,于是选择方案 B

方案 B:在本地下载 JDK,然后拷贝到服务器

开始的时候想和使用 wget 一样直接拷贝到 /usr/java 文件夹下面,但是发现没有权限这么做,这里涉及到 linux 用户和用户群的知识,查看文件或者文件夹是否有操作权限请使用 $ ls -l 命令查看详情,用户目录肯定是有权限访问的,所以将 /home/ubuntu 作为拷贝的目标文件夹。

1
$ sudo scp /Users/gaopengsheng/Downloads/jdk-10_linux-x64_bin.tar.gz ubuntu@140.143.246.244:/home/ubuntu

之后解压

1
2
// /usr/java/jdk 是事先创建好的文件夹,jdk-10_linux-x64_bin.tar.gz 是下载的压缩包文件
$ sudo tar -xzvf jdk-10_linux-x64_bin.tar.gz -C /usr/java/jdk

配置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 1. 修改
$ vim ~/.bashrc
// 在最后面插入,重点在于JAVA_HOME需要配置到 jdk 实际存放的位置,其余四条都是一样的
export JAVA_HOME=/usr/java/jdk/jdk-10
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
// :wq保存后,执行
$ . ~/.bashrc
$ java -version // 试验是否安装成功
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)

至此JDK完成安装。

2. Mysql

下载安装

因为我使用的是 ubuntu 系统,所以支持apt 的方式安装 Mysql。按照文档,先下载 .deb 文件,然后拷贝到服务器上,即可完成安装。

首先测试本地访问数据库

1
2
3
4
// 1. 查看数据库的状态,如果未开启请先开启
$ sudo service mysql status
// 2. 然后访问本地数据库
$ mysql -u root -p

开启Mysql远程访问

1. 修改用户表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 1. 打开mysql数据库
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
// 2. 查看用户表 user
mysql> SELECT host,user FROM user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
// 3. 修改:host 字段表示登录的主机,其值可以用IP,也可用主机名,如要要所有ip都可以访问数据库请使用'%',可以选择创建新用户,或者选择修改root用户的访问权限,修改完成后所有主机均可以使用root用户访问mysql
mysql> UPDATE user SET host = '%' WHERE user = 'root';
// 4. 修改字段之后重复第2步操作查看user表,结果如下
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

2. 配置防火墙打开 3306 端口

ubuntu防火墙安装与配置

3. Mysql监听端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 1. 查看3306端口状态
$ netstat -an | grep 3306
// 2. 正确结果,如果结果中绑定的结果不是0 0.0.0.0:3306, 而是127.0.0.1:3306 需要修改Mysql配置文件
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
// 3. 查找配置文件,在/etc文件夹下并以.cnf 结尾的文件
$ sudo find /etc -name *.cnf
/etc/alternatives/my.cnf
/etc/mysql/conf.d/mysql.cnf
/etc/mysql/my.cnf
/etc/mysql/mysql.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
/etc/ssl/openssl.cnf
// 4. 尝试用vim打开每个文件尝试哪个文件绑定了监听IP,即具有 bind-address 字段,尝试结果为 /etc/mysql/mysql.conf.d/mysqld.cnf 为ubuntu环境下的Mysql 配置文件
$ vim /etc/mysql/mysql.conf.d/mysqld.cnf
// 5. 修改ip
bind-address = 0.0.0.0
// 6. 保存退出,注意mysqld.cnf为只读文件所以使用如下命令保存退出,也可以使用sudo打开后再编辑
:w !sudo tee %
// 7. 再次查看3306端口状态,并尝试连接服务器的数据库,除了使用工具Navicat以外还可以使用终端命令
$ mysql -h 服务器外网ip -P 3306 -u root -p

至此 Mysql 就安装完毕了。

3. Tomcat

下载安装

首先登录Tomcat 官网,选择 tar.gz 压缩格式的二进制包,这里可以使用 wget命令直接下载到服务器上,然后进行解压,具体步骤见 JDK 安装方案 A。 ## 环境变量配置 首先阅读根目录下的 RUNNING.txt 文件,相当于 README 。里面有对如何配置环境变量和如果启动和关闭 Tomcat 有详细的介绍。按照文档的指示我们需要在 CATALINA_BASE/bin 或者 CATALINA_HOME/bin 文件下创建一个名为 setenv.sh 的文件,具体文档如下:

1
2
3
4
5
6
(3.4) Using the "setenv" script (optional, recommended)
Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
be specified in the "setenv" script. The script is placed either into
CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
readable.

1. 先取得 bin 文件夹的操作权限

1
$ sudo chmod 777 -R /usr/java/tomcat/apache-tomcat-9.0.6/bin

2. 然后创建 setenv.sh 文件并编辑

1
2
3
4
5
6
7
8
9
10
11
12
// 1. 创建 setenv.sh 文件
/usr/java/tomcat/apache-tomcat-9.0.6/bin$ vim setenv.sh
// 2. 配置 JAVA_HOME 后保存退出
JAVA_HOME=/usr/java/jdk/jdk-10
// 3. 执行 startup.sh
$ sudo ./startup.sh
Using CATALINA_BASE: /usr/java/tomcat/apache-tomcat-9.0.6
Using CATALINA_HOME: /usr/java/tomcat/apache-tomcat-9.0.6
Using CATALINA_TMPDIR: /usr/java/tomcat/apache-tomcat-9.0.6/temp
Using JRE_HOME: /usr/java/jdk/jdk-10
Using CLASSPATH: /usr/java/tomcat/apache-tomcat-9.0.6/bin/bootstrap.jar:/usr/java/tomcat/apache-tomcat-9.0.6/bin/tomcat-juli.jar
Tomcat started.

3. 防火墙打开8080端口

1
$ sudo ufw allow 8080

然后就可以远程访问服务器的8080端口来访问 Tomcat 的管理页面了。 Tomcat安装成功