Bootstrap

(亲测有效)spring cloud+Vue微服务项目云服务器部署(宝塔)

我的另一篇博客,有兴趣可以看看,部署思路都是一样的。

(亲测有效)SpringBoot+Vue项目云服务器部署(宝塔)_springboot 宝塔部署-CSDN博客

目录

一、准备工作

购买云服务器

登录云服务器

安装宝塔

 二、jdk和数据库

安装环境

 安装Java环境jdk

添加数据库

三、部署前端

修改后台服务所在ip

vue  build

创建站点

四、部署后端

宝塔安装nacos

修改数据库配置

Maven配置子父模块打包

打包上传

运行jar包

方式一:在终端命令运行jar包

方式二:添加Java站点(服务器和面板都开一下端口)

naocos查看已启动服务

五、测试


一、准备工作

购买云服务器

首先前往云服务器平台(阿里云或腾讯云)购买云服务器(可以免费试用),此处我选择的是阿里云服务器,可以免费试用3个月。

然后创建服务器,选择常见linux的发型版本,centos、debian、ubuntu 啥的都行。此处,我使用的是ubutun,地区可以选择离自己现在所处位置近的。

登录云服务器

首先登录阿里云的官网,点击右上角的“控制台”,找到我的资源,实例,再点击“管理资源”,

找到安全组管理,添加端口,

入方向-手动添加,增加4个端口,分别是

  • 80用于nginx
  • 8101、8102、8103、8104用于项目后端
  • 3306用于mysql

添加完记得点击保存,页面上会出现刚刚添加的端口。

这个时候,我们就可以尝试访问我们的服务器了,点击远程登录,通过Workbench远程连接,点击“立即登录”,

输入密码,看到这个界面说明成功连接了。

安装宝塔

使用宝塔可以非常方便地部署前端、后端项目,但是有一个前提条件:你的服务器已经安装了宝塔,或者你的服务器非常干净,什么环境都没有,那就可以安装宝塔。

访问宝塔官方地址:宝塔面板下载,免费全能的服务器运维软件

找到相应的操作系统,点击复制。此处,我的阿里云服务器是Ubuntu的,

想要安装宝塔非常简单,粘贴指令到阿里云的控制台上,直接命令行运行下面的命令,途中有y/n,直接选择y即可。

wget -O install.sh https://download.bt.cn/install/install_lts.sh && sudo bash install.sh ed8484bec

安装完成之后,如下图所示,


 【云服务器】请在安全组放行 33213 端口
 外网面板地址: https://47.93.255.114:33213/b6aa7846
 内网面板地址: https://172.29.117.100:33213/b6aa7846
 username: jl6whtrn
 password: xxxxxxxx

安装成功之后记得将宝塔的账号密码信息存储起来。

云服务器开放宝塔相应端口(本文我的端口是33213),即可使用本地电脑访问宝塔面板(访问地址为上图的外网面板地址),输入账号密码即可进入宝塔面板。

 二、jdk和数据库

安装环境

(1)复制外网面板地址,浏览器打开,就可以进入宝塔面板腾讯云专项网网页,

然后登录到宝塔面板,账号密码是上面命令生成的账号密码。

进入之后,需要绑定宝塔官网账号,如果没有的话,需要注册一下。

(2)找到左侧的软件商店,搜索应用并且安装以下(如果没有用到redis,可以不用安装):

如果需要其他环境自行下载。

一共安装了这么多,

 安装Java环境jdk

(1)要先安装Java环境(根据项目情况选择)

点击宝塔面板左侧的网站 - Java项目 - Java环境管理 - 安装Java环境,

此处我选择的是jdk8,等待安装完成,可以看到,

然后需要在文件中加入以下(注意修改成自己的jdk路径):

(2)打开宝塔面板左侧的终端,输入以下命令打开文件:

vim /etc/profile

或者直接找到文件/etc/profile,进入编辑模式,

在文件中加入以下(注意修改成自己的jdk路径):

# jdk解压后的目录路径
export JAVA_HOME=/www/server/java/jdk1.8.0_371
export JRE_HOME=/www/server/java/jdk1.8.0_371/jre
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

然后按esc,输入:wq保存文件。

(3)然后,我们需要更新一下这个文件/etc/profile,使用下列命令,

source /etc/profile

打开菜单左侧的终端,输入以下命令查看java版本:

java -version

就可以看到jdk的版本了。

添加数据库

(1)点击左侧的数据库,添加数据库。用户名和密码自己设置,

添加完成之后,可以在面板中看到了。

(2)添加后,导入数据库表,

将以sql为后缀的文件上传,此文件即建表语句。

(3)然后点击工具,可查看是否成功建表。

(4)要想查看数据库中表导入数据是否成功,可以通过我们之前安装的这个phpMyAdmin 5.0,

进入宝塔面板左侧的数据库,点击phpMyAdmin,选择面板访问,

 进入之后,会生成下面这个页面,可以可视化数据库表的数据。

三、部署前端

修改后台服务所在ip

打开前端项目,找到request.ts文件,修改后台服务所在ip,

vue  build

如果前端是vue工程,进入到vue文件下,cmd进入命令行,输入npm run build打包。

 打包成功后会出现dist文件,

将dist文件拖到宝塔面板文件里进行上传,此处我的路径是/www/wwwroot。

创建站点

(1)点击左侧的网站添加站点。

其中,需要先点击安装ftp,

安装完成之后,添加ip或域名,端口随便写一个(此处8080不合法,可以随便先写一个端口,后续可以在设置中修改)

(2)修改域名为8080,然后找到网站目录,定位到上面添加的dist文件位置,最后不要忘记保存

此时,我将之前的前端打包文件夹dist放到了这个目录下,并且修改了网站站点的配置。

  (3)然后在浏览器中通过ip可以访问到前端页面了(能看到就行,其他问题往后看)。

四、部署后端

宝塔安装nacos

(1)登录宝塔面板,在宝塔面板的左侧有个软件商店,搜索“Nacos”点击右侧的“安装”,点击右上角“立即安装”即可安装。

(2) 在宝塔面板的左侧的安全中,为nacos和后端微服务添加端口。nacos默认端口是8848。

(3)打开已经安装好的nacos,在设置里选择启动nacos服务, 

等待启动完成,

(4)本地浏览器打开nacos面板,

OK,说明nacos启动成功了。

修改数据库配置

Maven配置子父模块打包

对于微服务项目,我们通常是使用 Maven 的子父模块功能进行管理的。需要部署项目时,不用针对每个子服务单独执行mvn package 命令进行打包,而是可以一键打包所有服务。

想要实现这个功能,需要给子父模块的依赖文件(pom.xml)进行一些配置,主要包括:

1)父模块配置

在父模块的 pom.xml 文件中引l入 spring-boot-maven-plugin 即可,注意一定不要配置 configuration 和 repackage!

示例代码如下:

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
<!--                <configuration>-->
<!--                    <mainClass>com.water.ojbackendmicroservice.OjApplication</mainClass>-->
<!--                    <skip>true</skip>-->
<!--                </configuration>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <id>repackage</id>-->
<!--                        <goals>-->
<!--                            <goal>repackage</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
            </plugin>
        </plugins>
    </build>

2)子模块配置

修改所有需要启动 Spring Boot 的服务(用户服务、题目服务、判题服务、网关服务)的子模块 pom.xml 文件。

主要是增加 executions 配置,使用 spring-boot-maven-plugin 的 repackage 命令来构建子模块,从而自动在构建时将公共模块的依赖打入jar 包。

示例代码如下:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

打包上传

然后对整个大项目打包,就可以直接打包所有的子模块了。

打包完成之后,会在每个子模块的target文件夹下看到各自的jar包。把所有的子模块的jar包上传到服务器的宝塔面板的文件下,此处我的路径是/www/wwwroot。

运行jar包

方式一:在终端命令运行jar包

(1)打开服务器终端,输入以下命令跳转文件。如:cd /www/wwwroot

cd jar包存放位置

临时运行jar包(输入java -jar 后,再输入jar包的前面几个字母然后按tab键可以补全名称):

java -jar jar包

启动之后,

然后,在浏览器进入地址,就可以看到后端正常启动了。

(2)如果想要服务器一直运行jar包(关闭页面后也会运行),输入以下命令:

nohup java -jar jar包 &

方式二:添加Java站点(服务器和面板都开一下端口)

(1)直接添加这个 java 项目的端口,

  • 项目jar路径:选择上传的jar包路径位置
  • 项目端口:要和自己的项目端口一样
  • 项目jdk:已安装的jdk
  • 项目执行命令:是自动生成的
  • 开机启动:选择

类似下面这种流程,

(2)此处我选择第二种方法,分别对gateway服务和3个微服务进行启动。

naocos查看已启动服务

打开nacos管理面板进行查看,就可以看到启动的服务了。

OK,nacos这部分算是成功了。

五、测试

(1)我在站点里设置的后端端口是8101、8102、8103、8104,在浏览器中输入后端的某个路径,就可以看到后端可以正常访问了,

(2)前端也可以了,我在站点里设置的前端端口是8080,因此ip+8080访问,

打开服务器对应网站(服务器ip地址+域名号),刷新即可,

可以看到,后端已经从数据库中查询到了数据,并返回给前端了。

;