阿里云服务器入门教程 (图文教程)

欢迎关注博主公众号「小哈学Java」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www.exception.site/essay/aliyun-server-tutorial

作为一名后端Java程序员,小哈是极力推荐大家拥有一台属于自己的云服务器的,什么?有些童鞋肯定说:我用虚拟机玩得很转,花那冤枉钱干啥玩意!

为什么要用云服务器

使用云服务器好处大致如下:

  1. 更好的了解项目是如何在线上环境是如何运行的?(可以说,国内大部分中小企业的服务都跑在云上,有钱的公司,自建机房的,当小哈没说~);
  2. 部署相关测试环境非常方便,比如 Redis, Mysql, MongDB, Elasticsearch 这些,Linux 环境上部署肯定比 Windows 方便;
  3. 如果部署在本机上,会比较吃硬件资源,电脑配置差点的童鞋,可能感觉卡顿严重,影响开发效率!
  4. 逼格高,比如你去面试的时候,提及自己有一个部署在公网服务器的博客,会对你印象分更高,相对没有玩过云服务器的,你更容易拿到 Offer ~

目前阿里云双十一活动正在火热🔥进行中,扫描下面的二维码,通过小哈的开团链接购买阿里云服务器,一年最低只需 86 元!一个月最低仅需 7 元哟 !顺带说一句,小哈的独立博客就是部署在阿里云服务器上,还是挺稳定的~🔥

购买过程中的注意事项

因为小哈几年前就买过了,为了方便演示,我这里购买了一台按量服务的服务器。配置大致过程差不多,主要注意事项如下:

系统镜像选择

这里,公共镜像选择第一个 CentOS, 因为其更加稳定,而且大部分企业线上环境都是使用的 CentOS, 版本选择最新 7.x 64 位。

区域选择

区域上,我们尽量选择里客户近的机房区域,比如说你想在服务器上部署一个博客,当然是希望别人访问博客的时候,网络延迟越低越好~

远程登录方式

小哈个人更喜欢使用用户名、密码来登录,当然你也可以使用私钥来登录,看个人喜好。

访问创建的实例

相关设置完成后,在阿里云控制台,点击实例,就可以看见我们的实例服务器了:

列表中有显示新申请的这台实例的公网地址,复制完成后,接下来,开始访问这台远程服务器。

远程访问的客户端,你可以选择 Xshell, 或者其他客户端均可以,小哈使用的 Mac 系统,这里使用的 Terminus, 步骤基本如下:

  1. 填写公网访问地址、端口号;

  2. 输入前面自己设置的用户名、密码,点击登录;

可以看到,小哈已经这边已经登录成功了。

部署相关环境

新服务器登录上去基本是非常干净的,比如 Java 环境、Mysql 等,什么都没有,所以要一一安装。

安装 JDK 1.8

访问 JDK 1.8 的官网下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载安装包:

没办法下载的小伙伴,可以公众号: 小哈学Java 后台,回复关键词:jdk, 即可获取小哈下载好的 JDK.

下载成功后,上传到服务器的指定目录下 /home(目录可以自己选择),解压:

tar -zxvf jdk-8u211-linux-x64.tar.gz

配置环境变量,编辑 /etc/profile

vim /etc/profile

移动到文本最后一行,添加如下配置:

export JAVA_HOME=/home/jdk1.8.0_211
export JRE_HOME=/home/jdk1.8.0_211/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

保存退出!

重新加载系统配置文件:

source /etc/profile

再次执行命令 java -version, 查看 JDK 环境是否配置成功。

输出了 JDK 版本信息,安装成功。

安装 MySQL

我们选择安装 MySQL 5.7 版本,执行如下命令:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

权限设置:

chown mysql:mysql -R /var/lib/mysql

启动 MySQL:

systemctl start mysqld

查看 MySQL 运行状态:

systemctl status mysqld

关于 MySQL 登录密码:

正常来说在启动日志里会生成一个随机密码,以供登录,小哈这里安装的时候并没有生成,具体原因还不太清楚。这边可以先取消默认密码:

# 编辑mysql配置文件
vim /etc/my.cnf;
# 在 [mysqld] 小节下添加一行:
skip-grant-tables=1
# 重启mysql
systemctl restart mysqld;

登录:

mysql -u root

执行命令:

# 修改 root 账户密码为 123456
update mysql.user set authentication_string=password('123456') where user='root';
# 刷新
flush privileges;
# 退出 mysql
quit;

退出 MySQL 后,再将 /etc/my.cnf 文件中的 skip-grant-tables=1 删除掉,重启 MySQL 即可;

设置 Mysql 3306 端口安全组

由于阿里云服务器安全限制,此时想访问远程数据库,还需将 3306 端口加入到安全组中:

依次点击 更多 -> 网络和安全组 -> 安全组配置,将 3306 端口配置到安全组中,同时授权固定 IP 来访问,也就是白名单:

测试本机是否能够连接远程的 MySQL

小哈这里使用 Mac 的客户端 Sequel Pro 来测试,小伙伴们使用 Navicat 也是 OK 的:

连接远程 MySQL 的解决办法

有的小伙伴们按照上述步骤,可能最后发现自己安全组端口也加白名单了,还是连不上的情况。那是因为设置 MySQL 的时候,root 账号不允许从远程登录导致的。

解决办法:

# 登录 mysql
mysql -u root -p
# 授权 root 账户能从任何主机远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
# 刷新
flush privileges;
# 退出 mysql
quit;

设置成功后,再次连接,就没问题了。

部署一个 Spring Boot 项目

小哈的个人独立博客就是使用 Spring Boot 来开发的,部署在阿里云服务器上,又买了一个域名做了映射。关于域名这块,我们先不谈,先尝试部署一个简单的 Spring Boot 项目,且通过公网 IP 来访问它。

关于如何初始化一个入门级的 Spring Boot 项目,小伙伴们可以参考小哈之前写的这篇文章:

《Spring Boot 2.x 入门教程》

定义一个简单的访问接口:

/**
 * @author 犬小哈(公众号: 小哈学Java)
 * @date 2019/1/29
 * @time 13:58
 * @discription
 **/
@RestController
@Slf4j
public class TestController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot with Aliyun !";
    }
}

项目打包:

mvn clean package

进入 target 目录,将 jar 包上传到服务器指定目录:

并以后台启动方式运行项目:

nohup java -jar spring-boot-hello-0.0.1-SNAPSHOT.jar &

启动成功后,我们尝试通过公网来访问这个服务,注意,因为项目启动在 8080 端口,还需将 8080 端口也加入安全组才行。

在浏览器中,访问这个服务:

至此,一个入门级的 Spring Boot 项目在云服务器上就部署完成了!当然,能做的远不至于此,比如部署一个博客项目,小伙伴们可以去尝试一下~

最后

本教程中,小哈带着大家从购买云服务器的事项说起,并一步一步带着大家演示了,怎样安装 JDK 环境、MySQL 数据库,以及部署一个入门级的 Spring Boot 项目,有兴趣的小伙伴可以入手买一台玩一玩~


目前阿里云双十一活动正在火热🔥进行中,扫描下面的二维码,通过小哈的开团链接购买阿里云服务器,一年最低只需 86 元!一个月最低仅需 7 元哟 !顺带说一句,小哈的独立博客就是部署在阿里云服务器上,还是挺稳定的~🔥