记录一次阿里云服务器搭建及部署springboot项目经历

    在公司实习,有个需求需要需要我发布到服务器上,但是公司的服务器前人已经搭建好了而且员工只有个ftp虚拟用户的权限,刚好自己也准备做个网站出来,因此就在阿里云服务器上搭建了个服务器并且部署了项目。

1、购买服务器

    这一步其实很简单了,我实在阿里云上购买的ECS云服务器,由于是学生用户,每个月只用9.9元,还是很优惠的,购买完成之后,启动服务器,设置密码啊等等杂七杂八的,也没什么技术含量,自己看着选择就行了,最重要的是启动服务器并且查看我们的服务器ip地址,因为所有的操作都需要登录到这个ip的服务器上进行,如下所示:

记录一次阿里云服务器搭建及部署springboot项目经历

其实还有一个操作需要在阿里云服务器的官网上进行,就是安全组的配置,什么叫安全组呢?我的理解其实就是你允许哪些端口能够连接上你的服务器,首先点击云服务器ECS下的安全组进入

记录一次阿里云服务器搭建及部署springboot项目经历

然后在这里点击配置规则,进入管理安全组页面,如下我的安全组已经配置好了

记录一次阿里云服务器搭建及部署springboot项目经历

因为我选择的web开发模板,因此自带了三个端口,一个22,就是接下来的我们连接使用的,一个3389,还有一个ICMP,ICMP我没记错的话ping服务就是基于这个协议,但是这里是不是这个意思我也不是很清楚,然后自定义三个端口,21端口和30000/31000都是服务于ftp的,不同的是21是用来监听请求,而30000/31000是服务于传输数据的,至于最后的8080,那么当然就是我们提供给用户的接口,具体的配置很简单:

记录一次阿里云服务器搭建及部署springboot项目经历

只需要修改端口范围和授权对象即可,授权对象0.0.0.0/0的话就是所有用户都可以访问

2、服务器内部

    这些做好之后接下来就要进入到我们服务器内部去配置了,首先下载一个portable软件,这种软件很多了,什么xshell,kitty,portable等等,随便下载一个连接上我们的服务器,这个步骤很简单而且不可能出现bug因此就不在赘述了,重点在于接下来FTP的安装,这一步很容易犯错,我大概理解了一下思路,就是什么呢?ftp的目的其实就是为了方便我们和服务器传输文件创造的,但是我们把传输者这个对象单独的抽离了出来那么就可以和服务器使用者分离,也就是我们给服务器创建一个虚拟用户ftp,然后给他绑定在一个特定的文件夹中,然后设置他只有在这个文件夹中有一点多个操作权限,从而避免了他对我们系统造成破坏,那么当有大项目时可以让很多人登陆这个ftp账户而并不会出错。那么首先使用yum install vsftpd -y命令安装vsftpd,然后启动它,这个的操作也很简单,而且不会出错,就也不说了,然后创建ftp用户使用命令useradd -d 目录 -g ftp -s /sbin/nologin ftp用户,那么就把这个用户设置为ftp分组,不能登陆的虚拟用户,并且将他绑定到了这个目录上,然后给目录和用户赋予权限,分别使用chown -R 用户 目录和chmod -R 777 目录命令,这里有个问题是网上教程chmod赋予的775权限然而我赋予了777权限才能完成上传,这个权限问题下回在细究,然后给ftp用户创建一个密码便于后面ftp客户端登录使用。然后使用vi /etc/vsftpd/chroot_list命令打开这个文件在第一行配置你的用户名字,在使用vi /etc/vsftpd/vsftpd.conf命令进入,修改anonymous_enable=YES为NO,修改

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

将1,3,行注释取消,其实就是对用户权限进行控制,第三行就是配置文件的地址,但是我们前面已经修改添加了用户了,然后再添加写权限,在最后一行加上:allow_writeable_chroot=YES

最后添加端口:

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

其实这就是前面服务器网站上配置的端口范围,然后下载ftp客户端,登陆,尝试上传下载,这些都可以略过了,ftp之后就是jdk安装,mysql安装,redis安装,tomcat安装等等,这些都是按着教程来就行,都不会出错

3、项目发布

    由于我的是一个springboot小应用,众所周知springboot文件部署可以分为jar和war两种方式,而部署到服务器上得打包成war的格式,这个打包流程网上教程很多,不再赘述,值得注意的是,如果在eclipse中使用maven build打包,那么在goals中执行命令package即可,因为系统会默认前面加上mvn,项目打包在target目录下,打包完成之后将该文件上传到服务器的tomcat的webapps目录下即可,就能直接访问ip:8080/项目名

 

 

这就是今天的一次服务器搭建和项目部署经历,希望对大家能起一点小帮助,可能其中的理解或者经验中有一些偏差,望大家不吝赐教。