一步步教你使用Nginx来共享文件

37 阅读3分钟

在本教程中,我们将向您展示如何使用开源 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 很棒,所以使用它吧!