docker-compose 创建nginx
version: '3'
services:
nginx-web:
image: nginx:1.23.4
container_name: nginx-web
environment:
# 时区上海
TZ: Asia/Shanghai
ports:
- "88:80"
- "443:443"
volumes:
# 证书映射
- /home/dockerdata/nginx/cert:/etc/nginx/cert
# 配置文件映射
- /home/dockerdata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
# 页面目录
- /home/dockerdata/nginx/html:/usr/share/nginx/html
# 文件服务地址
- /home/images:/usr/share/nginx/images
# 日志目录
- /home/dockerdata/nginx/log:/var/log/nginx
privileged: true
network_mode: "host"
restart: always
使用 /home/images
作为本地文件路径
/usr/share/nginx/images
为容器文件路径
ngnix.conf 配置
因为我们要存放文件的路径为 /usr/share/nginx/images
/images/
为访问前缀ip:port/images/
/usr/share/nginx
为 配置的文件地址 拼在一起就是/usr/share/nginx/images
最简单的配置 可以访问 具体文件 例如 ip:port/images/abc.jpg
location /images/ {
# 这一行 访问文件
root /usr/share/nginx; # docker映射路径
}
带目录功能配置
location /images/ {
# 这一行 访问文件
root /usr/share/nginx; # docker映射路径 不允许更改
# 下面的不加也可以 加了 有目录功能 。 不加下面访问 ip:port/images/ `报403 Forbidden` ,但是可以访问 ip:port/images/abc.jpg
autoindex on; # 开启索引功能
autoindex_exact_size on; # 开启计算文件确切大小(单位bytes),不只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; # 显示本机时间而非 GMT 时间
client_max_body_size 100m; # 设置最大上传文件大小
dav_methods PUT; # 允许处理 PUT 请求
create_full_put_path on; # 创建完整的路径
dav_access group:rw all:r; # 设置文件权限
}