我使用以下方式安装并设置了清漆本指南
基本上,我将端口改为 8080,
我想禁用 varnish,所以我想我会改回端口 80,就这样,varnish 正在监听 8080,
事实是我编辑了:
sudo nano /etc/apache2/ports.conf:
#Listen 80
NameVirtualHost 127.0.0.1:80 # it was 8080
Listen 127.0.0.1:80 # it was 8080
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
然后,sudo nano /etc/apache2/sites-available000-default.conf:
<VirtualHost *:80> # it was 8080
问题是在重新启动 apache2 时,我收到此错误
* Stopping HTTP accelerator varnishd [ OK ]
* Starting HTTP accelerator varnishd [ OK ]
root@funcook:/etc/apache2/sites-available# sudo service apache2 restart
* Restarting web server apache2 AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:6
(98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
所以我改回 8080 并重新启动 apache,没有出现任何错误,
知道我这里遗漏了什么吗?
谢谢!
答案1
看来 varnish 正在监听 80 端口。
你可以通过以 root 身份发出以下命令来检查:
netstat -natpe |grep 80
查看端口是否正在使用。
如果是,你必须停止上光(如果是使用端口 80 的清漆 - 最有可能 -)或者更改它的端口然后重新启动。
换句话说,指南中写道:
sudo nano /etc/default/varnish
取消注释“DAEMON_OPTS”下的所有行(在替代方案 2 下),并使配置与以下代码匹配:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
-a 选项表示 varnish 正在监听哪个端口……并且是 80,两个服务不可能在同一个端口上打开套接字。
讨论完这个问题我们发现应该回滚ip端口文件也一样,因为指南要求将其更改为监听 127.0.0.1,而不是任何公共接口。指南说:
sudo nano /etc/apache2/ports.conf
将 NameVirtualHost 和 Listen 行的端口号都更改为端口 8080,虚拟主机应该只能从本地主机访问。配置应如下所示:
名称虚拟主机 127.0.0.1:8080 监听 127.0.0.1:8080
应回滚至 Listen *:80 或 Listen :80 以便再次公开访问