从申请阿里云云翼计划学生服务器到部署SpringBoot项目

购买

注意,前提要进行实名认证和学生认证

云翼计划链接

产品选择

进去之后有两款产品选择

1558165729691

如何选择它们呢?

  • 轻量用户服务器
    • 流量有限,但是带宽大
    • 适用于小型网站,能显著提高访问体验
  • 云服务器ECS
    • 不限制流量,带宽小
    • 适用于略大型网站或者流量大的网站

我这里选择的是轻量应用服务器,我感觉流量应该也用不完,主要是这个带宽太良心了,某讯云只有1M可以选……

预装镜像

一种是应用镜像

  • WordPress 4.8.1

    • 一个强大的php博客系统,有丰富的后台管理和主题设置
  • LAMP 6.1.0

    • 预装了一组自由软件LinuxApachMysqlPHP,用于建PHP网站可以选择
  • 宝塔Linux面板 5.2.0

    • 强烈建议,一个可视化的网站管理面板,什么WordPressLAMP啥的也都可以用它来装
  • 但是版本不是最新,后续可以在线升级

1558242151499

  • ASP.NET

    • 不是很了解,应该是.NET网站的运行环境

1558166256044

还有一种是系统镜像

既然都买了服务器,这三个系统基本都很清楚了

但是还是推荐CentOS,基本就是为服务器而生的,也是鸟哥(Linux私房菜作者)推荐的系统

1558166650574

我这里选的是Centos镜像,因为方便自己来管理

时间选择

不用着急买很久的,先买一个月,阿里云的政策还是比较好的

只要学生身份没到期,服务器没到期,都是可以进行续费的,不像某讯云,只能续费两次,然后服务器没了就是真的没了

1558166885670

第一件事

付完款之后,服务器准备一段时间,然后点击控制台就可以进入命令行了

1558165544216

那么有了一个服务器第一件事是干什么?

升级内核?装环境?装面板?

都不是!应该先输入一个命令

1
$rm -rf /*

为了提高成功率,先切换到root账号

1
$sudo su root

这里选择的是阿里云自带的网页版的命令行(因为毕竟待会就要重装了。。。。)

下图超长时间,而且还没录完….

GIF

最后看到,除了lspwdcd等命令,别的命令基本失效了

其实执行过程中很多都提示权限不够无法删除,说明还是Centos有一些机制保护的

1558168207583

好了,然后重装系统吧

1558168444459

放行端口

看需要放行吧,起码22用来ssh得要开放

1558172104445

连接服务器

不对啊,刚刚没让我输入root密码啊,那root密码是多少?

目测应该是没有密码

可以用命令行重置密码,也可以点击服务器管理的重置密码

1558168925570

创建密钥

这是一个比较安全的方式登录服务器,即使别人获取了密码也登录不了

1558169623510

然后输入密钥名字,会自动生成并且自动下载,此时要把这个下载文件保存好,因为以后再也找不到这个密钥了

1558169682577

这里我是用Termius连接

然后把下载的目录里面的内容(也就是私钥)复制到TermiusKeyChain

1558170079812

然后点击Hosts,新建一个阿里云服务器的连接,其IP地址在服务器管理哪里看得到,填公网IP

下面选SSH,用户名为rootadmin,然后选keys,找到之前添加的key

admin是阿里云自己新建了这么一个用户,没有密码

1558170550037

进去之后还是先创建一个非root账户比较安全

1
2
3
$useradd janking
$passwd janking
$su janking

以后就可以用这个账户登陆了

顺便说一下,阿里云提供的admin账号没有密码,是不能通过ssh登录的,也要通过passwd修改密码

1558171184252

安装面板

技术太菜,还是得要管理面板Carry辅助才行

升级内核

1
2
3
4
$su
$yum update
安装
$yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成后会告诉面板地址账号密码

1558172586489

进入面板会提示安装套件,比如LNMP

img

根据之前的经验,22端口容易被攻击,所以最好还是把ssh端口改了

进入安全,更改ssh端口

1558173558885

然后要记得放行新端口以及在阿里云服务器控制台防火墙放行这个端口

之前的ssh会话也要更改端口重新连接

建立网站

点击添加站点,填写域名

域名请查看这篇文章阿里云邮件服务绑定域名

前提是域名要解析到服务器的这个IP地址

1558173981943

创建完成后,默认只有一个index页和404

1558174128561

访问效果如图

1558174156910

尝试修改index.html文件也可以实时看到不同的网页

所以,后来只要在这个文件夹里放上html文件和一些静态资源,就可以通过域名加路径访问到了!

所以这个就没什么说的,下面看下怎么把SpringBoot项目放上去

安装JAVA环境

默认是没有java的,需要安装jre或者jdk

这是java8的下载地址Centos选择rpm格式

因为Oracle现在要登录才能下载java啦,不能直接wget url下载,需要一些cookie等认证的header才行,比较麻烦,还不如下载手动上传

wget(带header参数)或者直接把文件下载下来,再用宝塔面板上传到一个目录,比如usr/java

然后执行

1
$rpm -ivh jre-8u211-linux-x64.rpm

部署SpringBoot

使用maven命令package打包生成jar

在IDEA中直接点击就可以,当然也可以用命令行输入mvn package

1558174829309

位于/target目录下会生成类似swsad-0.0.1-SNAPSHOT.jar文件名的文件

然后登录面板,把本地生成的jar压缩包上传至网站目录下

1557644311214

然后输入命令

1
2
3
4
5
6
7
8
$ touch log.txt
//linux 持续运行,输出日志到log.txt,每次运行日志会清空
$ nohup java -jar swsad-0.0.1-SNAPSHOT.jar > log.txt &
$ cat log.txt //查看运行输出

要重新启动的话需要把后台运行的进程给kill掉
$ ps -def | grep jar
$ kill 进程号

注:此处可用宝塔面板的命令行入口,也可以用Termius使用ssh连接,只是要进入正确的目录

cd /www/wwwroot/api.timoney.xyz

现在就可以通过IP地址加端口号如http://47.106.191.222:8080/访问了

首先要放行8080端口哦

绑定域名

但是如何把这个8080端口的的服务绑定域名呢,或者说把它映射到一个域名的80端口去,让它通过类似api.example.com这样的方式访问

其实很简单,修改一下网站的配置文件就好了

点击网站的设置,添加以下配置

location / {             
       proxy_pass http://localhost:8080/;              
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;              
       proxy_set_header X-Forwarded-Proto $scheme;              
       proxy_set_header X-Forwarded-Port $server_port;         
}

1558177349987

最好把绿色部分配置删掉,让网站指读取spring boot的内容

然后就可以用如api.timoney.xyz访问api

1558177514699

chrome提示不安全,因为不是https协议,只要申请个免费的ssl证书就好了,不过这样也不影响

感谢资助辣条吃!