首页IT科技nginx部署前后端分离的项目(前后端部署+nginx配置)

nginx部署前后端分离的项目(前后端部署+nginx配置)

时间2025-05-05 11:01:03分类IT科技浏览3600
导读:概要 内容主要包括部署前端项目,nginx安装配置,以及后端项目的打包...

概要

内容主要包括部署前端项目            ,nginx安装配置                ,以及后端项目的打包

1          、脚手架安装

vue init webpack

项目运行(默认端口8080)

npm run dev

如果前后端分离项目    ,发出axiox请求实现跨域时         ,需要配置proxy代理

/** * 例如这个前端微服务项目访问后端接口时需要带/teacher 路径                 ,而后端服务普遍是/member路径[前端通过端口号来区分后端项目      ,不能说给这个后端服务请求路径上添加上/tercher] * 这个时候      ,可通过配置proxy代理                  ,在实现跨域的功能外         ,实现路径重写 * 如下 后端有个接口如/member/query/getTeacherList * 前端通过访问 * http://localhost:9500/teacher/member/query/getTeacherList * 代理到 http://localhost:8081/member/query/getTeacherList */ proxyTable: { "/teacher": { // 目标代理服务器地址 target: http://localhost:8081, logLevel: debug, // 开启代理   ,本地创建一个虚拟服务器 允许跨域 changeOrigin: true, pathRewrite: {^/teacher: /}, }, }, host: localhost, port: 9500,

2                、项目打包部署

前端项目打包

​ npm run build

部署:将生成的dist文件夹拷贝至linux文件目录 如/etc/dist【配置nginx要用到】

后端项目打包【生成的jar包文件在target目录下】

前提条件:pom配置打包工具

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>

① 通过mvn命令打包

mvn clean install -Dmaven.test.skip=true -Dmaven.test.skip=true #跳过test模块编译和打包 避免打包出错 #或者 mvn clean install -DskipTests - DskipTests #不执行测试用例                  ,但编译测试用例类生成相应的class文件至target/test-classes下

② 通过idea配置打包(最简单)

③ pom配置 打包跳过测试【测试模块正常编译】

配置pom <build> <plugins> <!-- maven 打包时跳过测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> 点击install按钮【可见上图】 #上述控制台会输出 [INFO] --- maven-surefire-plugin:3.0.0-M7:test (default-test) @ demo1 --- [INFO] Tests are skipped. #test跳过成功

部署:将jar包拷贝至linux服务器上            ,运行

cd jar包路径 java -jar jar包名称 2>&1 & #后台运行

3      、配置nginx

安装nginx

su root yum install nginx #查看nginx是否安装成功 nginx -v

配置nginx

nginx相关文件位置如下:

/usr/sbin/nginx:主程序 /etc/nginx:配置文件所在路径 /usr/share/nginx:静态文件所在路径 /var/log/nginx:日志文件所在路径 # 可通过whereis nginx命令查看: nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz vim /etc/nginx/nginx.conf #修改以下内容 server { listen 9000; #监听端口 server_name localhost; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { root /etc/dist; #前端文件放置的文件路径 index /index.html; #访问路径下的文件入口 } #请求转发配置 location ~/yujiankai/{ #匹配所有带有yujiankai的路径 proxy_pass http://服务器ip地址:8001;#转发服务器ip及端口 } error_page 404 /40x.html;1 location = /40x.html { root html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

重启nginx

nginx -t // 检验配置是否正确 nginx -s reload // 重新加载修改的配置 service nginx restart // 重新启动

访问nginx监听端口9000

服务器ip地址:9000 #跳转/etc/dist/index.html

【额外】利用docker安装nginx

前提:

docker pull nginx #拉去镜像 docker run --name=mynginx -p 9000:80 -d nginx #启动nginx docker exec -it mynginx /bin/bash #进入nginx容器 cd /etc/nginx #进入配置文件目录 #docker容器可看作微型linux系统,剩余操作类似上述操作

docker run参数说明

--name 容器名称 -p 挂载端口 服务器9000挂载到容器的80端口(nginx默认端口) -d 后台运行

注意:配置端口时               ,记得网关放行

END

声明:本站所有文章               ,如无特殊说明或标注  ,均为本站原创发布          。任何个人或组织            ,在未征得本站同意时                ,禁止复制        、盗用               、采集         、发布本站内容到任何网站      、书籍等各类媒体平台                。如若本站内容侵犯了原著者的合法权益    ,可联系我们进行处理      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
window10更新21%(Win10 21H1 Build 19043.1200(KB5005101)预览版更新了哪些内容(附更新日志))