写在前面:
这里我们部署的JavaWeb项目选择的阿里云的服务器,目前市场还有腾讯云等服务器,用户可以自行选择适合自己的服务器使用,这篇教程是基于阿里云服务器的部署教程。
使用的系统及软件版本:centos 7.2 、 java1.8 、tomcat8,5 、mysql5.7
一、获取阿里云服务器
首先注册阿里云账号,这里我们是新用户,阿里云新用户实名认证后可以免费领取云服务器ESC免费试用一个月资格,
如果不是新用户,可以选择适合自己的套餐购买。
阿里云注册及认证网址:https://www.aliyun.com。这里我们选择的服务器系统是centOS 7.2。
完成以上步骤后登录ESC管理控制台,在控制台可以远程控制到系统(注意:这里默认使用的用户是root,这里如果忘记或未设置密码,可以进入ESC控制台--实例列表--重置密码,完成后重启服务器)。
二、下载远程控制工具及文件传输工具
虽然在网页上可以远程控制系统,但由于其不方便,我们使用Xshell客户端程序远程控制,使用Xftp传输文件
Xshell官网下载地址https://www.netsarang.com/zh/all-downloads/
Xftp官网下载地址:https://www.netsarang.com/zh/xftp/
下载完成后安装。
2.1 运行Xshell
2.2新建会话,填入主机IP公网地址(如下图所示)
2.3 后面填入默认的用户名root和密码及完成连接
2.4运行Xftp,同样创建新的会话(具体过程和上面类似),完成连接
三、安装JDK及Tomcat
3.1 在我们的本机上下载完成jdk1.8及Tomcat8
jdk1.8官方下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意选择.tar.gz的后缀名的文件
Tomcat官方下载链接:https://tomcat.apache.org/download-80.cgi
选择左侧Tomcat8,后缀名为.tar.gz的文件
3.2 将文件上传到服务器
在/usr目录下创建java目录和tomcat目录
cd /usr
mkdir java
mkdir tomcat
3.3用Xftp将jdk上传到java目录下,将Tomcat上传到tomcat目录下。
3.4解压jdk(注意以下jdk的名字可以不同,可以用ls查看自己的jdk,这里使用Tab补全)
tar -zvxf jdk-8u201-linux-x64.tar.gz
3.5配置java环境变量
vim /etc/profile
将以下内容插入到/etc/profile中(注意:JDK的路径和版本号要根据自己的版本而定)
#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=/usr/java/jdk1.8.0_201/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
使配置文件生效
source /etc/profile
检查java环境变零是否配置完成:
java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
$JAVA_HOME/bin/java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
3.6 安装Tomcat
解压Tomcat
cd /usr/tomcat
tar -zvxf apache-tomcat-8.5.38.tar.gz
进入解压文件的bin文件夹
修改setclasspath.sh文件,将以下内容插入到该文件中
#set java env
export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=/usr/java/jdk1.8.0_201/jre
启动tomato服务器(在Tomcat安装的bin文件夹下):
./startup.sh
3.7 外网访问
现在可以在外网通过 http://公网IP地址:8080 来访问自己的阿里云服务器
如显示以下页面,则为配置成功:
这里如果不能显示该页面,可能有以下情况,
1)、我们需要在阿里云安全组规则中将8080端口添加上去:
具体添加方式可以查看该链接:https://jingyan.baidu.com/article/fea4511a2e387cf7bb912532.html
2)、查看tomcat安装目录下的log日志文件夹,看里面是否有报错日志,可能是在配置环境变量时路径没有写正确,在该日志文件中都会有列出。
至此,java和Tomcat已经安装并配置完成
四、安装MySQL数据库
4.1 在/usr下创建msyql文件
cd /usr
mkdir mysql
cd mysql
4.2 下载RPM安装源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
4.3 安装MySQL源文件
yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
4.4 查看MySQL源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
以下则为安装成功:
4.5 安装MySQL服务
yum install -y mysql-community-server
4.6 查看MySQL服务是否安装成功
systemctl status mysqld
4.7 启动MySQL
systemctl start mysqld
4.8 获取root密码(由于Mysql安全策略升级,安装完成后系统自动设置了一个随机密码,这里我们要先获取到这个密码,由于该随机密码较复杂,在获取到该密码登陆后,我们在修改root密码)
grep 'temporary password' /var/log/mysqld.log
4.9 登陆MySQL
mysql -u root -p
4.10 修改密码
由于Mysql默认要求设置密码复杂度高(必须包含 大小写字母、数字、符号)
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> alter user 'root'@'localhost' identified by 'Root@2018';
Query OK, 0 rows affected (0.00 sec)
4.11 关闭MySQL密码校验规则,使其可以设置较简单的密码
退出mysql ,编辑etc/my.cnf数据库Mysql配置文件,在Mysql配置文件最后加入:validate_password = off
vim /etc/my.cnf
4.12 重启MySQL,使配置生效
systemctl restart mysqld
4.13 重新登陆MySQL,设置较简单的密码
alter user 'root'@'localhost' identified by '111111';
4.14 配置远程用户登陆
grant all privileges on *.* to 'root'@'%' identified by '111111' with grant option;
4.15 设置开机自动启动MySQL(这里要先退出MySQL)
systemctl enable mysqld
systemctl daemon-reload
4.16 在阿里云的安全组里面打开MySQL的3306端口(具体教程与上面打开8080端口相似)
4.17 修改MySQL默认字符集编码
查看mysql当前字符集编码:
Mysql> show variables like '%character%';
修改前:
4.18 在/etc/my.cnf 文件下的 [mysqld]下添加如下内容
character_set_server=utf8
init_connect=’SET NAMES utf8’
4.19 重启MySQL使配置生效
systemctl restart mysqld
4.20 查看修改后的结果:
show variables like '%character%';
4.21 补充:mysql相关配置文件位置
配置文件: /etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
至此,mysql已经安装并配置完成,用户可以向MySQL中写入数据
五、上传war包文件
我需要将本地的Java Web工程打包成war,以及将数据库导出至sql文件一并上传到服务器上。
将项目的war包放到tomcat的webapps目录下,tomcat运行后会自动将其解压,然后就可以使用路径来访问了。
http://ip地址:8080/war包
至此,已经完成在阿里云上部署个人JavaWeb项目的全部过程。