云服务器部署前后端分离项目(若依)详细教程

news/2023/6/7 0:12:24

第一次在Linux云服务器上部署前后端分离项目,查了很多资料和视频,踩了许多坑。成功实现部署若依的前后端分离项目后,想记录一下前后端部署的过程,供学习的小伙伴参考。

目录

  • 1. 环境准备
  • 2. 开放端口
  • 3. 下载前后端项目
  • 4. 前端部署
  • 5.nginx.conf配置
  • 6. 后端部署

1. 环境准备

一定要在开始前先准备好以下工具和环境(可以上网查找安装的方法),后续还会对其进行修改:

  • 购买一个云服务器,例如阿里云、腾讯云等等,操作系统为Linux centos7.x
  • 在云服务器上安装Nodejs(之前的博客有安装方法)
  • 在云服务器上安装Nginx 建议宝塔面板安装
  • 在云服务器上安装jdk1.8+(推荐1.8)安装jdk
  • 在云服务器上安装mysqk5.7+(推荐5.7)安装mysql
  • 在云服务器上安装redis 建议宝塔面板安装
  • 远程连接工具xshell或者finalshell

2. 开放端口

安全组→配置规则
在这里插入图片描述

宝塔面板→安全→添加端口规则
在这里插入图片描述

开放服务器前后端端口

由于上述前端使用的是9000端口(也可以换为你自己想要的端口,例如80端口),因此要在防火墙中也打开这个端口,外界才可以访问。于此同时,后端也需要一个8080端口,因此也要将其打开,后续部署后端服务要用到。注意有时候可能你想用的端口已经被其他进程占用,可以尝试找到该进程并将其kill掉或者重新开另一个端口号,具体方法不在此赘述,可上网查询

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent

3. 下载前后端项目

若依前后端项目地址:https://gitee.com/y_project/RuoYi

若依前后端项目使用手册地址: http://doc.ruoyi.vip/ruoyi/

进入网址将项目下载或者git clone到本地并解压
在这里插入图片描述
在这个项目中,ruoyi-ui文件夹是前端项目,其余为后端项目,我们接下来需要分开打包部署

4. 前端部署

1、进入ruoyi-ui

2、下载依赖

npm install --unsafe-perm --registry=https://registry.npm.taobao.org

3、打包

npm run build:prod

在这里插入图片描述
打包完成后生成dist文件夹,将dist文件夹上传到nginx下的html目录

5.nginx.conf配置

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;charset utf-8;# 前端路径	location / {root   /home/ruoyi/projects/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}# 后端路径location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

修改完nginx.conf 后需要重载一下配置

6. 后端部署

(1)配置服务器上的mysql数据库,使mysql数据库可以被远程访问。一定要打开3306端口,然后使用navicat或者其他工具连接mysql
然后导入这两个sql文件

在这里插入图片描述
配置redis
在application.yml中,修改redis的信息,分别为host地址(你的服务器ip),port端口号(你的redis开放的端口号,一般为6379),password密码(你的redis的密码)。

默认配置就好,不建议开放redis端口让外网访问

在这里插入图片描述
配置mysql
在这里插入图片描述

使用maven插件打包项目
在这里插入图片描述
然后在target目录下找到该jar包并上传到云服务器
运行该jar

nohup java -jar ruoyi-admin.jar &

输入ip端口就可访问
在这里插入图片描述

本文参考于:https://blog.csdn.net/m0_60028455/article/details/124706441

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4578656.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Spring基本配置

spring的作用 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言&a…

Spring配置Druid数据源

文章目录前言纯手写配置导入Spring编写配置提取参数编写XML文件通过IOC容器获取Conncetion前言 闲的没事,刚好最近学校讲到这个数据库,就想用Spring来玩玩,优化一下数据库操作。以前是直接用Mybatis的,但是想玩玩别的方式&#x…

spring和springMVC配置文件中的扫描包如何配置

我的项目大概文件路径: 然后进入主题: spring的配置文件名称为applicationContext.xml springMVC的配置文件名称为dispatcherServlet-servlet.xml 1.spring的配置文件中需要将Controller的注解排除掉。也就是排除Controller。需要扫描到service和dao层…

idea自动识别spring框架配置文件,自动提示spring配置

最近看到其他人在使用idea的时候编辑springboot框架的application.properties配置文件时能够自动提示并且该文件在idea里面显示是的是一片绿叶的样子,而我本地却无提示显示的图标和普通的配置文件一样,后来经过查找找到原因。要让idea能够识别spring并且…

Spring-Spring配置概述

Spring容器高层视图成功启动Spring容器的三个必要条件Bean配置信息 基于XML的配置Schema的配置格式 Bean的基本配置装载一个BeanBean的命名总结 导读 Spring容器高层视图 成功启动Spring容器的三个必要条件: Spring框架的类包均已放在应用程序的类路径下应用程序为Spring提供…

Spring配置mapper扫描的两种方式

一, mapperLocations方式 1, spring-mybatis.xml 2, 项目结构 3, numMapper.xml 二, configLocation方式 1, spring-mybatis.xml 2, mybatis-config.xml 3, BankMapper.xml 二者的区别: mapperLocations方式直接配置dao层和mapper对应的映射关系 configLocation方式以中间代…

Spring配置文件报错问题

项目中Spring的各种配置文件报错,在左边处显示红叉. 问题一:出现这种情况是标签头部有空格!. 问题二:问题描述:配置文件傍边会报错,就是说找不到这个标签对应的约束等,spring-mvc.xml,spring-mybatis,applicationContext.xml等配置文件都会出现这样的错误. 查阅了网上的资料,说…

五.解决Spring配置文件中标签不提示

写在前面,当我们在有网的情况下,不管我们的是项目是maven项目还是普通的项目,在编写Spring的配置文件Application.xml的时候不会出现标签没有提示的问题. 本文主要解决的是当不能上网的环境下出现标签没有提示的问题,比如博主公司就是在内网开发,不能访问互联网. 解决办法: …