当前位置: 代码网 > 服务器>服务器>Linux > 使用Nginx来共享文件的详细教程

使用Nginx来共享文件的详细教程

2025年01月11日 Linux 我要评论
在本教程中,我们将向您展示如何使用开源 web 服务器 nginx 设置文件共享服务器步骤 0 — 连接到你的服务器ssh -i <ssh-key> <user>@

在本教程中,我们将向您展示如何使用开源 web 服务器 nginx 设置文件共享服务器

步骤 0 — 连接到你的服务器

ssh -i <ssh-key> <user>@<server-ip>

第 1 步 - 安装 nginx

在此步骤中,我们将安装 nginx,它是将为您的用户提供文件的 web 服务器。
首先,更新服务器的软件包索引并安装 nginx:

sudo apte update
sudo apt install nginx

确认安装后,apt 将安装 nginx 和所有必需的依赖项。
安装完成后,您可以通过输入以下命令检查 nginx 是否正在运行:

如果在输出中看到绿色活动(正在运行),则表示 nginx 正在运行并能够在启动时自动启动。

第 2 步 - 配置 nginx

在此步骤中,我们将配置 nginx 以从服务器上的目录提供文件。

首先,创建一个目录来存储文件。我使用的是单独的磁盘,文件夹位于根目录,名为public_files

我通常会去那里cd /mnt/public_files/files

接下来,我们将在目录中创建一个新的服务器块配置文件etc/nginx/sites-available。我们将以您的域名命名该文件。

sudo nano /etc/nginx/sites-available/files.<your_domain>

请注意files,这里没有必要使用普通域名,因为我有多个子域名,所以我会这样使用它。

现在将以下配置添加到文件中。

server {
    server_name files.<your_domain_name>;
    root <the_directory_you_created>;

    location / {
        autoindex on;
        try_files $uri $uri/ =404;
    }

}

your_directory此配置告诉 nginx在有人访问您的域名时从目录中提供文件。并添加autoindex以将此目录内的每个文件显示为项目列表。

完成后保存并关闭文件。

接下来,我们将通过从文件到 sites-enabled 目录创建符号链接来启用服务器块配置,nginx 在启动期间从中读取:

sudo ln -s /etc/nginx/sites-available/files.<your_domain> /etc/nginx-sites-enabled/

接下来,输入以下命令测试 nginx 配置是否存在语法错误:

如果没有报告错误,请重新加载 nginx 以应用更改:

sudo systemctl reload nginx

第 3 步 - 上传文件

在此步骤中,我们将文件上传到您的服务器。您可以使用 sftp 协议将文件上传到您的服务器。如果您使用的是 mac 或 linux 计算机,则可以使用 sftp 命令行工具。

首先,使用 sftp 连接到您的服务器。

sftp <your_username>@<your_server_ip>

注意,在连接之前,您可能需要创建一个简单的文件,仅用于测试目的,例如touch example.txt

现在我们可以使用命令put将文件从本地机器插入到远程服务器

现在知道如何做到这一点,您可以通过 ssh 连接将该文件移动到您有 nginx 自动索引的文件夹中并共享您的 url!

这是最终结果

您可以拥有一个简单的文件服务器主机,以便随时随地从任何设备下载这些重要文件,我通常会在那里更新我的简历、一些书籍和我想教给别人的东西。nginx 很棒,所以使用它吧!

到此这篇关于使用nginx来共享文件的详细教程的文章就介绍到这了,更多相关nginx共享文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com