苍穹外卖|第一篇

        前言:我通过第一轮的苍穹外卖写完了,现在新的知识增加了一点,现在想用新知识来写一下,也可以巩固旧知识。

        我先想到的是用docker部署在我的虚拟机,虚拟机部署mysql,nginx,redis使用本机连接用idea写代码对他增删改查。

环境:VMware,centos7,MobaXterm(用来连接虚拟机),idea2023,Navicat Premium 16,Another Redis Desktop Manager

一、docker compose部署

        1、centos7能上网

         主要是为了固定ip地址,后面好连接nginx,redis,mysql服务,具体可以看文章【centos7快速连接上网

可以ping通外网说明成功,并且要牢记自己设置的ip地址,试试本机能不能ping的通虚拟机。

        2、安装docker

具体看文章【docker安装配置镜像源】,直接拉到后面看,国内镜像源经常会失效,可以直接百度主要是修改地址。

发现自己的镜像源没加速了以后需要自己去百度更换,主要是更换下面红色框住的代码。并且检查自己的docker是否安装好。

        3、镜像安装mysql,,redis,nginx

docker pull mysql
docker pull redis
docker pull nginx

jdk的话最好自己去用自己的版本,去官网下载合适自己jdk版本 

        4、docker compose部署

        在root路径下创建一个data文件夹 

mkdir data

文件路径 

 

4.1 nginx

把苍穹外卖的前端项目拉进来。下面是我自己的路径

注意conf文件夹只需要nginx.conf文件就好了


 

因为需要网络互通所以要查询自己本机的虚拟机网络是什么 打开cmd用 ipconfig /all 来查询Vmnet8的地址,主要是用来修改nginx.conf文件

修改刚刚自己复制进去虚拟机的nginx.conf文件

#修改成你自己的地址
upstream webservers{
	  server 192.168.111.101 weight=90 ;
	  #server 127.0.0.1:8088 weight=10 ;
	}


#路径和我一样的话可以照抄
    location / {
            # root   html/sky;
            # index  index.html index.htm;
            root   /usr/share/nginx/html/sky;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;

        }
#修改成你自己的地址

location /api/ {
			proxy_pass   http://192.168.111.101:8080/admin/;
            #proxy_pass   http://webservers/admin/;
        }

4.2 mysql

        在mysql文件夹分别创建conf,data,init 只需要在init里面放苍穹外卖给我们提供的sql文件,也是就是在苍穹外卖day01中的数据文件sky_take_out.sql

        

4.3 redis

        在redis文件夹中创建data和redis.conf,打开redis.conf,生成文件redis.conf,redis有密码设置,没密码就不用设置密码

#持久化存储
appendonly yes
#设置redis密码
requirepass 123456

     4.4 最后使用docker compose来部署

        docker-compose.xml文件内容

version: '3.8'

networks:
  sky:
    name: sky

services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
    # 设置宿主机的映射端口
      - "8080:80"
    volumes:
      - /root/data/html:/usr/share/nginx/html
      - /root/data/conf/nginx.conf:/etc/nginx/nginx.conf
    networks:
      - sky
    depends_on:
      - redis

  redis:
    image: redis:latest
    container_name: redis
    ports:
    # 设置redis宿主机的映射端口
      - "6380:6379"  
    volumes:
      - /root/data/redis/redis.conf:/etc/redis/redis.conf
      - /root/data/redis/data:/data
    command: redis-server /etc/redis/redis.conf
    environment:
      - TZ=Asia/Shanghai
    networks:
      - sky
    restart: unless-stopped

  mysql:
    image: mysql:latest
    container_name: mysql
    ports:
     # 设置mysql宿主机的映射端口
      - "3306:3306"  
    environment:
      - TZ=Asia/Shanghai
      # 设置mysql的密码
      - MYSQL_ROOT_PASSWORD=root
    volumes:
      - /root/data/mysql/data:/var/lib/mysql
      - /root/data/mysql/conf:/etc/mysql/conf.d
      - /root/data/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - sky
    restart: unless-stopped

cd ./data
docker compose up -d

查看自己部署的容器 docker ps -a

 

验证是否成功:

redis  :host填写自己的虚拟机ip地址  我刚刚设置的是6380端口,待会要指定

mysql :host填写自己的虚拟机ip地址

nginx:打开本机浏览器输入 IP地址+端口号

我的是 192.168.111.100:8080 成功看见 完成,接下来就可以redis数据和mysql数据就可以写在虚拟机了

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值