Linux离线安装Nginx详细全过程及避坑

[复制链接]
发表于 2026-10-3 15:41:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Linux 离线安装 Nginx 全过程与避坑要点

很多企事业单位内网的 Linux 服务器不连外网,没法直接 yum 装包,只能提前在网上把 rpm 包下好传上去手动装。Nginx 依赖的包又多,离线安装最容易卡在"缺依赖"这一步。下面把流程和几个真实的坑过一遍。

一、依赖准备

Nginx 需要的依赖基本就四个:gcc、pcre、zlib、openssl。

1.1 gcc

gcc 本身就由多个 rpm 组成,通常十来个包,可以从阿里云镜像站的 CentOS 7 OS 包目录里下载齐了再传上去,用一条命令装:

rpm -Uvh *.rpm

1.2 另外三个

openssl、pcre、zlib 从各自官网拿源码包即可:

  • openssl:https://www.openssl.org/source/
  • pcre:http://www.pcre.org/
  • zlib:http://www.zlib.net/

源码包装法统一三步:解压、配置、编译安装。

tar -xvf XXX
cd XXX
./configure
make && make install

二、安装 Nginx

从 Nginx 官网 https://nginx.org/en/download.html 下稳定版(stable)的 Linux 源码包,别下 development 版。

把安装包传到服务器的某个目录,解压:

tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

三、最容易翻车的一个坑

./configure --prefix=/app/nginx

这里要特别注意目录关系:安装包 nginx-1.24.0.tar.gz 和解压出来的 nginx-1.24.0 都在 /app 同级目录,而 --prefix 指的是安装位置,是个新的 nginx 目录,configure 时不用建,安装后自动生成。

也就是说:Nginx 最终的安装目录不是解压出来的 nginx-1.24.0,而是 /app/nginx。如果不加 --prefix,默认装到 /usr/local/nginx,后面会报这种错:

cp: "conf/koi-win" 与 "/usr/local/nginx/conf/koi-win" 为同一文件

这是反复试出来的结论,老老实实按 --prefix 指定目录来。

四、编译安装与启动

make && make install
cd /app/nginx/sbin
./nginx            # 启动
./nginx -s stop    # 立即停止
./nginx -s reload  # 平滑重启(改配置后用它)

启动后在浏览器输入服务器地址,能看到 Nginx 欢迎页就说明装好了。

五、配置文件到底哪个生效

细心的人会发现:nginx 目录和 nginx-1.24.0 目录里都有个 conf 文件夹,改哪个有效?

答案:make install 执行时已经把配置文件复制到了 /app/nginx/conf,只有 /app/nginx/conf 里的配置才生效。解压目录里的那份只是源码自带的原始模板。

为了避免后面搞混,装完直接把 nginx-1.24.0 目录删掉,只留 nginx,实测没问题。

六、离线安装的通用流程

  1. 在一台同版本能联网的机器上,用 yum install --downloadonly 或复制已装机器的包目录,把 rpm 收集齐。
  2. 打包传到目标机,rpm -Uvh *.rpm 或 yum localinstall *.rpm(后者会自动补依赖)。
  3. 源码类依赖按"解压 → ./configure → make install"走。
  4. 验证:nginx -v 看版本,curl 本机IP 看欢迎页。

七、常见坑汇总

  • 装完 nginx 命令找不到:可执行文件在 /app/nginx/sbin/nginx,不在 PATH 里,加绝对路径或用软链接。
  • 启动时报 bind() to 0.0.0.0:80 failed:80 端口被占用,netstat -tunlp | grep :80 查是谁。
  • 改配置没生效:确认改的是 /app/nginx/conf/nginx.conf,然后 ./nginx -t 验语法,再 -s reload。
  • 依赖装一半失败:多半是包之间有版本冲突,rpm -Uvh 会留半装状态,装之前先把所有依赖包一次性传全。

小结

离线装 Nginx 的骨架是:收齐 gcc/pcre/zlib/openssl 依赖 → 传包 → 编译安装 → --prefix 指定安装路径 → 从 sbin 启动。真正的经验值就两条:--prefix 一定要写,写错了报"同一文件"的 cp 错误;改配置认准 /app/nginx/conf,安装完把解压目录删掉,少一半混乱。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表