零基础入门云服务器 二(部署vue+springboot项目)

前言

本人现在大三,感觉前两年都荒废了没学什么东西,正好赶上今年学校安排vue和springboot的课程,借着这个做课设的机会学点东西,顺便整一个个人云服务器,我想作为一个软件工程专业的学生今后也一定会用到云服务器,早晚要学不如现在开始。

本文章的前提是你已经拥有一台云服务器(这里我用阿里云),并且你已经安装宝塔面板并成功进入宝塔面板的页面,而且你想在服务器上部署你的vue+springboot项目,购买云服务器和安装宝塔面板的教程网上有很多这里我就不做赘述。

本文的初衷是想通过写一篇笔记来记录一下我第一次使用云服务器(在此之前我对云服务器了解甚少,因此踩了很多坑),同时希望那些和我一样第一次想把自己的项目部署到服务器的人看了我的笔记后可以少踩一些坑

阿里云高校计划领取云服务器以及安装宝塔面板请观看我的上一篇博客

部署vue项目

上传

首先在你的vue.config.js中修改你请求的baseurl

axios.defaults.baseURL = 'http://ip:端口'

运行

npm run build

项目目录下会生成一个dist文件夹

image-20230204133153274

宝塔面板中点击文件,然后找一个位置上传
我是上传到这里

image-20230204133336604

如果文件夹中的文件太多,可以先压缩上传,在服务器上解压

配置nginx

listen后面跟你前端端口
server_name随便取
root后面跟你刚才dist目录的位置

下面附上我的配置

server
    {
        listen 8080;
        server_name localhost;
        index index.html index.php;
        root  /www/wwwroot/default/dist;
            location ~ /tmp/ {
                return 403;
            }

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
        location / {
          try_files $uri $uri/ /index.html;
        }
        location ~ /\.
        {
            deny all;
        }
        
        access_log  /www/wwwlogs/access.log;
    }

网上我看别人还有配置了一个代理转发
我本来也有弄,但后面删了发现能跑就没加了
如果你配置完报错了,那可以加上下面的代码试试,放在nginx配置文件的server里
本文中所有的ip指的都是服务器的公网ip

        location /api {
          proxy_pass http://ip:端口;
        }

开放端口

进入你的阿里云ECS
点击安全组

image-20230204142253489

创建安全组或点进已有的安全组

image-20230204142425959

点击手动添加或快速添加
快速添加就你想开放的打勾就好了

image-20230204142615109

下面是手动添加

image-20230204143503391

记得添加
8888 宝塔面板的端口
888 phpmyadmin
3306 mysql
xxxx 前端的端口
xxxx 后端的端口
还有22 443等端口

如果你的前端端口是8080
要开放8080端口,千万不要认为80和8080是同一个端口,不一样的(这句话的出现是有原因的呜呜呜)

设置完后点进实例
点击加入安全组,把刚刚设置的规则加入一下

image-20230204160300848 image-20230204160353286

至此,你应该能通过在浏览器输入 ip:端口 来访问你的vue页面了

部署springboot项目

修改配置

打开你后端的application.properties文件

image-20230204153658804

url中的localhost改成ip
数据库的用户名和密码也要改,具体在下文数据库配置中

打开你的拦截器配置文件
加上如下一行语句,网站同样是 ip:端口

image-20230204153841777

打包上传

点击idea右侧的maven

image-20230204154125872

先点击clean
执行完后再点击package

image-20230204154226814

打包完后你的目录会出现一个target文件夹,文件夹下有一个.jar文件

image-20230204155325584

宝塔面板中点击文件,然后找一个位置将target文件夹中的.jar文件上传
我是上传到和dist同一个目录

添加项目

打开宝塔面板,点击网站

image-20230204154951329

点击添加java项目
参考我的配置

image-20230204155750062

目标url是http://ip:前端端口
前端根目录是之前上传的dist文件夹
在哪里应该自己知道

添加完后运行项目即可

image-20230204160002239

至此,后端部署完成

数据库配置

数据库权限

image-20230204015345826

开放端口

image-20230204015634924

宝塔添加数据库

image-20230204015932028

后端对接数据库

image-20230204020217525

image-20230204020237223

这两边的用户密码要一样

image-20230204020540470

url是 ip/数据库名

本地数据库上传服务器

点击数据库

image-20230204114607882

点击导入

image-20230204114511084

image-20230204122020147

管理数据库(phpmyadmin)

image-20230204122352319

你可以从上图的两个地方进入phpmyadmin进入数据库管理页面

image-20230204122556550

可以用你创的数据库用户名密码登录进去

报错

phpmyadmin报错
nginx配置问题

如果你的phpmyadmin进不去
你需要去看看你的nginx配置有没有问题

点击软件商店

image-20230204123303861

找到nginx

image-20230204123518317

点击配置修改
在这里面修改你的nginx配置(你只需要去关注server就行)

image-20230204123550400

正常来讲只要你不去改,他的配置默认就是能用的
由于我自己也不太懂这个该怎么配,我也是参考别人的
下面贴上我自己的配置

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }
php版本问题

如果你确定自己的配置没有问题
那么可能是你的php版本不对

直接在软件商店里面搜php(注意分类要点全部)

image-20230204125351105

下载7.2版本的php(我也不知道为什么是这个版本,因为我换了这个版本就能用了)

image-20230204125541264

下载完后在软件商店>已安装中找到phpmyadmin>选择php版本换成7.2即可

image-20230204125813834

数据库导入后少表

当你导入sql文件后可以点击管理或者工具查看是否有少表

image-20230204132116881

如果有,可能是本地的mysql版本和服务器的mysql版本相差过大导致的

具体解决方法参考 https://blog.csdn.net/yinzitun7947/article/details/89917611

注意

一定要反复确认自己的端口有没有开放

nginx配置修改后要重启一下nginx服务

如果你认为自己的配置没有问题,端口也都放行了,却还是进不去页面,不妨看看你宝塔面板的防火墙是否放行了你所需的端口(因为我自己那边防火墙一直是关的所以没有在上面提到)
那个页面在宝塔面板>安全 里面

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值