使用docker ngix搭建文件服务器

按照https://www.jianshu.com/p/1e648adaaa5c执行,记录一下过程

在服务器上创建文件夹

[root@guest ~]# mkdir file_server
[root@guest ~]# cd file_server/

在文件夹里创建两个文件

[root@guest file_server]# cat file.conf
log_format  p_access.log  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server
    {
        listen       8000;  # 监听 8000 端口,按需求也可以配置一个前台服务器作子域名转发
        index index.html default.html; # 默认首页文件
        root  /var/www/file;   #文件服务器的根路径

        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;

        charset utf-8;

                # 这里配置拒绝访问的目录或文件
        location ~ (repos)
        {
            deny all;
        }

                # 静态文件的过期时间,可以不需要此配置
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

                # 静态文件的过期时间,可以不需要此配置
        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
                 # 这里很重要! 将日志转发到 /dev/stdout ,可以通过 docker logs -f  来查看容器日志
        access_log  /dev/stdout;
    }
[root@guest file_server]#
[root@guest file_server]#
[root@guest file_server]# cat create_file_server.sh
#!/usr/bin/env bash

if [ ! -d './data' ]
then
    mkdir data
fi

docker run -dit --name files0 \
--restart always \
-p 3002:8000 \
-v $PWD/file.conf:/etc/nginx/conf.d/file.conf \
-v $PWD/data:/var/www/file \
-w /var/www/file \
nginx
[root@guest file_server]#
[root@guest file_server]# chmod +x create_file_server.sh
[root@guest file_server]#

运行脚本,启动nginx docker

[root@guest file_server]# ./create_file_server.sh
306d2b5452be8bbc3ef29f03e584d794a0868c3f37c6452a87f092e8325cb520
[root@guest file_server]#
[root@guest file_server]# docker ps | grep nginx
306d2b5452be        nginx                                  "/docker-entrypoint.…"   9 minutes ago       Up 9 minutes        80/tcp, 0.0.0.0:3002->8000/tcp   files0
[root@guest file_server]#

文件放入data文件夹

[root@guest file_server]# ll
total 12
-rwxr-xr-x. 1 root root  258 Jul  3 01:56 create_file_server.sh
drwxr-xr-x. 2 root root 4096 Jul  3 01:57 data
-rw-r--r--. 1 root root 1246 Jul  3 01:55 file.conf
[root@guest file_server]#
[root@guest file_server]# cp ../downloads/R2003-1.tar.gz data/
[root@guest file_server]#
[root@guest file_server]# ll data
total 1269820
-r-x---r--. 1 root root 1300289667 Jul  3 01:57 R2003-1.tar.gz
[root@guest file_server]#

打开Web http://[your_IP]:3002

使用docker ngix搭建文件服务器_第1张图片

本地用axel多线程下载

# axel -n 20 http://:3002/R2003-1.tar.gz

你可能感兴趣的:(Linux)