# 搭建阿里云服务器
[TOC]
## 0. 费用
> 第一步先交代一下大家比较关心的东东, 以下是所有费用:
* 阿里云服务器: 三年 229 元

* 域名: 三年: 150 元

## 1. 购买[阿里云服务器](https://www.aliyun.com/)
> 一般来说, 新用户都会有优惠, 我就是在活动最后一小时买了 3 年的阿里云服务器的提货券, 便宜不少钱. 这一步没啥说的, 掏钱就行了.

> 购买成功后会收到提货券到账的消息, 点击消息连接就来到引导开通的页面, 填写基本信息就可以了.



## 2. 在[阿里云购买域名](https://wanwang.aliyun.com/?spm=5176.12825654.eofdhaal5.9.4bbe2c4arFUMlm&aly_as=QA16Gysn)

> 新注册的域名需要进行实名认证. 点击实名认证的链接进行认证即可.


## 3. 域名备案
> 域名备案需要在域名实名认证完成后的2-3个工作日后进行. 并且备案需要半个月左右的时间, 如果选择阿里云并在阿里云 App 上备案似乎会快点, 我只用了不到 10 天.
* 阿里云:[https://beian.aliyun.com/order/index](https://beian.aliyun.com/order/index)
* 腾讯云:[https://console.cloud.tencent.com/beian](https://console.cloud.tencent.com/beian)

### 3.1 网站上备案.
> 据说 App 上能快些, 所以我就在 App 上备案了.

### 3.2 在阿里云 App 上进行备案.
* 打开网站备案控制台
* 新增网站
* 填写主体信息, 上传身份证照片, 人像采集(注意背景需要是白色, 不然一般一直不会成功.)


* 填写网站信息
> 填写网站信息需要注意网站名称需要一下规则:
* 个人站点不能包含域名: 如: 我的域名为 `javafamilly.club`, 名称就不能包含 `JavaFamily`.
* 个人站点名称不能包含`官网`, `个人信息`等敏感词.
* 上传材料
> 材料上传需要上传域名证书, 根据指导从官网下载下来就好了.



* 阿里云初审
> 这一步没啥, 等电话就完了. 如果网站信息有违规, 会电话通知更改, 改后再重现审.
* 阿里云提交管局
* 工信部手机号验证
> 到这一步会收到工信部短信, 点击短信中的连接认证一下就好了.

点击连接, 填入验证码就好了.


* 管局审核
> 审核通过会发送短信, 通过后由于延迟, 可能域名还不能立即访问, 但是 3 的工作日肯定就可以了, 我是过了大概两个小时才访问到.

**注意: 阿里云初审结束到管局审核通过这段时间域名不能解析, 不能访问. 我是在实名认证后还没开始备案就把域名解析了(实名认证后两三天后才能开始备案), 然后网站项目也部署了, 所以管局审核通过就立刻可以域名访问网站了**
## 4. 域名解析
> 云解析DNS就是指把网站域名或应用资源转换为数字 IP 地址,从而将最终用户的访问路由到相应的网站或应用资源上。



> 主机记录,就是一些前缀,可以直接理解为“二级域名”,而记录值就简单了,直接就是你需要解析到的云服务器IP地址。
* www: 可以通过 www.域名访问
* @: 可以通过域名直接访问
## 5. 云服务器环境搭建
> 备案需要半个月左右的时间, 这段时间可以先搭建云服务器的环境, 比如安装 JDK.
### 5.1 设置密码
首先需要重置云服务器的 root 密码.

**第一次设置了密码后需要重启云服务器, 不然连接不上.**

### 5.2 登录云服务器
> 默认安全组规则及开放的端口号:

* 使用 SSH [WorkBench](https://ecs-workbench.aliyun.com/)

* Linux 使用 SSH 终端连接.
``` shell
ssh root@101.133.167.196
```
第一次会提示添加实例, 输入 `yes` 即可. 然后输入密码.
* Windows 上通过 RDP 登录[需要安装图形界面等插件].
> RDP 默认端口 3389, 默认开放.
* Windows 上建议使用 [Xshell](
https://www.netsarang.com/zh/xshell/) 登录.

### 5.3 为云服务器安装必要插件
> apt repository 默认只有本地库, 所以首先刷新repository.
``` shell
sudo apt-get update
```
#### 5.3.1 lrzsz
> lrzsz 用于在 XShell 等工具在 Windows 和 Linux 之间进行文件上传.
``` shell
sudo apt-get install lrzsz
```
* 错误1: E: Unable to locate package lrzsz
出现这个问题的原因之一是apt的源缺失,运行以下命令即可:
``` shell
sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
sudo apt-get update
```
* 错误2: sudo: add-apt-repository: command not found
> 在Ubuntu下,时不时会有这个错误的。 add-apt-repository: command not found
这个是缺少程序,安装一下就可以了
``` shell
sudo apt install software-properties-common
sudo apt-get update
```
#### 5.3.2 Git
##### 5.3.2.1 安装 Git
``` shell
sudo apt-get install git
```
##### 5.3.2.2 连接 GitHub, checkout 代码
[See Another Article](https://app.yinxiang.com/shard/s13/nl/18499762/08433a41-85a9-44b9-8165-3a198e19a273)
### 5.4 JDK
#### 5.4.1 安装 JDK
> JDK 一般可以本地下载好, 然后上传到服务器上. 因为如果是 `wget` 下载的话, 有个License需要同意,wget命令下载的会默认为不同意,所以下载后解压的时候会提示解压不了.
* 下载 JDK 的 tar 包到本地.
* 在云服务器上创建存放 tar 包的目录.
``` shell
root@JavaFamily:~# mkdir /usr/local/java
root@JavaFamily:~# cd /usr/local/java/
```
* 在 Mac/Linux 下通过 `scp` 命令上传至云服务器.
``` shell
scp ~/Downloads/jdk-8u231-linux-x64.tar.gz root@101.133.167.196:/usr/local/java
```

* 在云服务器上解压 jdk 的 tar 包.
``` shell
root@JavaFamily:/usr/local/java# ls
jdk-8u231-linux-x64.tar.gz
root@JavaFamily:/usr/local/java# tar -zxf jdk-8u231-linux-x64.tar.gz
root@JavaFamily:/usr/local/java# ls
jdk-8u231-linux-x64.tar.gz jdk1.8.0_231
root@JavaFamily:/usr/local/java# cd jdk1.8.0_231/
root@JavaFamily:/usr/local/java/jdk1.8.0_231# pwd
/usr/local/java/jdk1.8.0_231
```
#### 5.4.2 配置环境变量
* 在 `/etc/profile` 文件后追加环境变量
```shell
# env variable
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export PATH=${JAVA_HOME}/bin:$PATH
```
* 使其生效
``` shell
source /etc/profile
```
### 5.5 运行项目
> 默认情况下在终端运行项目后当终端连接断开后项目就停止运行了, 所以可以借助 `nohup` 命令来进行无挂断运行.
[See Another Article](https://app.yinxiang.com/shard/s13/nl/18499762/08433a41-85a9-44b9-8165-3a198e19a273)
### 5.6 开放端口
> 当项目运行起来后, 默认情况下云服务器是没有开放项目占用地址的, 所以需要在安全组设置中添加.


> 日常求赞: 欢迎大家点赞, 评论, 关注, 转发. 要是能给点赞赏就更好了, 哈哈哈.... [https://blog.csdn.net/DreamLi1314](https://blog.csdn.net/DreamLi1314)
相关文章:
- 手把手教你搭建个人博客网站 2021-10-30
- 手把手教你在阿里云搭建svn服务器 2021-04-11
- 手把手教你配置阿里云服务器搭建网站平台 2021-10-14
- 手把手教你创建个人网站 2021-07-20
- 手把手教你搭建个人音乐播放网站 2021-12-12
- 手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter 2021-12-22