服务器部署前后端分离项目vue+springboot

12 篇文章 0 订阅
7 篇文章 0 订阅

步骤

1-安装java,mysql,nginx环境

服务器先安装宝塔

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

安装后输入bt 14查看内网链接打开宝塔页面

java&&tomcat

image-20240829101853614

image-20240829101956119

安装tomcat服务器

image-20240829102025539

mysql

image-20240829122218294

nginx

image-20240829122301709

2-数据库导入

用户名密码和java application 配置文件保持一致

image-20240829102229069

image-20240829102449137

image-20240829102541338

3-打包前后端项目,配置nginx

前端

在www目录下新建公共目录,传入打包好的前端项目

image-20240829103503696

image-20240829103708539

前端路径指向

其实这块不用怎么改,除非你端口发生变化,否则这里的localhost服务器自己会找ip的

运行环境变量.env.production

# just a flag
ENV = 'production'

# base api
VUE_APP_BASE_API = 'http://localhost:8088'

request.js

const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  // url = base url + request urls
  // withCredentials: true, // send cookies when cross-domain requests
  timeout: 15000 // request timeout
})

vue.config.js
这一块的端口号填写你后端springboot启动端口,这个proxy服务器代理就是帮你转发到该springboot后端,

为什么要代理?浏览器不能跨域,也就是http 和 ip和端口,必须一致,这里我们的前端端口和后端不就不一致了嘛,

所以说前后端分离项目出现了跨域项目,俩服务器了,一个nginx一个java tomcat。

proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: `http://localhost:端口号`,
        // websocket支持
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    },

服务器配置redis

如果项目中没用到redis可以直接跳到后面

py3安装慢的一批无语了

不安装后续编译会报错…

wget http://cdn.npm.taobao.org/dist/python/3.6.5/Python-3.6.5.tgz && tar -zxvf Python-3.6.5.tgz && cd Python-3.6.5/ && ./configure --prefix=/usr/local/python3 --with-ssl && make && make install &&  ln -s /usr/local/python3/bin/python3 /usr/bin/python3 
 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

获取资源——解压——安装指定目录——编译安装——软连接bin命令位置

安装gcc软件包(由gcc make install安装)
yum install gcc-c++
下载安装redis

Index of /releases/ (redis.io)

选择想要的版本,右键复制链接 到linux里wget获取到该包(如果太慢就下完丢虚拟机里)

wget https://download.redis.io/releases/redis-7.0.5.tar.gz

解压到用户目录

mkdir /usr/local/redis && tar -zvxf redis-7.0.5.tar.gz -C /usr/local/redis

执行make,并install安装也是嘎嘎慢

make… 注意看这里cd进入的为你下载对应版本解压后的redis,这段别照cv了

cd /usr/local/redis/redis-7.0.5/ && make

成功效果

install…

make PREFIX=/usr/local/redis install

查看版本,验证安装结果

/usr/local/redis/bin/redis-cli -v

启动redis

/usr/local/redis/bin/redis-server
image-20240829210542450

有个鸡肋的地方,如果想要生效配置文件得

/usr/local/redis/bin/redis-server /配置文件路径..
修改启动方式为守护式进程,后台运行…
vi redis.conf 
image-20240829203726290
远程连接

image-20240829203835089

查看运行状况

ps -ef|grep redis

image-20240829211438191

redis客户端

/usr/local/redis/bin/redis-cli

关闭redis

找到nestat/ps 。。。 进程号
kill -9 进程号

软连接创建快捷方式

 ln -s /usr/local/redis/bin/redis-server ./
  • ln: 创建链接的命令。
  • -s: 表示创建一个软链接(符号链接)。
  • /usr/redis: 这是你要链接的目标路径。
  • /root/redis: 这是你希望创建的软链接的路径。

后端

添加打包依赖

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
<!--                指定Spring Boot应用程序的主类-->
                    <mainClass>com.zww.ZwwAdminApplication</mainClass>
<!--                    插件执行是否跳过,如为true,则不会执行maven插件,repackage,run等...-->
<!--                    及其所有依赖同时也会被跳过,当前项目启动报错,缺失xxx...依赖-->
                    <skip>false</skip>
                </configuration>
<!--                maven插件目标,在构建过程中执行repackage目标,打成jar/war包-->
<!--                执行的操作有 编译,运行,打包-->
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

image-20240829213216528

application随着打出来的在target里的jar包一起带过去,如果application配置文件相同就端口不一致后续使用命令行参数–server.port=8888就不用分目录了

image-20240829112801838

image-20240829112900980

启动jar包

打开宝塔自带终端或者自己习惯用的远程连接工具,这里推荐mobaxterm,然后到公共目录启动,如果到这里你觉得看不懂大多,那我建议你好好百度或者b站补点前置知识
image-20240829113116528

cd /www/【你的文件目录】/前后台后端目录
nohup java -jar jar包名 --server.port=端口号 > admin/blog/_server.log 2>&1 &
echo 'start success'

c
nohup java -jar zww-blog-0.0.1-SNAPSHOT.jar --server.port=7777 > blog.log 2>&1 &
echo 'start success'
  1. > server.log: 这部分将标准输出重定向到 server.log,即丢弃所有标准输出,不会显示在终端上。(也就是你在idea上报错的所有信息都跑到这个文件上了,要看可以vi看或者cat或者tail -f 文件名实时追踪)
  2. 2>&1: 这部分将标准错误输出(文件描述符 2)重定向到标准输出(文件描述符 1),也就是同样丢弃,不会显示在终端上。
  3. &: 这个符号表示将整个命令放入后台运行。

实时查看后台

tail -f server.log

查看启动状况

ps -ef | grep zww-admin-0.0.1-SNAPSHOT.jar

image-20240829214132483

nginx配置文件

 cat /www/server/nginx/conf/nginx.conf

image-20240829220055668

类似于vue组件,相当于app组件vhost下所有conf结尾的包含在主配置文件里

创建博客配置文件

vi /www/server/panel/vhost/nginx/zww_blog.conf

server {
                listen 8010;
                server_name 192.168.233.135;
                charset utf-8;
                                location / {
                                    alias /www/zww_blog/vue-admin/dist/;
                                        try_files $uri $uri/ /index.html;
                                        index  index.html index.htm;
                                }

}

server {
                listen 8011;
                server_name 192.168.233.135;
                charset utf-8;
                                location / {
                                    alias /www/zww_blog/vue-blog/dist/;
                                        try_files $uri $uri/ /index.html;
                                        index  index.html index.htm;
                                }

}

好像有一些配置这里会多一个服务器 location为 api,类似vue的代理转发,但是已经在vue项目里设置了一个proxy服务器 就不用在这里设置了

重启服务

 /www/server/nginx/sbin/nginx -s reload

然后访问测试

image-20240830143550597

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个详细教程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方式进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目: 使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot版本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目的Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细教程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值