Linux搭建服务器环境,挂载SpringBoot+VUE项目

本地环境
Ubuntu20.04
服务器环境
CentOS7.6

购买服务器

阿里云轻量服务器(适合初学者)为例,自行选择规格进行购买

购买完成后,获取服务器公网IP,同时重置密码,设置服务器密码

在这里插入图片描述
在这里插入图片描述

配置防火墙

点击实例ID,点击防火墙>添加规则

在这里插入图片描述
在这里插入图片描述

添加80、443(HTTPS)、3306(MYSQL)、8088(后端端口)、22(远程连接端口)

远程连接服务器

Windows系统下通常使用Xshell进行连接,Linux可以直接使用ssh,连接更便捷

(1)生成ssh密钥

ssh-keygen -t rsa

在这里插入图片描述

生成的ssh密钥存储在用户目录下的.ssh中,其中id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥,可以通过cat ~/.ssh/id_rsa.pub查看

(2)远程连接服务器

ssh -p 22 root@ip	# 22为端口号,root为服务器用户账号,ip为服务器公网IP地址,如112.126.71.196

注:如果已经远程连接过服务器后,重新配置了服务器(例如重置系统等),会报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

此报错是由于远程的主机的公钥发生了变化导致的。
ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。

解决方案

# 清除连接记录
ssh-keygen -R ip	# ip为连接过的服务器ip

(3)将密钥添加到服务器中,实现免密快捷登录

当我们频繁需要使用SSH连接到同一个服务器时,通过配置免密登录可以节省时间并提升工作效率

# 将密钥复制到服务器中
ssh-copy-id root@ip	# root为服务器用户账号,ip为服务器公网IP地址,如112.126.71.196

# 免密登录
ssh root@ip

配置JDK环境

Windows下可以通过xftp传输文件,Linux直接使用sftp更加方便

xftp连接服务器

xftp root@112.126.71.196

xftp操作:服务器端使用linux命令操作即可,本机操作需在命令前额外+l,例如

# 进入服务器的admin文件夹,创建jdk文件夹
cd /home
mkdir server && cd server
# 进入本地下载文件夹
lcd Downloads
# 将本地jdk安装包上传到服务器中,上传为put,下载为get
put jdk1.8.0.tar.gz /home/server
# 检查压缩包是否存在
ls

将压缩包上传完成后,根据Linux配置JDK环境进行操作即可

安装nginx

sudo yum -y install nginx

安装Docker

1.卸载旧版本依赖

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2.设置仓库

sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2

3.设置稳定的阿里云仓库

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装最新版Docker Engine-Community和containerd

sudo yum install docker-ce docker-ce-cli containerd.io

5.启动docker

# 启动docker
systemctl start docker
# 验证安装是否成功
docker version
# 将用户加入Docker用户组
sudo usermod -aG docker $USER
# 设置开机自启
systemctl enable docker

6.阿里云镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'

# 输入如下
{
  "registry-mirrors":["https://3n4m4jry.mirror.aliyuncs.com"]
}
EOF

# 重新加载并重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker命令

# 查看docker镜像
docker images
# 查看docker进程
docker ps

Docker安装Mysql

安装MySQL

docker pull mysql:8.0

在这里插入图片描述

启动Mysql,设置初始密码

# --name 容器名称
# -p 3308:3306 物理机端口:容器内部端口
# -e 运行参数 初始化 root 用户密码
# -d 后台运行 mysql:8.0 镜像名称加标签
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=初始密码 -d mysql:8.0

进入容器

# 查看正在运行的容器,找到mysql的CONTAINER ID
docker ps
# 进入容器
docker exec -it 4569ee6814fd /bin/bash	# 4569ee6814fd为CONTAINER ID

登录mysql,登录成功即代表容器创建成功

mysql -uroot -p初始密码

使用Mysql可视化工具即可连接服务器Mysql(以navicat为例),若出现连接失败,检查服务器防火墙/工作组是否开启对应接口

在这里插入图片描述

复制数据库(可选)

打开localhost,选中源数据库的所有表,拖动到server的demo(目标数据库,需新建)上,选择复制数据和结构,打开数据传输界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关闭docker的Mysql容器

docker stop 容器id

修改项目配置

自行根据实际情况将SpringBoot项目的路径、端口、账号密码、ip等信息进行修改(localhost改为公网IP地址)

在这里插入图片描述

添加Plugin

在pom.xml的build>plugins下确保添加了如下plugin,用户构建项目时生成jar

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<version>3.2.0</version>
</plugin>

构建、打包本地后端项目

cd maven项目目录
mvn clean package -DskipTests

在这里插入图片描述

构建完成后在该目录下target文件夹下会生成jar

在这里插入图片描述

使用java -jar可执行jar包

sftp root@112.126.71.196	# sftp连接服务器
lcd code/shixun/springboot/shixun/target
# 将jar移动到服务器
put shixun-0.0.1-SNAPSHOT.jar /home/server
# 执行jar,启动SpringBoot(在服务器终端启动,而不是sftp)
chmod +x shixun-0.0.1-SNAPSHOT.jar
java -jar shixun-0.0.1-SNAPSHOT.jar

在这里插入图片描述

静默后台启动、关闭后端项目

此时项目的启动在终端中,关闭终端服务器停止运行,开启jar静默后台启动

# 静默启动
nohup java -jar shixun-0.0.1-SNAPSHOT.jar &
# 查看日志
cat nohup.out

# 查看运行进程
ps -ef | grep java
# 关闭进程
kill -9 进程号

# 构建、打包本地前端项目

cd code/shixun/springboot/shixun/vue
# 构建vue项目,生成dist文件
npm run build

在这里插入图片描述


本地验证打包文件有效性(自选)

安装anywhere前端静态资源服务器插件

npm install anywhere -g
cd dist
# 将前端项目挂载到本地8080端口运行(确保端口不冲突)
anywhere -p 8080

将给定的url输入到浏览器中即可访问(注:需要同时启动后端服务)


将dist上传到服务器

sftp root@112.126.71.196
lcd /home/insight/code/shixun/springboot/shixun/vue
# 将dist目录上传服务器
put -r dist /home/server
# 启动nginx
cd /usr/sbin
./nginx
# 查看运行进程
ps -ef | grep nginx
# 配置端口信息
cd /etc/nginx
vim nginx.conf

新增如下信息:

在这里插入图片描述

# 重启nginx
cd /usr/sbin
./nginx -s reload

配置完成,浏览器启动成功

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Insight.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值