Featured image of post Nginx 部署文件服务器 🚀

Nginx 部署文件服务器 🚀

Nginx 部署文件服务器 🚀 📁 快速搭建高效稳定的文件共享服务,支持内网外网访问 &#

Nginx 部署文件服务器 🚀

📁 快速搭建高效稳定的文件共享服务,支持内网外网访问


✨ 功能特点

  • 🌐 多协议支持 - 同时支持HTTP和HTTPS访问
  • 📂 目录浏览 - 自动生成美观的文件目录列表
  • 🔒 安全加密 - 支持SSL/TLS加密传输
  • 🎨 主题定制 - 可自定义页面头部和底部
  • 📱 响应式设计 - 适配各种设备访问
  • 高性能 - 基于Nginx的高效静态文件服务

🛠️ 环境准备

1. Debian/Ubuntu 安装 Nginx

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 安装Nginx
sudo apt update && sudo apt install nginx -y

# 启动Nginx服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 验证安装
nginx -v

2. 检查服务状态

1
2
3
4
5
# 查看Nginx状态
sudo systemctl status nginx

# 测试配置文件语法
sudo nginx -t

🌐 带域名HTTPS文件服务

示例地址:https://wenjian.mobufan.eu.org:5553

📁 创建文件目录结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 创建文件分享目录
sudo mkdir -p /etc/nginx/wenjian
sudo chmod 755 /etc/nginx/wenjian

# 创建说明文件
sudo tee /etc/nginx/wenjian/文件说明.txt <<'EOF'
--------- 共享目录说明 ---------
文件分享目录:/etc/nginx/wenjian

终端查看命令:cd /etc/nginx/wenjian && ls
支持格式:所有文件类型直接下载
-------------------------------
EOF

# 查看创建的文件
cat /etc/nginx/wenjian/文件说明.txt

🔧 配置Nginx HTTPS文件服务

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 创建配置目录
sudo mkdir -p /etc/nginx/conf.d

# 创建配置文件
sudo tee /etc/nginx/conf.d/file.conf <<'EOF'
server {
    listen 666 ssl;
    server_name file.mobufan.eu.org;

    # SSL证书配置(需要提前获取证书)
    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # 文件服务配置
    location / {
        root /mnt/file;
        charset utf-8,gbk;
        
        # 启用目录列表
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
        
        # 文件下载设置
        if ($request_filename ~* \.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {
            add_header Content-Disposition 'attachment';
        }
    }
}
EOF

🔄 应用配置

1
2
3
4
5
6
7
8
# 测试配置文件
sudo nginx -t

# 重启Nginx服务
sudo systemctl restart nginx

# 查看服务状态
sudo systemctl status nginx

🏠 内网文件服务部署

示例地址:http://10.10.10.245:1515

📂 创建内网文件服务

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 创建内网文件目录
sudo mkdir -p /etc/nginx/wenjian
sudo chmod 755 /etc/nginx/wenjian

# 创建内网配置文件
sudo tee /etc/nginx/conf.d/internal.conf <<'EOF'
server {
    listen 1515;
    server_name localhost;

    location / {
        root /etc/nginx/wenjian;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
        charset utf-8,gbk;
        
        # 禁用缓存
        add_header Cache-Control no-store;
    }
}
EOF

🎨 高级美化配置

使用Fancyindex主题

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 创建主题目录
sudo mkdir -p /etc/nginx/theme/fancyindex

# 创建头部文件
sudo tee /etc/nginx/theme/fancyindex/header.html <<'EOF'
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>文件共享服务</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
    </style>
</head>
<body>
    <h1>📁 文件共享目录</h1>
    <hr>
EOF

# 创建底部文件
sudo tee /etc/nginx/theme/fancyindex/footer.html <<'EOF'
    <hr>
    <footer>
        <p>© 2024 文件共享服务 - Powered by Nginx</p>
    </footer>
</body>
</html>
EOF

美化配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
server {
    listen 80;
    server_name fileserver.local;
    
    root /mnt/files;
    
    # 美化索引配置
    fancyindex on;
    fancyindex_localtime on;
    fancyindex_exact_size off;
    fancyindex_name_length 255;
    fancyindex_header "/theme/fancyindex/header.html";
    fancyindex_footer "/theme/fancyindex/footer.html";
    fancyindex_ignore "theme";
    
    # 文件类型图标显示
    fancyindex_show_type on;
}

🔒 SSL证书配置

获取SSL证书

1
2
3
4
5
6
7
# 使用Let's Encrypt获取免费证书(需要域名)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com

# 或者手动配置证书目录
sudo mkdir -p /etc/nginx/ssl
sudo chmod 700 /etc/nginx/ssl

⚙️ 性能优化配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 在nginx.conf中添加优化配置
http {
    # 文件传输优化
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    
    # 连接超时设置
    keepalive_timeout 65;
    
    # 文件缓存设置
    open_file_cache max=1000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
    
    # Gzip压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml;
}

🚨 常见问题解决

1. 权限问题

1
2
3
# 设置正确的目录权限
sudo chown -R www-data:www-data /mnt/file
sudo chmod -R 755 /mnt/file

2. 端口冲突

1
2
3
4
5
# 查看端口占用
sudo netstat -tulnp | grep :666

# 修改防火墙规则
sudo ufw allow 666/tcp

3. 中文乱码

1
2
# 在配置中添加字符集设置
charset utf-8,gbk;

📊 监控与日志

1
2
3
4
5
6
7
8
# 查看访问日志
sudo tail -f /var/log/nginx/access.log

# 查看错误日志
sudo tail -f /var/log/nginx/error.log

# 实时监控连接数
sudo nginx -T | grep worker_connections

🔧 维护命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 重载配置(不中断服务)
sudo nginx -s reload

# 检查配置语法
sudo nginx -t

# 停止服务
sudo systemctl stop nginx

# 查看版本信息
nginx -V

💡 提示:部署完成后,建议定期备份配置文件,监控服务器资源使用情况,并及时更新Nginx版本以确保安全性。

Happy File Sharing! 🎉 祝您部署顺利!

最后更新于 2025-09-28