«

Nginx安装后找不到配置文件,编译安装路径

时间:2026-10-7 07:46     作者:emer     分类: 无


前言

编译安装 Nginx 后,想用 nginx 命令提示 command not found,找配置文件也找不到。这是因为编译安装的 Nginx 不在系统默认 PATH 里,路径和包管理器安装的不一样。

编译安装的默认路径

一般编译安装 Nginx,默认装在:

/usr/local/nginx/

目录结构:

/usr/local/nginx/
├── sbin/
│   └── nginx          # 主程序
├── conf/
│   ├── nginx.conf     # 主配置文件
│   ├── mime.types
│   └── fastcgi_params
├── html/              # 默认网站目录
└── logs/
    ├── access.log
    └── error.log

怎么确认安装路径

方法一:nginx -V

/usr/local/nginx/sbin/nginx -V

输出里 --prefix= 后面就是安装路径。

方法二:ps 命令看进程

ps aux | grep nginx

进程路径就是 Nginx 在哪。

把 nginx 加到 PATH

不想每次都输完整路径,加个软链接:

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

之后直接用 nginx 命令就行。

配置文件在哪

编译安装的配置文件在:

/usr/local/nginx/conf/nginx.conf

编辑:

vi /usr/local/nginx/conf/nginx.conf

常用命令

# 启动
/usr/local/nginx/sbin/nginx

# 重载
/usr/local/nginx/sbin/nginx -s reload

# 停止
/usr/local/nginx/sbin/nginx -s stop

# 检查配置
/usr/local/nginx/sbin/nginx -t

开机自启

编译安装的 Nginx 没有 systemd 服务,需要自己写:

vi /etc/systemd/system/nginx.service

内容:

[Unit]
Description=Nginx Web Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

然后:

systemctl daemon-reload
systemctl enable nginx
systemctl start nginx

常见坑

坑1:nginx: command not found

执行 nginx 提示找不到命令。

原因: 编译安装的不在 PATH 里。

解决: 加软链接,或者用完整路径。

坑2:改了配置不生效

改了 /etc/nginx/nginx.conf,但重载后还是老配置。

原因: 你改的是包管理器安装的配置文件,实际跑的是编译安装的。

解决: 用 nginx -t 确认一下实际加载的是哪个配置文件。

坑3:多个 nginx 共存

系统里同时有 yum 安装的和编译安装的 Nginx,不知道哪个在跑。

解决: 先停掉一个,再看进程。

坑4:日志找不到

日志不在 /var/log/nginx/。

原因: 编译安装的日志在自己的目录里。

解决: 看 nginx.conf 里的 error_log 和 access_log 配置。

总结

编译安装 Nginx 记住三个路径:

内容 路径
主程序 /usr/local/nginx/sbin/nginx
配置文件 /usr/local/nginx/conf/nginx.conf
日志 /usr/local/nginx/logs/

记住: 编译安装的和 yum 安装的路径不一样,别搞混了。

遇到问题加QQ23979811 协助处理

标签: Nginx 服务器 配置文件 编译安装 路径