搭建阿里云服务器
0. 费用
第一步先交代一下大家比较关心的东东, 以下是所有费用:
- 阿里云服务器: 三年 229 元
- 域名: 三年: 150 元
1. 购买阿里云服务器
一般来说, 新用户都会有优惠, 我就是在活动最后一小时买了 3 年的阿里云服务器的提货券, 便宜不少钱. 这一步没啥说的, 掏钱就行了.
购买成功后会收到提货券到账的消息, 点击消息连接就来到引导开通的页面, 填写基本信息就可以了.
创建实例, 按照引导选择服务器地址就可以了:
2. 在阿里云万网购买域名
新注册的域名需要进行实名认证. 点击实名认证的链接进行认证即可.
3. 域名备案
域名备案需要在域名实名认证完成后的2-3个工作日后进行. 并且备案需要半个月左右的时间, 如果选择阿里云并在阿里云 App 上备案似乎会快点, 我只用了不到 10 天.
- 腾讯云:https://console.cloud.tencent.com/beian
- 阿里云:https://beian.aliyun.com/order/index
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
- Linux 使用 SSH 终端连接.
ssh root@101.133.167.196
第一次会提示添加实例, 输入 yes
即可. 然后输入密码.
- Windows 上通过 RDP 登录[需要安装图形界面等插件].
RDP 默认端口 3389, 默认开放.
- Windows 上建议使用 [Xshell](https://www.netsarang.com/zh/xshell/) 登录.
5.3 为云服务器安装必要插件
apt repository 默认只有本地库, 所以首先刷新repository.
sudo apt-get update
5.3.1 lrzsz
lrzsz 用于在 XShell 等工具在 Windows 和 Linux 之间进行文件上传.
sudo apt-get install lrzsz
- 错误1: E: Unable to locate package lrzsz
出现这个问题的原因之一是apt的源缺失,运行以下命令即可:
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
这个是缺少程序,安装一下就可以了
sudo apt install software-properties-common
sudo apt-get update
5.3.2 Git
5.3.2.1 安装 Git
sudo apt-get install git
5.3.2.2 连接 GitHub, checkout 代码
- 默认情况下, 是没有权限访问 GitHub 的
root@JavaFamily:~/workspace/angboot# git clone git@github.com:DreamLi1314/angboot.git
Cloning into 'angboot'...
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
- 在 Linux Terminal 上借助
ssh-keygen
命令生成 SSH key
ssh-keygen -t rsa -C "18829346477@163.com"
密码不是必须的, 如果为了安全可以设置密码.
过程中会提示指定存放key的文件, 默认在 /root/.ssh/id_rsa
文件中, 打开拷贝, 添加到 GitHub 的 SSH keys
中.
然后再执行 git clone 命令 checkout code.
5.4 JDK
5.4.1 安装 JDK
JDK 一般可以本地下载好, 然后上传到服务器上. 因为如果是
wget
下载的话, 有个License需要同意,wget命令下载的会默认为不同意,所以下载后解压的时候会提示解压不了.
- 下载 JDK 的 tar 包到本地.
- 在云服务器上创建存放 tar 包的目录.
root@JavaFamily:~# mkdir /usr/local/java
root@JavaFamily:~# cd /usr/local/java/
- 在 Mac/Linux 下通过
scp
命令上传至云服务器.
scp ~/Downloads/jdk-8u231-linux-x64.tar.gz root@101.133.167.196:/usr/local/java
- 在云服务器上解压 jdk 的 tar 包.
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
文件后追加环境变量
# env variable
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export PATH=${JAVA_HOME}/bin:$PATH
- 使其生效
source /etc/profile
5.5 运行项目
默认情况下在终端运行项目后当终端连接断开后项目就停止运行了, 所以可以借助nohup
命令来进行无挂断运行.
nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。nohup 是 no hang up 的缩写,就是不挂断的意思。nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。
nohup COMMAND &
停止 nohub 运行的 Java 进程
killall -9 java
5.6 开放端口
当项目运行起来后, 默认情况下云服务器是没有开放项目占用地址的, 所以需要在安全组设置中添加.
6 文章发布
JavaFamily 文章发布已同步 CSDN, 简书, 知乎 等博客站点, 博客以 CSDN 为主, 其他站点评论等不予回复(实在没精力每个站点每天都看).
7 日常求赞
各位大佬, 动动 your 手指头, click click 赞, 转发转发, 打赏打赏咯.....别一天刚知道白漂哈....哈哈...
日常求赞: 欢迎大家点赞, 评论, 关注, 转发. 要是能给点赞赏就更好了, 哈哈哈.... https:// blog.csdn.net/DreamLi13 14