在阿里云从0开始部署vue+springboot项目

我很生气

服务器被黑了,top ps命令被修改,top下面的进程基本都是0占用率,控制台看到的cpu是100,找不到原因,一开始我还以为是显示错了,后来仔细看,top查看到ni(nice cpu time)的百分比是100!!我百度了很久都找不到ni占有100的情况,最后谷歌搜到了国内的博客才发现是自己的命令被修改了,在被修改的前一分钟,被一个ip在上海的阿里云攻击入口,我服了!我好累,我睡觉了,今天起来继续弄

redis端口真是万恶之源!这次redis要设置连接密码

重装

首先要停止服务器,然后初始化云盘
在这里插入图片描述

重装之后记得修改连接密码!

安装JDK1.8

  1. 官网下载rpm包https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  2. 把rpm包上传的服务器上

  3. rpm -qa | grep java查看是否安装了jdk,如果安装了,可以通过rpm -e xxx --nodeps命令进行卸载,xxx表示你通过 rpm -qa | grep java 命令 查到的安装包的名字

  4. rpm -ivk jdk-8u191-linux-x64.rpm

  5. 测试命令 java javac java-version

为什么选rpm安装,因为rpm不用配置环境变量,我最讨厌配置环境变量了

具体参考这篇博客https://blog.csdn.net/weixin_42466518/article/details/115151787

安装并配置redis

安装

  1. 装好环境,redis6.0以上需要gcc升级到以上
 #第一步
yum install centos-release-scl
#第二步
yum install devtoolset-7-gcc*
#第三步
scl enable devtoolset-7 bash
  1. 安装wget,然后按照redis官网安装redis
#先安装wget,阿里云好像自带的。。
yum -y install wget
$ wget https://download.redis.io/releases/redis-6.2.5.tar.gz
$ tar xzf redis-6.2.5.tar.gz
$ cd redis-6.2.5
$ make
  1. 安装成功,redis-server在src目录里面
    redis官网截图
    /usr/local/bin中也可以启动redis
    在这里插入图片描述

配置

拷贝第一次安装的位置下的redis.conf到/usr/local/bin下面

  1. 新建目录
    在这里插入图片描述

  2. 拷贝conf进来
    在这里插入图片描述

  3. cd myredis,vim 编辑配置文件
    在vim可以用/查询,/bind,按n下一个
    1.设置访问redis的密码:requirepass 要设置密码
    2.注释bind 127.0.0.1(6.0变成了bind 127.0.0.1 -::1)
    3.daemonize yes
    4.protected-mode no

  4. 用自己的配置文件运行redis-server(需要重启)

redis-server myredis/redis.conf 
#启动客户端
redis-cli -p 6377
#如果想输入密码登陆redis可以-a passowrd
redis-cli -p 6377 -a 密码

测试密码
在这里插入图片描述

idea连接测试

  1. 依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
  1. application.properties
#配置reids
spring.redis.host=ip
#改成6377是怕6379端口开了又被黑了,6377应该不会有人来找上门吧。。。
spring.redis.port=6377
spring.redis.password=密码
  1. 在spring boot的test目录下的测试代码
    @Test
    void contextLoads() {
        redisTemplate.opsForValue().set("ideaTest","hahahha");
        System.out.println(redisTemplate.opsForValue().get("ideaTest"));
    }
  1. 输出结果
    在这里插入图片描述
  2. redis查看
    在这里插入图片描述

安装nginx

按步骤做,完全没问题,设置好安全组就行
https://www.cnblogs.com/pxstar/p/14808244.html

安装mysql

非常好,和阿里云里面的环境配置步骤基本一致!
https://blog.csdn.net/unhejing/article/details/79893219

设置安全组

阿里云设置安全组,只能让自己的ip访问,可以参考这个博客
https://www.cnblogs.com/lazb/p/13234078.html

前端vue

参考了这个:https://blog.csdn.net/CDBstudent/article/details/111395418

  1. 打包(npm run build),上传
  2. 解压
#用 unzip 的先安装
 yum install -y unzip
#unzip file.zip -d /root 
-d指解压路径 ,不写的话默认当前目录

配置nginx

1.进入nginx配置文件的目录

cd /usr/local/nginx/conf
  1. vim nginx.conf 只需要修改这两个
    在这里插入图片描述
  2. 修改成功后记得重启nginx
./nginx -s reload

访问成功!!!喜翻惹喜翻惹
在这里插入图片描述

部署spring boot项目

mysql建表

上传.sql文件到服务器
提前建好database,use database,然后进入mysql执行

source /目录/目录/文件名.sql

打包spring boot项目

application.propertyes改一下再打包,没有分两个环境。
webmvcconfigure.java 这个文件的跨域除了加localhost,另外加上服务器ip。

我不管有没有用都加,我从下午三点多弄到现在晚上十二点半,能改的都该了,要被气死了!

    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:8080")
                .allowedOrigins("http://服务器ip:8080");
    }

application.propertyes里面redis的地址写localhost就行了,mysql的url也是写localhost就行了,第一次部署,不知道要写服务器ip还是写localhost。写了localhost访问没问题!

如果是用docker就不清楚了,可能要mysql redis拉到同一个网络之类的才能这样

maven点右边的clean,点package,pom要导入这个插件

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

上传到服务器上

如何运行jar参考https://blog.csdn.net/qian9140/article/details/84629762

补充几个命令

netstat -anp |grep xxxx
netstat -nultp  该命令是查看当前所有已经使用的端口情况
查看日志
more xxxx.xxx  翻页用空格
vim里面翻页 
ctrl -f   forward,向前翻一页
-b	backword向后一页
-d	down往下半页
-u	up往上半页
vim里面查询   /要查询的字符串,比如:
/username
按小写n,下一个
前后端都运行成功,在浏览器输入ip:端口就能访问了

nginx配置比较简单
spring boot配置页比较简单
vue出问题,主要是因为我看不懂,没用过,代码也不是自己写的,配置都不是自己配的,出问题也是正常,好在最后部署成功!喜翻惹!

第一时间发给同学注册发文章
在这里插入图片描述

debug能力有待增强!发现了前端给后端发出的请求是localhost:8888,我觉得应该是ip地址+8888才对,但是改了dev和index配置文件都没用,最后发现唯一一个没改的地方就是prod环境的base_api,他还是localhost:8888,把prod的BASE_API改成服务器地址+端口,重新部署(这个问题找了大半天才解决。。。下午三点多到晚上十二点)

然后发现服务器前端访问服务器后端出现了跨域问题,把webmvcconfigure允许跨域加上服务器ip地址就行了,最后就是

服务器ip:前端端口8080------访问----->服务器ip:后端端口8888

访问成功了!

完结撒花

您好!要在云服务器上部署Vue+SpringBoot前后端分离项目,需要进行以下步骤: 1. 创建云服务器:选择合适的云服务提供商(如阿里云、腾讯云、华为云等),注册账号并登录控制台,在控制台上创建一台云服务器。 2. 配置云服务器:选择适合您项目需求的操作系统,通常推荐选择Linux系统(如CentOS、Ubuntu等),并进行基本的配置,如选择实例规格、设置登录密码或密钥等。 3. 登录云服务器:使用SSH登录到您的云服务器,可以使用SSH工具(如PuTTY、Xshell等)连接到服务器。 4. 安装Docker:在云服务器上安装Docker,可以根据不同的操作系统选择相应的安装方式。您可以参考Docker官方文档或者云服务提供商的文档来完成安装。 5. 构建Vue项目:在本地开发环境中使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行并且没有错误。 6. 构建SpringBoot项目:使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行并且没有错误。 7. 将前端项目打包:在本地执行构建命令,将Vue项目打包成静态文件。执行命令如下: ``` npm run build ``` 8. 将打包后的文件上传至云服务器:将打包后的静态文件(通常在`dist`目录下)上传至云服务器。您可以使用FTP工具(如FileZilla)进行文件上传,或者使用命令行工具(如scp)进行文件复制。 9. 创建Docker镜像:在云服务器上创建一个Docker镜像,用于运行SpringBoot项目。在项目的根目录下创建一个`Dockerfile`文件,并在其中定义Docker镜像的构建步骤。示例`Dockerfile`如下: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 10. 构建Docker镜像:在云服务器上执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 11. 运行Docker容器:在云服务器上执行以下命令,运行Docker容器: ``` docker run -d -p 80:8080 myproject ``` 12. 访问应用:通过浏览器访问云服务器的公网IP地址,即可查看部署好的前后端分离项目。 请注意,以上步骤仅为概述,具体操作可能因您的项目需求、云服务提供商等而有所不同。建议您参考相关文档或教程进行操作,并根据实际情况进行调整。祝您部署成功!如有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值