前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法。之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服务器。学生可以选择学生机,价格非常优惠。本人选择的是系统镜像:CentOS 7.3 64位。
首先第一步
你需要首先注册一个阿里云账号,点击:注册阿里云账号
编辑
输入相关信息后,代表注册成功。
然后点击:个人中心,在个人中心去做一下实名。
编辑
选择企业实名或者个人实名,这里注意,如果是企业行为一定要选择企业实名,而不是个人实名
根据需要部署了以下环境:
1、配置Java环境
2、安装Tomcat及配置、war包部署
3、安装MySql及配置、运行sql文件
准备工作:
1、首先需要开通项目用到的端口,例如8080端口,下图为本人开通的端口(授权对象ip就是被允许访问端口的主机ip,也就是阿里云公网ip,可以是其它云服务ip),仅供参考。
编辑
2、网上很多教程是通过Xshell终端模拟器访问远端不同系统下的服务器,以及配合Xftp文件传输客户端来上传文件(如Java、Tomcat安装包)。这里推荐使用MobaXterm,有SSH链接功能,也有FTP功能,还可以包括VNC远程桌面连接功能。MobaXterm官网。
3、下载Linux版本的jdk,选择后缀是.tar.gz的,如下图所示。点击打开链接。
编辑
4、下载Tomcat安装包,本人下载的是Tomcat 8.5.33版本。点击打开链接。
5、打开MobaXterm,连接系统。将上述两个安装包上传至指定目录下。操作步骤如下。
a.点击Session,选中SSH协议,输入阿里云公网IP地址,点击OK。
编辑
b.打开之后初始目录是root,返回上一级再打开home目录,将安装包均上传至该目录。
编辑
c.在usr目录下创建java,再在java下创建以下两个目录。
编辑
配置Java环境
a.运行解压命令:tar -xzf /home/jdk-8u181-linux-x64.tar.gz -C /usr/java/jdk
b.配置环境变量(或者直接打开etc目录下的profile文件):vi /etc/profile
在文件末尾处添加以下内容并保存:
1 #set java environment
2 export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181
3 export JRE_HOME=/usr/java/jdk/jdk1.8.0_181/jre
4 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
5 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存命令:source /etc/profile
c.验证安装,如下所示表示成功:
编辑
2、安装Tomcat及配置、war包部署
a.运行解压命令:tar -xzf /home/apache-tomcat-8.5.33.tar.gz -C /usr/java/tomcat
b.配置环境,如下图所示,执行命令或者点击文件均可:
编辑
在文件末尾处添加以下内容并保存:
1 export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181
2 export JRE_HOME=/usr/java/jdk/jdk1.8.0_181/jre
c.在bin目录执行如图所示命令./startup.sh,验证安装:
编辑
或者浏览器输入阿里云公网IP地址加上8080端口,页面如下图所示表示成功:
编辑
d.将JavaWeb项目的war包,上传至Tomcat的webapps目录下即可,如下图所示:
编辑
这时在8080端口后加上项目名称,即可运行此项目,如下图所示(如果有对应数据库的话,下一条继续介绍如何配置数据库):
编辑
3、安装MySql及配置、运行sql文件
a.安装MySQL官方的yum repository:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
b.下载rpm包:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
c.安装MySQL服务,最后会出现个complete!:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql-community-server
d.修改MySQL配置文件(或者修改etc目录下的my.cnf文件并保存),跳过密码登录:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf
末尾处添加如下内容:
1 skip-grant-tables
e.启动MySQL服务:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl start mysqld.service
f.登录MySQL:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# mysql -u root
g.修改密码:
1 mysql> use mysql;
2 Database changed
3 mysql> update mysql.user set authentication_string=password('1234') where user='root' ;
h.退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL:
1 mysql> exit
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl restart mysqld.service
i.使用新密码登录MySql,如下图所示:
编辑
j.必须重设密码,并设置密码等级与最小长度:
1 SET PASSWORD = PASSWORD('1234');
1 mysql> set global validate_password_policy=0; //改变密码等级
1 mysql> set global validate_password_length=4; //改变密码最小长度
k.再次修改密码:
1 SET PASSWORD = PASSWORD('1234');
l.配置远程登录(root为用户名,1234为密码),以及刷新系统权限:
1 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
1 mysql> flush privileges;
m.创建数据库并运行sql文件:
1 mysql> create database corporate_genealogy;
1 mysql> use corporate_genealogy;
1 mysql> source /home/corporate_genealogy.sql;
n.使用Navicat数据库管理工具连接阿里云数据库,如下图所示:
编辑