一、前后端端口配置
都在server port配置
那么前端如何对应匹配上后端的端口呢
首先找到需要打包前端的哪个环境
其次在生产服务环境这里 把IP 换成服务器的IP以及刚才后端修改的端口。
接下来的一步是在vite.config.js文件里
这里的server port端口是前端访问的端口 改这里的端口 随便改什么都可以, 要记住端口不能是已经占用的
target这里我们一般只需要改localhost: 冒号后面的端口号 改成和后端一样匹配的 localhost 可以不用动。下一步我们就可以打包前后端放到服务器上了
二、服务器上前后端启动踩坑
(1)后端:
后端的启动通常会有shell脚本 那么shell脚本中有个关键的问题 需要启动哪个环境
例如这个shell脚本中的环境配置的是test 我打包的也是test环境 那么可以启动正常 但是!如果shell脚本中这个环境是prod 你打包的环境是test 那么在启动的时候 就会启动prod的环境 prod环境的参数和你打包环境的参数肯定是不匹配的 后端就会启动报错 无法nohup启动。
这里还有个坑点 为什么我java-jar可以启动 nohup的时候无法启动 因为java-jar启动的时候默认dev环境,dev环境通常是可以启动起来i的。
好了,当 后端启动的时候 这时候就迎来了前端的问题!
(2)前端:
前端会出现不匹配后端 就是打开页面后但是无法进行登录操作。原因是因为nginx代理的时候没有监听到对应的服务,所以是不能讲请求转发到后端的。这就需要在webserver 里的nginx里的conf下的nginx.conf文件进行配置更改,当然webserver的位置放到位置地方不一样 具体看详细情况
如下图是nginx.conf文件的配置
刚才在前端打包文件里,给前端定义的端口是81。那么在这里就要listen 81端口。 conf的配置里面有很多这种server配置 这一大段复制粘贴就行。主要改的位置在localtion/stage-api 以及listen的端口
localtion/stage-api踩坑记录
这里之前是localtion/prod-api 所以nginx能打开网页 但是请求转发不过来。我前端打包的的是stage这个环境 那么这里的配置也要改成stage 这样就是一切正常了。