服务器配置Nginx做反向代理

以下是基于 Debian/Ubuntu 系统的完整操作步骤:

第一步:安装 Nginx

  1. 更新软件包列表:
sudo apt update
  1. 安装 Nginx:
sudo apt install nginx -y
  1. 启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx

第二步:配置反向代理

Nginx 的配置文件通常位于 /etc/nginx/sites-available/ 目录下。

  1. 创建配置文件
    建议为每个站点创建独立的配置文件,而不是修改默认文件。
    sudo nano /etc/nginx/sites-available/reverse-proxy.conf

  2. 输入配置内容
    将以下内容复制进去。这段配置会监听 80 端口,将 al.oiai.net 转发到 5244 端口,将 js.oiai.net 转发到 8096 端口。

        # 阿拉 (AList)
    server {
        # 监听 80 端口
        listen 80;
        # 绑定域名
        server_name al.oiai.net;

        # 反向代理设置
        location / {
            # 代理到内网服务器
            proxy_pass http://10.1.1.2:5244;
            
            # 以下参数通常用于传递真实 IP 和处理头信息,对于基础代理可保留
            proxy_set_header Host host;
            proxy_set_header X-Real-IP remote_addr;
            proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto scheme;
        }
    }

    # 聚索 (Jellyfin)
    server {
        # 监听 80 端口
        listen 80;
        # 绑定域名
        server_name jf.oiai.net;

        # 反向代理设置
        location / {
            # 代理到内网服务器
            proxy_pass http://10.1.1.2:8096;
            
            # 传递头信息
            proxy_set_header Host host;
            proxy_set_header X-Real-IP remote_addr;
            proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto scheme;
        }
    }
    
  1. 启用配置
    在 Debian/Ubuntu 中,需要将配置文件链接到 sites-enabled 目录才能生效。
    sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/

  2. (可选)删除默认配置
    如果你不需要 Nginx 的默认欢迎页,可以删除默认配置的链接:
    sudo rm /etc/nginx/sites-enabled/default

第三步:检查并重启 Nginx

  1. 检查配置语法
    在重启前,务必检查配置文件是否有语法错误,否则 Nginx 可能无法启动。
    sudo nginx -t

    如果看到 syntax is ok 和 test is successful,说明配置正确。

  2. 重启 Nginx
    sudo systemctl restart nginx

💡 针对 0.5G 内存的优化建议

虽然 Nginx 很轻,但在 512MB 内存下,如果并发访问量稍大,仍可能 OOM。建议微调 Nginx 配置以降低内存占用。

编辑主配置文件:
sudo nano /etc/nginx/nginx.conf

找到 worker_processes 这一行,将其改为:
worker_processes 1;
(默认通常是 auto,但在单核低配机上设为 1 更稳妥)

同时,确保 events 块中的连接数不要太高:
events {
worker_connections 512; # 默认通常是 768 或 1024,改为 512 节省内存
}

保存后再次执行 sudo nginx -t 和 sudo systemctl restart nginx 即可。