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

2023-05-16

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

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

1.环境准备

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

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

2.下载前后端项目

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

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

进入网址将项目下载或者git clone到本地并解压:

file

在这个项目中,ruoyi-ui文件夹是前端项目,其余为后端项目,我们接下来需要分开打包部署。

file

3.远程连接服务器

通过xshell或者FinalShell远程连接服务器,连接指令:

ssh user@ip

user为服务器的用户名,一般为root,ip是服务器的ip ,默认端口号为22,例如:

ssh root@172.12.134.12

如果连接失败可能是服务器没有开启远程连接许可或者端口等等,可以搜寻相关方法解决。

4.前端部署

(1)首先将项目中ruoyi-ui这个文件夹上传至服务器,可以用FinalShell的文件管理功能,也可以用服务器管理的上传文件功能,例如宝塔界面里的文件管理:

file

可以专门建一个目录存储它们,例如在根目录下创建了一个project文件夹

cd /
mkdir project

file

(2)依次输入如下命令,进入ruoyi-ui文件夹,并对前端代码进行打包,生成一个dist文件夹,这就是前端代码打包后的文件:

cd ruoyi-ui
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
npm run build:prod

file

(3)修改nginx的配置文件(也就是nginx.conf),使其前端项目能够被访问,一般nginx会被安装在/usr/local目录下,因此配置文件路径为/usr/local/nginx/conf/nginx.conf 。如果忘记nginx安装在哪里了,可以用如下命令找到它:

find / -name 'nginx.conf'

file

用vim编辑器打开nginx.conf,修改配置。修改的几个地方,最好图中的信息都一样,红色框框圈出来的是容易忽略的地方如下:

file

1、 修改为root用户

2、修改监听listen的端口号为9000,这个端口号取决于自己想从几号端口访问前端页面,后续也别忘了在防火墙中开启这个端口,不然无法访问;server_name为你的服务器ip,如果你有域名且配置解析好了,也可以再在此添域名

file

3、找到这些内容并将root 后跟的路径修改为刚才前端代码打包的dist文件夹的路径,保存后退出。如果仍不清楚改哪里,可以翻倒博客最后面的部分,有两张nginx.conf的整体示意图。

file

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

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

我用的是阿里云的轻量应用型服务器,因此还需要检查以下宝塔界面的“安全”里面是否开启该端口,以及阿里云服务器工作台里的“安全”->“防火墙”中的端口,如果没有开启,则需要在这里手动开启。此外阿里云的ECS云服务器需要为该端口号添加安全组规则。

file

file

5、端口配置好了后,每次修改了nginx的配置文件后一定要重新启动nginx,使新配置生效。如果重启失败,则先找到nginx的进程,然后将其kill掉,再重启nginx:

如果已经将nginx配置到全局的环境变量中,就可以直接运行这个命令重启nginx
nginx -s reload
如果没有将其配置到全局的环境变量中,则需要进入安装的nginx/sbin/目录中,用如下命令:
./nginx -s reload
查看进程号: ps -ef|grep nginx
杀死进程:kill -term xxxx/ kill -int xxxx

file

6、浏览器输入“ip:9000“,例如:198.172.1.1:9000,如果出现出现如下画面,则表示前端启动成功。否则则需要仔细检查两个地方,一个是nginx的配置信息,一个是端口是否真的被完全打开:

file

5.后端准备

(1)配置服务器上的mysql数据库,使mysql数据库可以被远程访问。具体教程可以看https://blog.csdn.net/VariatioZbw/article/details/105823337 开启后可以在服务器上远程连接一下看是否成功:

mysql -h 198.172.1.1 -P 3306 -u root -p123
h表示host,服务器ip地址
P表示端口号,一般mysql端口号为3306
u表示用户名,建议设为root用户
p表示密码,123为root这个用户的密码,p后面要紧跟密码,不要空格

(2)redis数据库也要配置好,例如它的端口要被打开,设置密码,具体方法可以参考网上的方法。

(3)进入mysql数据库,建一个名为ry-vue的数据库

数据库名称中有‘-’符号,需要用反引号`,是键盘上tab键上面一个键的符号
create database `ry-vue`;

file

file

将之前下载好的项目文件夹中的sql文件夹里的两个数据表上传到服务器中,我们可以继续将这两个文件放在之前在服务器根目录下创建好的project目录里面

file

file

然后登录进入mysql数据库,使用刚才创建ry-vue数据库,导入两个数据表进入ry-vue数据库中:

use ry-vue;
source /project/quartz.sql;
source /project/ry_20210908.sql;

(4) 修改项目中ruoyi-admin中的三个文件,如下:

file

在application.yml中,修改redis的信息,分别为host地址(你的服务器ip),port端口号(你的redis开放的端口号,一般为6379),password密码(你的redis的密码)。

file

在application-druid.yml中,修改mysql的信息,url的中间填写访问mysql的 ip:端口号,例如:198.172.1.1:3306;username填你的mysql用户名;password填你的mysql密码。

file

在logback.xml中,找到日志存放路径,value修改为你存放日志的目录,可以在之前创建的project文件夹中建一个logs文件夹,则填为value=”/project/logs“

file

自此,该修改的已经修改完了。

(5)尝试运行后端项目

可以通过InteliJ IDEA或者eclipse软件来运行这个java后端项目,前提是你运行的本机上应该也具备一定的环境,jdk>=1.8,以及本地8080端口(用于后端)已开启且未被占用。其他的例如mysql,redis可以直接通过服务器ip+端口号远程访问,不需要在本机上配置。

出现如下表示启动成功,可以开始打包后端代码。如果未成功也不用灰心,检查报错,是否关于mysql,redis的(如果是,则可能是这两个没有在你的服务器上配置好或者刚才修改的信息出错了,例如账号,密码不对,或者远程连接未成功,导致本机无法远程访问等等),如果是关于8080端口,可能是由于你本机有程序以及占用了8080端口,这个基本上就不是什么问题,部署到服务器后只要服务器8080端口可用就行。接下来可以直接打包代码。

file

(6)打包后端代码jar包

熟练使用java的人可以直接通过InteliJ IDEA或者eclipse软件打jar包。不熟悉的有第二种方法,是若依提供的。进入下载的项目文件夹中的bin目录下,直接双击执行package.bat,它会直接在项目中生成target文件夹,里面包含以及打包好的jar包。我们要使用的是ruoyi-admin文件夹下的target里的jar包。运行package.bat需要marven环境>=3.0,自行参考网上方法按照。如下图操作顺序:

file

file

file

file

file

将这个ruoyi-admin.jar包上传至服务器,可继续存于刚才建的project目录中。

6.后端部署

(1)再此修改nginx配置文件(nginx.conf),添加后端信息。proxy_pass中空余的部分填服务器ip地址,别忘了上面是location /prod-api/。修改后别忘了重启nginx服务,用上面刚才提到的命令。

file

修改未prod-api是由于前端发送请求的时候就是通过这个接口来发送的

file

nginx配置文件nginx.conf的整体示意图(包括前端和后端配置修改的所有地方):

file

file

(2)远程连接服务器,进入project目录,后台启动jar包:

nohup java -jar ruoyi-admin.jar &

7.成功部署效果

用浏览器访问”ip:前端端口号“:

输入验证码登录后成功进入后台:

file

本文转自:https://blog.csdn.net/weixin_44248258/article/details/124213606

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • linux安装nodejs【详细教程】

    一 下载node包 先看一下官网 https nodejs org en download 下载 Node js 中文网 nodejs cn 二 将node包放到linux上 1 解压 xff1a tar xvf node v14 15 1
  • python爬虫beautifulsoup详细教程

    BeautifulSoup4是爬虫必学的技能 BeautifulSoup最主要的功能是从网页抓取数据 xff0c Beautiful Soup自动将输入文档转换为Unicode编码 xff0c 输出文档转换为utf 8编码 Beautifu
  • 将 Word 转换为 Markdown格式 【详细教程】

    文章目录 前言 下载安装Writage Word Markdown 下载安装Pandoc 再次Word Markdown总结 提示 xff1a 以下是本篇文章正文内容 xff0c 学习内容将会持续更新 前言 俗话说 好记性不如烂笔头 在我们
  • 在MATLAB中手动安装MinGW64详细教程

    在MATLAB中手动安装MinGW64详细教程 话题背景 针对MATLAB官方License限制附件安装的问题 xff0c 可以尝试线下手动自行安装 部分版本的Matlab由于License到期问题或者破解版限制 xff0c 已无法获得Ma
  • Centos7—2003下安装mysql8.0.28详细教程

    首先使用xftp上传mysql的linux压缩包 然后使用解压命令tar xvf mysql 8 0 28 1 el7 x86 64 rpm bundle tar 具体步骤如下 严格按照安装顺序安装 切记切记 root 64 localho
  • 腾讯云短信服务(详细教程-Django框架、API接口)实现

    今天和大家分享如何实现短信服务 xff0c 以腾讯云服务为例 目录 一 准备工作 二 短信服务接口开发 2 1 服务配置 2 2接口开发 三 测试短信服务 四 结束语 一 准备工作 腾讯云短信服务会发放免费的个人认证短信和赠送短信总共200
  • 云服务器部署前后端分离项目(若依)详细教程

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 第一次在Linux云服务器上部署前后端分离项目 xff0c 查了很多资料和视频 xff0c 踩了许多坑 成功实现部署若依的前后端分离项目后 xff0c 想记录一下前后端部署的过程 xff
  • 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程

    ROS安装指南 目录 ROS安装指南 前言 一 配置Linux清华镜像源1 1 介绍1 2 开始配置 二 安装ROS2 1 ROS的介绍2 1 开始安装 xff1a 配置公钥2 2 系统更新2 3 安装ROS 三 配置ROS3 1 初始化r
  • Linux安装Docker详细教程

    文章目录 Docker架构环境说明安装步骤阿里云镜像加速Docker底层原理 Docker架构 镜像 xff08 image xff09 Docker 镜像 xff08 Image xff09 就是一个只读的模板 镜像可以用来创建 Dock
  • Linux下安装Anaconda3详细教程

    简介 Anaconda是一个开源的包 环境管理器 xff0c 可以用于在同一个机器上安装不同版本的软件包及其依赖 xff0c 并能够在不同的环境之间切换 Anaconda包括Conda Python以及一大堆安装好的工具包 xff0c 比如
  • VScode 详细教程

    一 VScode 安装 VScode 官网地址 xff1a https code visualstudio com 你也可以打开下载页面 https code visualstudio com download xff0c 下载想要的格式包
  • python爬虫beautifulsoup详细教程

    BeautifulSoup4是爬虫必学的技能 BeautifulSoup最主要的功能是从网页抓取数据 xff0c Beautiful Soup自动将输入文档转换为Unicode编码 xff0c 输出文档转换为utf 8编码 Beautifu
  • 【玩转Jetson TX2 NX】(四)TX2 NX安装TensorFlow GPU(详细教程+错误解决)

    1 关于更新源 卖家提供的资料不推荐换源 xff0c 原因 xff1a Jetson TX2 NX 采用的是 aarch64 架构的 Ubuntu 18 04 2 LTS 系统 xff0c 与 AMD 架构的 Ubuntu 系统不同 xff
  • 【玩转Jetson TX2 NX】(六)TX2 NX DetectNet+板载摄像头实时检测目标(详细教程)

    1 DetectNet检测目标 首先进入到jetson inference的bin文件内 xff0c 命令如下 span class token builtin class name cd span jetson inference bui
  • MATLAB Simulink开发ROS无人车与机器人应用 详细教程

    引言 xff1a MATLAB在机器人中的应用 现在大多数机器人开发者都会选择ROS xff0c 在ROS整个框架下 调包 极其容易 很多ROS开发者热衷于 调包 来实现功能 xff0c 却难以在机器人学的理论知识上有所突破 MATLAB的
  • ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程

    文章目录 前言一 添加ROS软件源 xff08 sources list xff09 二 添加密钥三 更新apt功能包列表四 安装ROS五 初始化 rosdep六 将ROS环境变量添加到 bashrc文件中七 安装rosinstall等工具
  • ubuntu安装vscode详细教程

    ubuntuvscode安装后打不开问题 这个有个坑 xff0c 有的电脑一次成功 xff0c 有的安装不了 不要下载最新版本 xff0c 下载之前的旧版本 xff1a Visual Studio Code April 2020 注意ubu
  • 在VMware上安装Ubuntu详细教程

    目录 1 先下载好VMware Workstation Pro 2 下载Ubuntu系统镜像 3 在VMware新建虚拟机 4 开启虚拟机 xff0c 安装Ubuntu 这时我们发现由于窗口太小无法安装 作为全球最流行且最有影响力的Linu
  • Ubuntu 安装 ROS 详细教程

    最近需要用ROS控制一个小车底盘 xff0c 然后发现不会了 所以写一篇博客记录一下 xff0c 以便以后查阅 OS xff1a Ubuntu 20 04 ROS xff1a noetic 1 设置Ubuntu的软件和更新 在搜索框输入so
  • 联想ideapad700-15isk(小新线下版)黑苹果完美驱动附详细安装过程

    直接上安装的流程 欢迎大家关注我的个人博客 联想ideapad700 15isk 我的配置如下 前期准备 制作安装盘 盘符分配 设置U盘启动 开始安装 添加本地引导 安装完成进入设置 关于clover 划重点 2020年8月30日更新 20

随机推荐