make install 是源码编译安装 Nginx 的最后一步,仅负责将已编译好的文件(如 nginx 可执行文件、配置模板、静态页等)按 --prefix 指定路径复制到目标目录并创建标准目录结构(sbin、conf、html、logs 等),不参与编译,也不启动服务或配置系统环境。

make install 是源码编译安装 Nginx 的最后一步,它不负责编译,只负责把已编译好的文件复制到指定位置,并建立目录结构。
make install 前提条件
必须已完成以下步骤:
- 安装好依赖包(gcc、pcre-devel、zlib-devel、openssl-devel 等)
- 运行过 ./configure 并成功生成 Makefile 文件(检查当前目录下是否存在 Makefile)
- 执行过 make,完成全部模块和主程序的编译(objs/ 目录下应有 nginx 可执行文件)
执行 make install 的作用
该命令依据 configure 阶段指定的 --prefix 路径,创建标准 Nginx 目录结构,并拷贝对应文件:
- 可执行文件 nginx → 放入 prefix/sbin/(如 /usr/local/nginx/sbin/nginx)
- 配置模板 → 放入 prefix/conf/(含 nginx.conf.default)
- 静态资源页 → 放入 prefix/html/(含 index.html、50x.html)
- 日志目录与临时路径 → 按 configure 中 --http-log-path、--http-client-body-temp-path 等参数创建
常见操作示例
假设 configure 时用了:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
那么执行:
- make install —— 默认按 prefix 创建完整目录树并复制文件
- 若想跳过某些子目录(如不复制 html 文件),需在 configure 时加 --without-http_ssi_module 等开关,而非在 make install 阶段控制
- 安装后检查:ls -l /usr/local/nginx 应能看到 conf、html、logs、sbin 等子目录
注意事项
make install 不会自动启动服务,也不修改系统 PATH 或创建 systemd 单元文件。它只是完成「部署」动作:
- 没有 root 权限会因目标目录不可写而失败(通常需 sudo 或以 root 身份运行)
- 如果 prefix 指向已存在目录,不会清空旧内容,仅覆盖同名文件
- 若 configure 时未指定用户/组(如 --user=nginx),安装后需手动调整 sbin/nginx 的属主权限才能安全运行


















