我的服务器上正在运行 nginx,但错误地在服务器上启用了 apache2。执行此操作后,我的主页上出现 403 Forbidden 错误。
我杀死了 apache2 进程,但仍然面临同样的问题。
Nginx 没有运行,但我的主页上有这个。
403 Forbidden
nginx/1.0.12
我使用 ps aux | grep nginx 检查了 nginx 是否正在运行,得到的结果如下:
root 27740 0.0 0.0 3408 764 pts/1 R+ 20:16 0:00 grep --color=auto nginx
我执行了 lsof -Pi | grep LISTEN,没有进程在 80/443 或我的 Web 端口上监听
而且 /etc/init.d/nginx 不存在...
似乎没有安装 nginx,但是我收到了 nginx/1.0.12 的 403 错误。
答案1
当您说它没有在您的服务器上运行时,输出是什么:
ps 辅助 | grep nginx(有任何进程正在运行吗?)
[root@msweb01 ~] $ ps aux | grep "^nginx"
nginx 24214 0.0 0.2 1037044 40580 ? S Mar07 0:00 php-fpm: pool default-webnode-check
...
nginx 30379 0.0 0.0 60336 4524 ? S 11:18 0:04 nginx: worker process
lsof -Pi | grep LISTEN(有任何进程在监听 80/443 或您的网络端口吗?)
[root@msweb01 ~] $ lsof -Pi | grep LISTEN
nginx 1046 root 13u IPv4 35851146 0t0 TCP msweb01.dev:81 (LISTEN)
php-fpm 24212 root 7u IPv4 31168887 0t0 TCP localhost:9001 (LISTEN)
nginx 30377 nginx 13u IPv4 35851146 0t0 TCP msweb01.dev:81 (LISTEN)
/etc/init.d/nginx 状态(取决于您的系统 initd 脚本)
[root@msweb01 ~] $ /etc/init.d/nginx status
nginx (pid 1046) is running...
正如迈克尔·汉普顿所说,我首先尝试:
/etc/init.d/nginx 重启为了正确地冲击该 nginx 服务器,然后根据您在 nginx.conf 和相关配置中设置的日志选项,我会跟踪它们并找出您的 Web 请求的去向。
我可能完全错了,但最近我在测试(并因此交换)apache 和 nginx 时遇到了类似的事情,其中 Apache/PHP 已将模板配置缓存写入文件系统,然后启动 nginx(运行正常且按预期工作)后在访问 dame 模板时抛出错误,因为 nginx 用户无权访问/更新模板缓存。无论如何,可能有些东西需要注意。