web项目服务器部署Spring boot、vue、linux

首先介绍一下用到的东西

后端spring boot,前端vue,系统环境linux,数据库mysql、mongoDB、redis

一、系统环境

为了操作方便这里使用了宝塔面板,功能齐全免费,用着非常舒服,版本是7.9.3

安装服务器系统

到服务器管理界面安装系统,选择公共镜像,我这里安装centOS 7.9,阿里云有带宝塔的镜像,直接选那个省点事。

安装宝塔面板

官网地址

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

执行上面命令就好,如有变动去上面官网地址查看,安装完根据提示去打开网址就好了

开放端口

这一步到这可以插进来,不开放端口无法从外网访问,其它的问题自行百度吧
需要开放的地方有两个:
一个是服务器管理后台,各家的平台管理不一样,但是大同小异,自行百度吧。
另一个是宝塔面板里的,选择安全然后就能看到放行端口
需要放行的端口有:
27017,6379,3306 分别是mongoDB,redis,mysql。由于端口可以配置,如果更改了请自行配置
除了这些还有自己要开的服务端口
我的后端是8088,前端是80,自己是啥就开啥
(差一句,端口放行还有下面配置0.0.0.0都是为了外网访问,如果说不需要可以不用配这个,应该没有人不需要吧)

安装java环境

直接传送门
下载rpm结尾的,版本的话,我项目创建用的是1.8,安装的18,反正运行成功了,懂的大佬自己尝试吧。

rpm -ivh java.rpm

这是安装命令,-ivh就是安装、输出、进度的意思,不用管,后面就是下载的包名,可以加路径
至于怎么把文件弄进去,可以借助宝塔面板的文件功能,也可以自行解决
正常来说环境变量自己搞定,不正常也自行解决吧

安装相关软件

包括mysql,mongoDB,redis,Nginx,到宝塔的软件商店下载
至于设置,分开讲吧

二、mysql数据库

这个最简单了,算是唯一一个没有坑我的
本体不用设置,直接去宝塔 数据库-mysql,然后添加数据库,每个选项都是中文的不解释了。新建完成之后就可以访问了

三、mongoDB数据库

这个开始一直坑我,在外网死活访问不了(redis也是)
这个需要设置本体配置文件,首先找到软件的配置界面
mongoDB设置界面
如图:把BindIP改为0.0.0.0(改配置文件也一样),不然也是外网访问不了,保存然后重启
然后去到 数据库-mongoDB新增一个数据库,也是一样都是中文不解释了。然后就可以正常访问了

四、redis

redis部署
如图:bind改为 0.0.0.0,requirepass自己设置个连接密码,保存重启

五、部署后端项目

找到 网站 - java项目
添加JDK

首先添加个jdk,找到jdk管理,添加jdk,目录就是上面安装的java目录一般都在bin目录下,自己找找。
部署java项目
这里只说下需要注意的配置
项目类型选择spring boot,路径选择自己的jar包路径,我们一般都放在www/wwwroot目录下
(什么?jar包,不会有人不会打jar包吧。好吧插一条:用的idea的话,找到maven,然后执行clear,再执行install,jar包就在生成的target目录下面,命令的话好像是mvn install,就是maven的命令,自行百度吧)
端口选择自己要部署的端口(可以和开发时候不一样),记得执行命令里面端口也要改掉!!!这个重要,至于其余命令,自行百度吧,可以不用管。
然后保存,运行好像是自动的,没有自动就手动运行下

六、部署前端

我这用的是vite,直接yarn build打包,npm也一样。

找到 网站 - php项目
添加站点,不截图了,就两点,域名:加个自己的域名就好了,没有的话就用ip,放IP,可以设置端口,不写默认80,然后就是项目路径,放那里就选择那里
这里也有个坑啊,我也不知道为啥,建议先来这里新建站点,建完之后将前端项目文件覆盖到生成的目录下面。反正之前配置的一直访问不了。

然后将整个打包文件复制到服务器,目录自己规划好,建议和后端的文件统一放到一个项目文件夹下

到这应该是能正常访问了,但是请求应该不行,因为跨域。下面要进行反向代理
找到刚才添加的站点:
设置-反向代理-添加反向代理
反向代理
我这里是localhost,因为在一台服务器,也可以是ip或者域名,看自己需求。其它的随便填吧。
之所以随便填是因为我怎么配都不好使。不知道为啥。可能是我不会用吧。

添加好之后,列表里会有一条代理规则,选择配置文件,直接删掉

#PROXY-START/

location /api
{
    rewrite ^.+api/?(.*)$ /$1 break;
    include uwsgi_params;
    proxy_pass http://localhost:8088;
}

#PROXY-END/

配置如上,稍微解释一下,location后面配置的是代理路径,就是遇到什么样的请求需要代理,我这里用的是/api,也可以是其它的,这个主要看前端请求路径是怎么配的。
然后rewrite这里匹配规则要不是api请也一并改为对应的
proxy_pass 就是代理路径,同上面配置的就好
到此部署应该结束了。至于域名访问,做一下域名解析就好了,解析道这个服务器ip。自行百度吧。

唠叨几句

关于代理的问题,建议请求后的的ajax请求都带上统一路径,方便开发和部署时候做代理。我这里统一加的是/api。
这代理是根据路径匹配的,如果配置的匹配会匹配到页面路径地址,那么会造成页面访问异常。反正自己研究一下吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值