针对非运维开发者来说,也需要掌握对环境搭建、配置、日常维护的基本技能。本文将记录基于阿里云服务器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/ 这时访问失败,需要到阿里云配置安全规则
④ 添加安全组规则
配置完成后,若还不能访问则重启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已经授权远程连接。
③ 开启防火墙3306端口
sudo ufw enable
sudo ufw allow 3306
④ 添加安全组规则
配置完成后,若还不能远程连接MySQL则重启ECS实例后再试即可!
Related Download
JDK
Tomcat
MySQL Community Server
注: 下载后可用WinSCP远程传输到ECS