TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)
  • 适用于Ambari2.8.0-el7

  • 适用于Ambari3.0.0-ubuntu22.04

    • Step0—源码包下载
    • Step1—基础环境准备
    • Step3—安装JDK17与JDK1.8
    • Step4—时间同步(Chrony)
    • Step5—Nginx安装
      • 1. 为什么选 Nginx 做静态仓库?
      • 2. Nginx 安装(Ubuntu 22.04 专用)
        • 2.1 安装命令
        • 2.2 检查版本
      • 3. 仓库目录与权限配置
        • 3.1 创建静态仓库根目录
        • 3.2 授权目录访问
      • 4. Nginx 静态仓库配置
        • 4.1 新建仓库专用配置文件
        • 4.2 移除默认站点配置
      • 5. 启动并验证 Nginx 服务
        • 5.1 启动和自启动设置
        • 5.2 检查运行状态
        • 5.3 访问测试
      • 6. 运维与常见问题
        • 6.1 403 Forbidden/无法访问目录
        • 6.2 文件或目录不可见
        • 6.3 端口防火墙设置
    • Step6—本地apt源
    • Step7—Mariadb初始化
    • Step8—AmbariServer初始化
    • Step9—Ambari Web UI 初始化安装
    • [快速安装]—脚本极速部署
  • 适用于Ambari3.0.0-el7

  • 适用于Ambari3.0.0-el8

  • 常规安装
  • 适用于Ambari3.0.0-ubuntu22.04
JaneTTR
2025-07-01
目录

Step5—Nginx安装

在大数据或私有云环境下,经常需要自建本地仓库,用于托管 DEB 包、离线二进制、补丁文件、容器镜像等。 Nginx 以高性能、低资源占用和目录索引能力,成为 Ubuntu 下构建本地仓库的首选。

# 1. 为什么选 Nginx 做静态仓库?

  • 更轻量,性能高:优于 Apache httpd,系统资源占用小
  • 默认支持目录索引:无需额外插件,直接浏览/下载所有静态文件
  • 部署简单,易于维护:一条命令即可安装,配置简洁明了
  • 灵活适配:可支持 DEB、RPM、二进制、容器镜像、ISO、Python 包等多种仓库场景

# 2. Nginx 安装(Ubuntu 22.04 专用)

# 2.1 安装命令

sudo apt update
sudo apt install -y nginx
1
2

警告

与 RedHat/CentOS 完全不同!Ubuntu 下必须用 apt 安装 Nginx,不要用 yum、dnf 或 epel-release。

# 2.2 检查版本

nginx -v
1

看到 nginx version: nginx/1.x.x 即为成功。

# 3. 仓库目录与权限配置

# 3.1 创建静态仓库根目录

sudo mkdir -p /data/modules
1

# 3.2 授权目录访问

sudo chmod -R 755 /data/modules
sudo chown -R www-data:www-data /data/modules
1
2

警告

Ubuntu 默认 Nginx 运行用户为 www-data,不是 nginx!目录属主必须为 www-data,或至少有全员读/执行权限,否则 Nginx 会报 403 Forbidden。

# 4. Nginx 静态仓库配置

# 4.1 新建仓库专用配置文件

sudo vim /etc/nginx/conf.d/local_repo.conf
1

内容示例:

image-20250718165132972

server {
    listen 80 default_server;
    server_name _;

    location / {
        root /data/modules;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    error_page 404 /404.html;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 访问 http://your-server-ip/ (opens new window) 即可看到 /data/modules 下的所有文件和目录。

  • 可根据需求添加 HTTPS、账号认证等安全措施。

# 4.2 移除默认站点配置

sudo mv /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.bak
1

警告

Ubuntu Nginx 默认站点配置在 /etc/nginx/sites-enabled/default,不是 /etc/nginx/conf.d/default.conf(RedHat/CentOS 路径),如不禁用会显示欢迎页或冲突!

# 5. 启动并验证 Nginx 服务

# 5.1 启动和自启动设置

sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable nginx
1
2
3

提示

nginx -t 检查配置语法是否正确,务必执行,避免配置出错导致服务无法重启。

# 5.2 检查运行状态

sudo systemctl status nginx
1

状态为 active (running) 即正常。

# 5.3 访问测试

  • 浏览器访问 http://your-server-ip/,可看到 /data/modules 下的全部内容和包文件。

  • 或命令行验证:

    curl -I http://localhost/
    
    1

    返回 HTTP/1.1 200 OK 表示服务正常。

image-20250718165520616

# 6. 运维与常见问题

# 6.1 403 Forbidden/无法访问目录

警告

最常见原因为目录权限或属主不对,务必确保 /data/modules 为 www-data 或其它有读权限,检查命令:

ls -ld /data/modules
1

# 6.2 文件或目录不可见

  • 检查 Nginx 是否有权限递归访问所有父级目录
  • 确保 autoindex on; 配置无误
  • 没有 SELinux,无需 chcon、restorecon 操作

警告

Ubuntu 22.04 默认没有 SELinux,无需做任何 SELinux 权限设置(不要用 chcon 或 restorecon),这与 RedHat/CentOS 完全不同。

# 6.3 端口防火墙设置

  • 如启用 UFW:

    sudo ufw allow 80/tcp
    
    1
  • 公网环境请按实际安全策略放行端口

#Nginx#Ubuntu22.04#本地仓库#自动化部署#静态服务
Step4—时间同步(Chrony)
Step6—本地apt源

← Step4—时间同步(Chrony) Step6—本地apt源→

最近更新
01
bigtop-select 打包缺 compat 报错修复 deb
07-16
02
bigtop-select 打包缺 control 文件报错修复 deb
07-16
03
首次编译-环境初始化 必装
07-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式