nginx源码安装后需创建软链接至/usr/local/bin/nginx以实现全局调用,推荐使用/usr/local/bin而非/usr/bin或系统核心路径,并通过ln -sf命令建立链接、验证版本及path配置。

Nginx 源码安装后,默认的 nginx 可执行文件通常位于安装目录的 sbin/ 子目录下(比如 /app/nginx-1.12.2/sbin/nginx),它不在系统 $PATH 中,所以无法直接在任意位置执行 nginx 命令。做软链接,就是把该二进制文件“映射”到一个系统默认能识别的路径(如 /usr/bin/nginx 或 /usr/local/bin/nginx),实现全局调用。
软链接目标路径选哪个更合理
优先选 /usr/local/bin/ 或 /usr/bin/:
-
/usr/local/bin是用户自行安装软件的标准位置,多数发行版默认将其纳入$PATH -
/usr/bin权限更严格,部分系统(如 CentOS 7+)要求 root 权限且需确认不与系统包冲突 - 避免用
/bin或/sbin(属系统核心路径,易引发权限或升级风险)
创建软链接的具体操作
确保 nginx 已成功编译安装(例如装在 /app/nginx-1.12.2/),然后执行:
# 查看实际 nginx 二进制文件位置(确认存在) ls -l /app/nginx-1.12.2/sbin/nginx # 创建软链接(推荐用 /usr/local/bin) sudo ln -sf /app/nginx-1.12.2/sbin/nginx /usr/local/bin/nginx # 验证是否生效 nginx -v # 应输出版本号,如 nginx version: nginx/1.12.2 which nginx # 应返回 /usr/local/bin/nginx
⚠️ 注意
-f参数:强制覆盖已存在的同名链接,避免报错;-s表示 symbolic link(软链接)
如果链接后仍提示 command not found
检查 $PATH 是否包含目标目录:
echo $PATH | grep -o '/usr/local/bin' # 若无输出,临时补上(仅当前会话有效) export PATH="/usr/local/bin:$PATH" # 永久生效可写入 /etc/profile 或 ~/.bashrc(推荐前者供所有用户使用) echo 'export PATH="/usr/local/bin:$PATH"' >> /etc/profile source /etc/profile
启停命令就绪后常用操作
软链接生效后,即可直接使用标准命令:
- 启动:
nginx - 重载配置:
nginx -s reload - 平滑停止:
nginx -s stop - 检查配置:
nginx -t
不需要再输入完整路径,也不依赖当前所在目录。
不复杂但容易忽略路径和权限细节。











