• Centos服务器部署前后端项目


    准备工作

    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
    
    • 1
    • -x选项表示解压缩
    • -v选项表示在解压缩时显示详细信息
    • -f选项指定要解压缩的文件名
    • -C选项指定解压缩后的目标目录。

    3. 修改配置

     cd /usr/local/
     #修改文件名
     mv mysql-8.3.0-linux-glibc2.28-x86_64 mysql
    ...
    
    • 1
    • 2
    • 3
    • 4

    4. 启动服务

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

    另一种方法Docker

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

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    本地连接成功

    部署后端

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2. 启动

    # 创建镜像
    docker build -t springboot .
    docker run -p 8081:8081 --name spring-container -d springboot
    docker logs spring-container
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    -blog.csdnimg.cn/direct/fb3c3917ad864ff2aa47d33ba18d5b0b.png)
    请求成功!


    注意:

    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"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2. 启动

    # 创建镜像
    docker build -t react-vehicle .
    #创建一个容器并启动,-d后台运行-p(主机端口:容器端口),react-vehicle镜像名
    docker run -dp 80:80 react-vehicle
    
    • 1
    • 2
    • 3
    • 4

    使用openresty启动

    1、安装openresty

    yum install yum-utils
    yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
    #安装
    yum install openresty
    
    • 1
    • 2
    • 3
    • 4

    2.安装openresty后

    #当前目录为打包后的文件
    cp * /usr/local/openresty/nginx/html
    #启动
    /usr/local/openresty/nginx/sbin/nginx
    
    • 1
    • 2
    • 3
    • 4

    config文件配置代理

    #/usr/local/openresty/nginx/conf/nginx.conf
    #配置代理
    location /api/ {
         proxy_pass http://121.41.123.xx:8081/;
    }
    location /uploads/ {
         proxy_pass http://121.41.123.xx:8081;
    }
    location / {
    	 #根据自己的路径
         root   /usr/local/openresty/nginx/html; 
         index  index.html index.htm;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    Spring Security是什么?(二)
    构建强大监控系统:使用Linux Zabbix和cpolar实现远程访问
    《量化投资以Python为工具》目录
    python小玩意——图片转素描
    C++入门(1)
    六、Spring Boot 整合 NoSQL(1)
    DDD与数据事务脚本
    c++:双指针的巧妙应用
    c/c++ 线程私有数据
    基于springboot+vue的线上教育系统(源码+论文)
  • 原文地址:https://blog.csdn.net/weixin_51277037/article/details/136276065