如何在 ubuntu 上禁用 apache2 上的 varnish?

如何在 ubuntu 上禁用 apache2 上的 varnish?

我使用以下方式安装并设置了清漆本指南

基本上,我将端口改为 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 以便再次公开访问

相关内容