1、官网离线下载包方式
📦 一、准备离线安装包(在联网机器操作)
1. 下载 Nginx 源码包
访问 Nginx 官网,选择稳定版(如 nginx-1.26.3.tar.gz),下载并上传至 ARM 服务器。
2. 下载 ARM64 架构的依赖包
关键依赖包括:
- 编译工具链:GCC、G++
- 核心依赖库:
- OpenSSL
- PCRE
- Zlib
注意:具体 RPM 包需根据操作系统版本匹配,建议从官方源或本地仓库获取。
⚙️ 二、服务器环境配置(在 ARM 服务器操作)
1. 安装依赖包
将下载的 RPM 包上传至服务器,统一安装:
sudo rpm -ivh *.rpm --nodeps --force # 忽略依赖冲突强制安装
2. 验证依赖安装
gcc -v # 检查 GCC 版本
openssl version # 检查 OpenSSL
rpm -qa | grep pcre # 检查 PCRE
🛠️ 三、编译安装 Nginx
1. 解压并配置 Nginx
tar -zxvf nginx-1.26.3.tar.gz -C /opt
cd /opt/nginx-1.26.3
./configure --prefix=/opt/nginx --with-http_ssl_module # 指定安装路径并启用 SSL
注意:--prefix 路径需与后续启动脚本一致,避免路径错误。
2. 编译与安装
make # 编译源码
sudo make install # 安装至指定目录
🚀 四、启动 Nginx 及验证
1. 启动服务
/opt/nginx/sbin/nginx # 启动 Nginx
2. 验证是否成功
- 查看进程:
ps -aux | grep nginx - 访问测试:浏览器输入
http://服务器 IP:80,看到 Nginx 欢迎页即成功 - 检查日志:
/opt/nginx/logs/error.log(排查启动失败问题)
🔌 五、配置系统服务及开机自启
1. 创建 systemd 服务文件
sudo vi /etc/systemd/system/nginx.service
写入以下内容(路径根据 --prefix 调整):
[Unit]
Description=The NGINX HTTP server
After=network.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
2. 启用服务
sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx # 开机自启
⚠️ 六、避坑指南
- 路径一致性
./configure --prefix、nginx.service中的路径需完全一致,避免启动失败。
- 文件格式问题
- 若从 Windows 上传脚本,需转换格式:
vi /etc/systemd/system/nginx.service :set fileformat=unix # 解决^M 报错
- 若从 Windows 上传脚本,需转换格式:
- 依赖冲突处理
- 离线安装依赖时,
--nodeps --force可跳过依赖检查,但需确保包齐全。
- 离线安装依赖时,
- 权限问题
- 使用
sudo执行安装命令,避免权限不足。
- 使用
💎 总结
离线安装 Nginx 的关键在于提前下载 ARM64 专用依赖包,并确保编译路径与服务配置一致。通过 systemd 管理服务可简化运维操作。若遇到启动失败,优先检查 error.log 及路径配置。此方法适用于鲲鹏、飞腾等 ARM 架构服务器。
2、Docker 离线下载方式
下载镜像
注:以下操作需在联网环境中完成,随后将镜像导入离线服务器。
# 拉取 ARM64 架构镜像
docker pull nginx:latest
打包镜像
docker save -o nginx-latest-arm64.tar nginx:latest
加载镜像
docker load -i /path/to/nginx-latest-arm64.tar
启动
docker run -p 80:80 -p 443:443 --name nginx \
-v /shujupan/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /shujupan/nginx/html:/usr/share/nginx/html \
-d nginx:latest


