当前位置: 首页 > news >正文

Centos服务器部署前后端项目

目录

  • 准备工作
    • 1. 准备传输软件
    • 2. 连接服务器
  • 部署Mysql
    • 1.下载Mysql(Linux版本)
    • 2. 解压
    • 3. 修改配置
    • 4. 启动服务
    • 另一种方法Docker
  • 部署后端
    • 1. 在项目根目录中创建Dockerfile文件写入
    • 2. 启动
  • 部署前端
    • 1. 在项目根目录中创建Dockerfile文件写入
    • 2. 启动

准备工作

1. 准备传输软件

下载WinSCP用于传输
WinSCP下载地址

2. 连接服务器

在这里插入图片描述

部署Mysql

1.下载Mysql(Linux版本)

Mysql8下载地址

下载完成后通过WinSCP传输至服务器

2. 解压

tar -xvf mysql-8.3.0-linux-glibc2.28-x86_64.tar.xz  -C /usr/local
  • -x选项表示解压缩
  • -v选项表示在解压缩时显示详细信息
  • -f选项指定要解压缩的文件名
  • -C选项指定解压缩后的目标目录。

3. 修改配置

 cd /usr/local/#修改文件名mv mysql-8.3.0-linux-glibc2.28-x86_64 mysql
...

4. 启动服务

[root@iZ2zefyktv92zomf8sbocfZ mysql] cd /usr/local/mysql/support-files
# 启动
[root@iZ2zefyktv92zomf8sbocfZ support-files] ./mysql.server start

另一种方法Docker

#获取 MySQL Docker 镜像:
docker pull mysql:8.0
# 创建 MySQL 容器
docker run --name mysql-container -dp 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
# 进入容器内部
docker exec -it mysql-container mysql -u root -p

docker run 用于创建指定镜像和启动新的容器实例,
而 docker exec -it 用于在已经运行的容器内执行命令。

导入本地sql文件(或者本地连接再导入)
由于容器是独立的, 在容器内部找不到本地路径所以采用以下方法:

# 1将sql文件复制到 MySQL 容器内部:
docker cp /root/reso/car.sql   mysql-container:/car.sql
#将 car.sql 文件复制到名为 mysql-docker 的 MySQL 容器内部的根目录。# 2. 进入 MySQL 容器
docker exec -it mysql-container bash#3.在容器内部执行以下命令:
mysql -u root -p vehicle_system < /car.sql

在这里插入图片描述
本地连接成功

部署后端

1. 在项目根目录中创建Dockerfile文件写入

#Dockerfile
# 运行时环境的基础镜像
FROM openjdk:17-jdk
ENTRYPOINT ["java", "-jar", "/app.jar"]
#暴露
EXPOSE 8081
ARG JAR_FILE
COPY vehicle.jar app.jar
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

2. 启动

# 创建镜像
docker build -t springboot .
docker run -p 8081:8081 --name spring-container -d springboot:1.0
docker logs spring-container

请求成功
请求成功!


注意:

  1. 报错显示java找不到
    在这里插入图片描述
    设置正确的镜像源FROM openjdk:17-jdk
  2. 报错显示jar找不到
    设置正确的路径

部署前端

1. 在项目根目录中创建Dockerfile文件写入

Dockerfile
FROM nginx:alpine# 将当前目录下的所有文件复制到容器中的 /usr/share/nginx/html 目录
COPY . /usr/share/nginx/html# 暴露容器的 80 端口
EXPOSE 80# 容器启动时运行的命令
CMD ["cd  /usr/sbin/", "./nginx"]

2. 启动

# 创建镜像
docker build -t react-vehicle .
#创建一个容器并启动,-d后台运行-p(主机端口:容器端口),react-vehicle镜像名
docker run -dp 80:80 react-vehicle
http://www.lryc.cn/news/306947.html

相关文章:

  • 【初始RabbitMQ】延迟队列的实现
  • spark为什么比mapreduce快?
  • Unity通过XXpermission插件获取MANAGE_EXTERNAL_STORAGE权限
  • 「连载」边缘计算(二十一)02-26:边缘部分源码(源码分析篇)
  • Unity(第四部)新手组件
  • 【JS】【Vue3】【React】获取鼠标位置的方法:JavaScript、Vue 3和React示例
  • [Docker 教学] 常用的Docker 命令
  • 小程序应用、页面、组件生命周期
  • Springboot中如何记录好日志
  • vm 虚拟机中ubuntu环境配置共享文件夹的方式
  • EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成
  • 安全架构设计理论与实践
  • SQL注入漏洞解析--less-46
  • 【算法与数据结构】回溯算法、贪心算法、动态规划、图论(笔记三)
  • 【pytorch】常用代码
  • GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)
  • 图片录入设备、方式与质量对图片转Excel的影响
  • Linux:ACL权限,特殊位和隐藏属性
  • FL Studio21中文版本价格多少?值不值得购买?
  • 【论文阅读】ICCV 2023 计算和数据高效后门攻击
  • JavaAPI常用类03
  • SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别
  • 【深度学习目标检测】十九、基于深度学习的芒果计数分割系统-含数据集、GUI和源码(python,yolov8)
  • 骑砍战团MOD开发(48)-多人联机模式开发环境搭建
  • Java+SpringBoot+Vue+MySQL:美食推荐系统的技术革新
  • 【服务发现--ingress】
  • Yolov8有效涨点:YOLOv8-AM,添加多种注意力模块提高检测精度,含代码,超详细
  • 苹果分拣检测YOLOV8NANO
  • 使用 Verilog 做一个可编程数字延迟定时器 LS7211-7212
  • 戏说c语言文章汇总