瑞吉外卖项目优化

2023.8.6 瑞吉外卖项目-优化篇

介绍

对瑞吉外卖项目进行优化,实现MySQL数据库读写分离,Nginx服务器部署前端项目,实现反向代理,Redis数据库对数据进行缓存,三台服务器的需要实现的功能分别为:

本地的Linux服务器A(MySQL数据库-写操作,Nginx服务器-部署前端项目,配置反向代理)

本地的Linux服务器B(MySQL数据库-读操作,Tomcat服务器-部署后端项目,安装好git、maven、jdk)

阿里云轻量型服务器C(Redis数据库,做客户端的短信验证码和菜品查询数据的缓存)

一、实现数据库主从分离

详情请看2023.8.4 使用docker拉取MySQL镜像,配置MySQL读写分离

二、在服务器A中实现Nginx服务器部署前端项目,进行反向代理

  1. 首先创建Nginx服务器,详见2023.8.5使用docker 安装Nginx服务器

  2. 关闭Nginx服务器,进入conf.d中配置default.conf文件

    1. location ^~ /api/ {

      1
      2
       rewrite \^/api/(.\*) /1 break;  
      proxy\_pass http://服务器B的ip地址:8080;

      }

  3. 将dist文件夹通过finalshell上传到/tomato/nginx/html 文件夹中

  4. 启动nginx

三、在服务器B中部署后端程序

  1. 安装好jdk、git、maven

  2. 新建/usr/local/javaapp目录

  3. 在idea中修改图片存储位置
    reggie:

    1
    path:/usr/local/img/
  4. 使用finalshell上传img文件夹到 /usr/local/img

  5. 在idea中使用maven打包出jar,并用finalshell上传到/usr/local/javaapp中

  6. 使用nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_take_out.log &命令运行java程序

  7. 使用 ps -ef|grep java 查看java程序是否运行起来

四、设置防火墙

  1. 分别在服务器A和B进行一下操作

    1. 开放端口
      firewall-cmd –zone=public –add-port=80/tcp –permanent
      firewall-cmd –zone=public –add-port=8080/tcp –permanent
    2. 重启防火墙
      firewall-cmd –reload
    3. 查看端口是否开启
      firewall-cmd –zone=public –list-ports
      看到 80/tcp 8080/tcp 表示开放成功

五、输入 http://服务器Aip:8080 即可访问