宝塔部署Spring前后端项目出现的问题-(nginx跳转404,路由不对,failed (2: no such file or directory), client)
部署后端
后端相对来说简单,并不会出现什么问题,我们只需要使用打包命令进行打包就行。
如图所示,首先clean,然后点击package进行打包,会在当前目录创建一个target文件,target中生成的jar文件就是打包的后台问题。
将生成的文件上传到服务器中,然后使用 java -jar xxxx.jar 就可以运行了,其中xxx表示对应的jar文件名称。如果想让java文件在后台运行可以配合使用nohop命令。
前端部署
前端部署相对要注意的点还是挺多的。
- 在宝塔中点击网站,创建一个站点,设置一个名称,这时候其实你通过浏览器访问你创建的地址就可以看到一个成功的界面,这个是nginx 的界面。
- 通过宝塔下载的nginx软件的配置文件和自己安装的配置文件是不一样的。自己安装的nginx会有一个nginx.conf,我们可以在这里面进行配置需要的 http server location等,但是通过宝塔安装的会存在多个conf文件。
- 首先 ,在nginx配置文件的最后一行中说明了配置文件在哪里。
在命令行中我们去来到这个对应的文件夹下面,然后可以发现下面有挺多conf文件,当前创建网站名称的conf文件就是我们需要的conf文件,如果是需要修改的话,都是在这里进行修改。
- 前端文件也通过打包然后上传到服务器中,可以使用npm run build进行打包,将生成的disk文件上传到系统中。哪个位置都可以,但是建议存放咋网站名称的目录下面。
- 正常来说这时候你通过访问服务器的公网访问地址就可以访问到部署的项目。
404 not found failed (2: no such file or directory), client 错误
解决方法:
在nginx.conf 中增加如下内容
server {
listen 80;
server_name example.com;
location / {
root /home/example/dist;
try_files $uri $uri/ @router; # 配置使用路由
index index.html index.htm;
}
# 路由配置信息
location @router {
rewrite ^.*$ /index.html last;
}
}
在当前系统的nginx配置文件中田间配置使用路由和路由的配置信息
之后需要重载nginx的配置,并且重启nginx,然后重新刷新网页就可以解决问题。