首页 > 解决方案 > 配置 nginx 使其支持文件系统

问题描述

我在/root目录中,里面有一个名为testfolder的文件夹。在该文件夹中,我有一堆文件夹和子文件夹,我想将它们托管在 nginx 服务器上。我正在运行以下命令来启动我的 Nginx 服务器:

docker run --name file-server -v $(pwd)/testfolder:/app -p 8080:80 -d nginx

/etc/nginx/sites-available/default文件有以下内容:

    location /testfolder {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
            alias /root/testfolder/;
            autoindex on;
    try_files $uri $uri/ =404;
}

现在,当我启动服务器并点击 /testfolder 时,它给了我一个 403 错误

标签: linuxnginxwebservernginx-configfileserver

解决方案


使用 nginx 作为 Web 服务器来提供静态文件是一个不错的选择。

为了使静态文件可用,您需要将您的文件复制testfolder/usr/share/nginx/htmlnginx 映像中。之后,您将能够在浏览器的 8080 端口上看到文件。

码头工人命令: -

docker run -it --rm -d -p 8080:80 --name web -v ~/code/docker/testfolder:/usr/share/nginx/html nginx

为了访问静态文件列表视图中的目录,我们需要创建一个自定义的 nginx conf 文件并将其传递给 nginx 容器。

例如:- Docker 命令:-

docker run -it --rm -d -p 8080:80 --name web -v ~/code/nginx-static:/usr/share/nginx/html -v ~/code/nginx-static/default.conf:/etc/nginx/conf.d/default.conf nginx

default.conf:-

server{
    listen 80 default_server;
    listen [::]:80 default_server;
    location / {
        autoindex  on;
        root /usr/share/nginx/html;
    }
}


推荐阅读