CentOS7部署Nginx+vue3+SpringBoot项目

本文详细介绍了在华为云服务器上部署Java应用(包括JDK安装和SpringBoot项目部署),Nginx的安装、配置以及Vue项目部署,重点讲解了跨域配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、服务器

使用的华为云服务器,CentOS7.9镜像

 二、安装JDK

利用yum命令下载安装JDK(无需配置环境变量,安装过程自动配置)

查看yum库中的JDK安装包

yum -y list java*

安装所需版本的JDK程序

yun -y install java-1.8.0-openjdk*

测试JDK是否配置成功

java -version

三、安装Nginx

在centos 7 服务器中使用yum命令从nginx源服务器中获取来安装nginx

yum install -y nginx

启动nginx

systemctl start nginx

启动成功后,通过域名或ip访问web页面,可以预览nginx的默认页面

 文件存放默认目录

/usr/share/nginx/html

默认站点配置

/etc/nginx/conf.d/default.conf

自定义Nginx站点配置文件存放目录

/etc/nginx/conf.d/

nginx全局配置

/etc/nginx/nginx.conf

重新加载配置文件

nginx -s reload

检查配置文件格式是否正确

nginx -t

 四、部署SpringBoot项目

SpringBoot项目打成jar包,直接运行即可

nohup java -jar xxx.jar >/home/user/log.log 2>&1 &

 五、部署vue项目

vue项目打包

npm run build

新建一个用户

useradd 用户名
passwd 用户名

将生成的dist文件夹上传到新建的用户目录下

六、vue配置(重点)

 在vite.config.js文件中配置server,配置跨域

server: {
      port: 3001,
      https: false,// https开启
      host: '0.0.0.0',// ip
      target: 'node',
      httpOnly: false,
      open: true,// 是否自动在浏览器中打开
      proxy: {// 跨域代理
        '/apis': {
          target: 'http://被代理地址', // 
          changeOrigin: true,
          httpOnly: false,
          rewrite: (path) => path.replace(/^\/apis/, '') //替换apis字段 也可以是其他字段
        } 
      }
    }

七、Nginx配置(重点)

修改/etc/nginx/nginx.conf文件

server {
        listen       80;
        index index.html;

        location / {
        index index.html;
        # vue项目的打包后的dist
        alias /home/user/dist/;
        }

        # 服务器代理实现跨域
        location /apis/ {
        # 将/apis/开头的url转向该域名
        proxy_pass http://localhost:8080/;
        }

}

### 部署Spring Boot和Vue应用程序到CentOS 7 #### 准备工作 为了在CentOS 7上成功部署Spring Boot和Vue应用,需先确认已安装必要的基础环境。这包括但不限于Docker及其版本应不低于18.03.0-ce[^1]。 #### 创建项目文件夹并配置Dockerfile 对于Spring Boot部分,在项目的根目录下创建名为`Dockerfile`的文件: ```dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 针对前端Vue.js构建产物,则通常会有一个独立的服务来托管静态资源。这里假设已经通过npm或yarn完成了生产模式下的打包操作,并且所有编译后的HTML/CSS/JS都位于`dist`文件夹内。此时可利用Nginx作为Web Server发布这些静态页面: ```dockerfile # 使用官方nginx镜像为基础镜像 FROM nginx:alpine # 将本地dist目录中的内容复制到容器内的默认网站路径下 COPY ./dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` #### 编写docker-compose.yml实现服务组合启动 在同一级目录新建`docker-compose.yml`用于定义多个关联的应用组件和服务依赖关系: ```yaml version: '3' services: backend: image: spring-latest} build: context: . dockerfile: Dockerfile ports: - "8080:8080" environment: SPRING_PROFILES_ACTIVE: prod depends_on: - db frontend: image: vue-front:${TAG:-latest} build: context: ../frontend/ dockerfile: Dockerfile.frontend ports: - "80:80" depends_on: - backend db: image: mysql:5.7 volumes: - mysqldata:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: example volumes: mysqldata: ``` 上述配置说明了三个主要组成部分——后端API(`backend`)、前端UI(`frontend`)以及数据库实例(`db`)之间的交互方式。其中`${TAG}`变量允许指定不同的标签以便区分各个版本;而`depends_on`字段则指定了各服务间的加载顺序[^4]。 #### 构建与运行 完成以上准备工作之后就可以执行如下命令来进行整个系统的集成测试了: ```bash cd path/to/project/root docker-compose up --build ``` 此指令将会自动拉取所需的底层镜像、按照给定的Dockerfiles分别构建自定义映像、最后依照YAML文档描述的方式依次激活各项功能模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Gzzz__

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

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

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

打赏作者

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

抵扣说明:

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

余额充值