基于阿里云服务器搭建JavaWeb开发环境

ubuntu下安装配置jdk tomcat mysql

Posted by Simon on April 20, 2018

针对非运维开发者来说,也需要掌握对环境搭建、配置、日常维护的基本技能。本文将记录基于阿里云服务器ECS进行JavaWeb开发环境的搭建流程及注意事项。

软件版本

System: Ubuntu 14.04
MySQL Community Server: 5.7.20
Apache Tomcat: 8.5.23
JDK: 1.8.0_191

JDK安装

① 解压

mkdir /usr/lib/jvm 
cd /usr/lib/jvm 
sudo tar -zxvf jdk-8u191-linux-x64.tar.gz -C ./  

② 配置环境变量

sudo vim /etc/profile  

在profile文件后面加上以下配置信息

# jdk
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

③ 刷新配置文件

source /etc/profile

④ 验证

java -version
output:  
       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)  

Tomcat安装

① 解压

mkdir /usr/tomcat
sudo chmod 755 /usr/tomcat
cd /usr/tomcat
sudo tar -zxvf apache-tomcat-8.5.23.tar.gz -C ./

② 配置环境变量

vim /usr/tomcat/apache-tomcat-8.5.23/bin/startup.sh

在startup.sh文件后面加上以下配置信息

#为tomcat设置java环境
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#设置tomcat环境变量
export TOMCAT_HOME=/usr/tomcat/apache-tomcat-8.5.23

exec "$PRGDIR"/"$EXECUTABLE" start "$@"
vim /usr/tomcat/apache-tomcat-8.5.23/bin/shutdown.sh

在shutdown.sh文件后面加上以下配置信息

#为tomcat设置java环境
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#设置tomcat环境变量
export TOMCAT_HOME=/usr/tomcat/apache-tomcat-8.5.23

exec "$PRGDIR"/"$EXECUTABLE" stop "$@"

③ 验证
启动tomcat

cd /usr/tomcat/apache-tomcat-8.5.23/bin
./startup.sh
output:
       Using CATALINA_BASE:   /usr/tomcat/apache-tomcat-8.5.23
       Using CATALINA_HOME:   /usr/tomcat/apache-tomcat-8.5.23
       Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.23/temp
       Using JRE_HOME:        /usr/lib/jvm/jdk1.8.0_191/jre
       Using CLASSPATH:       /usr/tomcat/apache-tomcat-8.5.23/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.23/bin/tomcat-juli.jar
       Tomcat started.

启动tomcat后,通过外网访问ECS公网IP http://120.78.93.11:8080/ 这时访问失败,需要到阿里云配置安全规则
④ 添加安全组规则
8080安全组规则截图 配置完成后,若还不能访问则重启ECS实例后再试!
重启后若还是不能访问,则需要确认防火墙是否打开以及8080端口是否被允许。
⑤ 设置防火墙允许8080端口

sudo ufw enable
sudo ufw allow 8080

MySQL安装

① 解压

mkdir /usr/mysql-server
cd /usr/mysql-server
sudo chmod 755 mysql-server_5.7.20-1ubuntu14.04_amd64.deb-bundle.tar
tar -xvf mysql-server_5.7.20-1ubuntu14.04_amd64.deb-bundle.tar

② 按顺序安装解压后的包

dpkg -i mysql-common_5.7.20-1ubuntu14.04_amd64.deb 
mysql-community-client_5.7.20-1ubuntu14.04_amd64.deb 
libmysqlclient20_5.7.20-1ubuntu14.04_amd64.deb 
libmysqlclient-dev_5.7.20-1ubuntu14.04_amd64.deb 
libmysqld-dev_5.7.20-1ubuntu14.04_amd64.deb 
mysql-client_5.7.20-1ubuntu14.04_amd64.deb 
mysql-community-server_5.7.20-1ubuntu14.04_amd64.deb

出现以下报错,mysql-community-server depends on libmecab2

sudo: unable to resolve host iZwz91z952szxgfb8ax6otZ
Selecting previously unselected package mysql-community-server.
(Reading database ... 99642 files and directories currently installed.)
Preparing to unpack mysql-community-server_5.7.20-1ubuntu14.04_amd64.deb ...
Unpacking mysql-community-server (5.7.20-1ubuntu14.04) ...
dpkg: dependency problems prevent configuration of mysql-community-server:
mysql-community-server depends on mysql-client (= 5.7.20-1ubuntu14.04); however:
  Package mysql-client is not installed.
mysql-community-server depends on libmecab2 (>= 0.996-1.1); however:
  Package libmecab2 is not installed.

按提示安装需要的依赖即可:

apt-get update
apt-get install libmecab2

③ 验证
启动mysql

/etc/init.d/mysql start
output:
       *MySQL Community Server 5.7.20 is started

关闭mysql

/etc/init.d/mysql stop
output:
       *MySQL Community Server 5.7.20 is stopped

进入mysql命令行

mysql -u root -p

输入密码登录后,就可以通过命令行开始数据库操作了

解决程序、工具远程连接MySQL问题

① 允许用户从其他地址访问mysql服务

vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改为:
       [mysqld]
       pid-file        = /var/run/mysqld/mysqld.pid
       socket          = /var/run/mysqld/mysqld.sock
       datadir         = /var/lib/mysql
       log-error       = /var/log/mysql/error.log
       # By default we only accept connections from localhost
       bind-address    = 0.0.0.0
       # Disabling symbolic-links is recommended to prevent assorted security risks
       symbolic-links=0

② 设置MySQL远程访问权限

sudo mysql -u root -p
mysql> grant all PRIVILEGES on *.* to root@'%' identified by '123456';
mysql> use information_schema
mysql> select * from user_privileges;

查询到的结果有:’root’@’%’,说明mysql已经授权远程连接。
mysql权限 ③ 开启防火墙3306端口

sudo ufw enable
sudo ufw allow 3306

④ 添加安全组规则
8080安全组规则截图 配置完成后,若还不能远程连接MySQL则重启ECS实例后再试即可!

JDK
Tomcat
MySQL Community Server
注: 下载后可用WinSCP远程传输到ECS