前言:计算机是门科学,不要蛮干,懂了原理,懂了60%
/etc/ngix/conf.d/default.conf
events {
worker_connections 1024; ## Default: 1024
}
http{
client_max_body_size 1000m;
server {
listen 80;# 与外界保持监听的映射端口
server_name all;
location / {
proxy_set_header Host $http_host;
proxy_pass http://192.168.5.8:9001/;# 一点监听端口启动,立刻调用这里的代理,调用被代理的应用
}
}
}
上图的结构,是一目了然的固定写法,这是nginx的配置文件,放在/etc/nginx/conf.d下面,请自行修改适用
version: "3"
networks:
nn:
ipam:
driver: default
config:
- subnet: "192.168.5.0/24"
services:
minio:
image: minio/minio
hostname: "minio"
expose:
- 9000 # api 端口
- 9001 # 控制台端口
environment:
MINIO_ACCESS_KEY: admin #管理后台用户名
MINIO_SECRET_KEY: admin123 #管理后台密码,最小8个字符
volumes:
- ./minio:/data #映射当前目录下的data目录至容器内/data目录
- ./minio/config:/root/.minio/ #映射配置目录
command: server --console-address ':9001' /data #指定容器中的目录 /data
privileged: true
restart: always
networks:
nn:
ipv4_address: "192.168.5.8"
nginx:
image: nginx:1.19.2-alpine
hostname: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- "80:80"
depends_on:
- minio
networks:
nn:
ipv4_address: "192.168.5.9"
我要配置的是在docker中启动nginx和minio两个容器,nginx作为minio的代理。
用户在宿主机浏览器访问80 端口,nginx一旦监听到动静,立刻条用proxy访问minio的9001端口
不要写9000
通俗的说,minio不用对外暴露端口,只需要exopose开放9001给nginx就行,而niginx的监听端口80:80也就搞定。
现在打开浏览器,localhost:80,立马访问了minio server主页
试问,反向代理是个啥意思?
按理说nginx是给应用设置的代理服务,但是应用哪能自己发起服务干各种事情呢,必须通过用户主动发起请求,所以说本来为应用准备的服务反过来为用户所用,这就叫反向了
害~~其实都一样