为什么我仍然在Nginx上看到一个Apache网站?


22

我安装了nginx然后安装了apache2,一段时间后我删除了apache2。几周后,我在访问时注意到一些奇怪的事情http://localhost:nginx处理该请求,但是当我键入IP地址或网络中的任何人键入IP时,将导致apache2页面加载,表明它可以正常工作。

我清除并删除了Apache,但仍然无法摆脱这个问题,尝试重新安装并再次清除然后重新启动。有什么问题的想法吗?

PS我的计算机仍然无法识别apache2已安装,即使我手动搜索它们也找不到所有Apache文件和二进制文件。

root@elite-HP-Pro3500-G2-MT-PC:/home/elite# whereis apache2
apache2:
root@elite-HP-Pro3500-G2-MT-PC:/home/elite# sudo service apache2 start
Failed to start apache2.service: Unit apache2.service failed to load: No such file or directory.
root@elite-HP-Pro3500-G2-MT-PC:/home/elite# sudo apt-get purge apache2 apache2-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'apache2' is not installed, so not removed
Package 'apache2-utils' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.

由于技术原因,该apache2程序包只是依赖于其他程序包的元程序包。您也必须删除相关软件包才能删除二进制文件。
奥利(Oli)

我已经搜索过/ user / sbin和/ user / bin,但找不到,您知道二进制文件可能位于的其他位置吗?@Oli
新手,

请参阅我针对这个问题针对我提出的问题的答案。
奥利(Oli)

@Oli我已经按照该教程删除了apache2,但它仍然以某种方式存在,并且我发现仅当我使用回送(本地主机)以外的任何东西时,它才会重定向到apache2,但是如果我使用a本地主机nginx的工作原理
新手,2015年

您确定它实际上是由Apache提供服务的,而不只是默认的Apache安装附带的默认站点文件(在/ var / www中),现在由ngninx托管吗?听起来就是那样。如果没有,我将跟踪htop正在运行的服务器,并找出正在运行的服务器。
奥利(Oli)

Answers:


26

即使完全删除了apache2,您仍将拥有其“默认站点”文件/var/www/。默认情况下,Nginx将尝试为其无法匹配的网站提供这些文件或这些文件的自身版本。您可以在中看到全部内容/etc/nginx/sites-available/default

您所看到的是设计使然,这是出乎意料的。

要修复此问题,您可以编辑或删除默认站点...或更改其中的文件/var/www/以更好地满足您的需求。如果要取消默认设置,可以删除/etc/nginx/sites-available/default。这只是一个符号链接,因此,如果要还原它,可以使用:

sudo ln -s /etc/nginx/sites-{available,enabled}/default

并记住在进行配置更改后重新加载:

sudo service nginx configtest  # make sure the config is good before reloading!
sudo service nginx reload

1
哇-没猜到 在阅读本文之前,尝试过与Apache的各种玩法!
Anupam
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.