前言

从大二开始我就一直想着能做个自己的网站,今年年初搭建的这个博客只是静态的页面,不能和后端进行数据交互,所以还是不太满足。正巧最近阿里云对大学生的优惠活动云翼计划开始了,我直接上去免费领了台ECS服务器来搭建我的毕业设计后端。这篇博客就来讲解整个阿里云服务器配置的过程和后端spring boot项目的部署

准备工作

  1. 首先要有远程连接服务器的工具Xshell和远程文件传输工具Xftp,这两个在谷歌都有免费社区版下载
  2. 阿里云买一台服务器(或云翼计划直接免费领)
  3. 云服务器管理控制台里找到自己刚刚购买的服务器实例,重置并设置密码
  4. 找到安全组的选项,点击配置规则,在入方向中手动添加规则来开放外部应用可访问的端口
  5. 填写规则时协议和类型默认自定义TCP,授权对象默认0.0.0.0/0,主要要填的是端口范围,填写规则为起始端口号/结束端口号,比如要开放MySQL默认的访问端口3306则直接填3306/3306。这只是开放端口的第一步,后面还要在服务器防火墙里开启端口访问

配置服务器

通常我们购买服务器都会选择linux操作系统,因为相比于常用的Windows,其轻量简洁且内存占用小,权限明确,对于开发者极其友好。使用Xshell连接上服务器后展示的是控制台,因为没有图形化界面,所以在服务器中所有的操作都要通过linux控制台来实现,因此linux的基本操作比如cdllpwdvim等都要了解一下,当然不熟悉也可以实时通过搜索引擎现学现卖。

git的安装

对于开发者来说,git几乎是必不可少的工具,所以一定要装上。在服务器上直接使用命令

yum install git

安装完毕可以使用命令

git --version

来检查是否安装成功,卸载也可以直接使用

yum remove git

SSR的安装配置

因为我是写爬虫的,所以代理是必不可少的一部分,我的代理池主要是通过SSR来获得,所以我的服务器中也要配置SSR。在网上找了很久,最终找到了@TyrantLucifer大佬开发的可供linux命令行使用的工具ssr-command-client,使用教程就在大佬的github仓库上,有兴趣的可以自己去看。这里就不细说了

jdk的安装

因为我是写java的,所以还要安装javajdk

首先查看云端支持的jdk版本

yum search java|grep jdk

选择jdk版本安装(这里安装的是openjdk1.8

yum install -y java-1.8.0-openjdk

检查是否安装成功

java -version

查看jdk的安装目录(如有需要)

find / -name 'java'

MySQL的安装配置

直接运行以下命令安装最新的版本号为8的MySQL

dnf -y install @mysql

运行以下命令查看是否安装成功

mysql -V

配置MySQL服务开机自启

systemctl enable --now mysqld

查看MySQL服务是否已启动

systemctl status mysqld

执行MySQL安全性操作并设置密码

mysql_secure_installation

命令运行后一路yes(如果需要远程使用root用户账号登录则在选no),密码验证策略(设置密码的强度)按自己需求来

创建新用户账号(MySQL8的版本使用方法)

# kbdog是用户名,%是允许外部连接访问的IP,通常使用%指代所有IP,123即是该例子所用密码
create user 'kbdog'@'%' identified by '123';
# 赋予所有权限
grant all privileges on *.* to 'kbdog'@'%'with grant option;
# 刷新权限
flush privileges;
# 具体账号信息可在mysql库中的user表中查看
select * from user;

开放MySQL的端口

# 首先进入/etc/sysconfig 查看是否有iptables文件
cd /etc/sysconfig

# 若没有iptables文件 则执行以下命令
yum install iptables-services

# vim iptables文件
# 增加开放3306端口的语句一定要在icmp-host-prohibited之前
# 若是以后想开放其他端口也是在这里添加 只需要将3306替换成其他端口号
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

# 重启防火墙
systemctl restart iptables.service

# 查看防火墙状态
service iptables status

Spring Boot项目的部署

前面的准备工作都做完之后就可以开始部署项目了

项目打包成jar包

使用IDEA可以直接将整个项目打包,在IDEA界面的Maven栏中先clean然后package打包成jar

把jar包穿上服务器

使用Xftpjar包传上服务器自定义位置

使用命令运行部署

项目访问的端口号要预先在阿里云服务器管理控制台的安全组中预先配置,配置后可直接使用运行jar包的命令运行访问

java -jar XXX.jar

这种方式只会在前台运行,如果关闭了与服务器的连接项目也会关闭,推荐使用后台运行的命令

nohup java -jar XXX.jar

这样项目就在后台运行了起来,如果想把所有输出的内容打印出来还可以使用

nohup java -jar XXX.jar > XXX.out&

这样XXX.jar项目的日志就会打印到同一目录的XXX.out文件中了

服务器中防火墙开放项目访问端口号

如果在阿里云服务器管理控制台中配置过端口号仍访问不了则可手动通过防火墙开启

# 添加端口号
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
# 重新加载
firewall-cmd --reload

查看部署情况

查看所有正在运行的java项目

ps -ef|grep java

也可通过端口号查看

lsof -i:端口号

停止项目

找到项目运行的进程号PID,直接kill

kill -9 进程号

引流

参考资料