:::info 视频演示 https://www.bilibili.com/video/BV1MR4y1p7cf/ :::
nginx 配置
cat > nginx.conf << EOF
#默认为nobody, 会返回 403 权限错误
user root;
#是否显示文件目录 on显示 off 关闭显示
autoindex on;
# 显示文件确切大小 on 显示字节单位 off 显示出文件的大概大小,单位是KB或者MB或者GB
autoindex_exact_size on;
#默认为off,显示的文件时间为GMT时间 ;改为on后,显示的文件时间为文件的服务器时间
autoindex_localtime on;
#显示的字符集
charset utf-8,gbk;
# 让浏览器不保存临时文件
add_header Cache-Control no-store;
# 请求文件是下载而不是显示内容
# add_header Content-Disposition attachment;
#服务配置
server{
listen 80; # 监听端口 ,也可以加上IP地址,如,listen 127.0.0.1:8080;
#server_name _; #定义网站域名,可以写多个,用空格分隔。
#匹配规则,在server{}里可以有很多location配置段
#root/alias 是指定文件路径的两种方式 alias 相当于重定向路径
#使用alias,目录名后面一定要加“/”
location / { # location 后面跟的搜索路径
root /usr/share/nginx/file; #指定文件服务地址 这里的目录是 yml 文件里配置的映射目录
}
location /tmp { # 访问 IP:port/tmp
alias /tmp;
}
}
EOF
docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: "3.7"
services:
fileshare:
image: nginx:1.21.1-alpine
container_name: fileshare
restart: always
environment:
TZ: Asia/Shanghai
ports:
- 8080:80
volumes:
- $PWD/nginx.conf:/etc/nginx/conf.d/default.conf
- /data:/usr/share/nginx/file
EOF