如何解决Nginx服务器上的Magento 2 Varnish
已经成功安装了Varnish缓存,但是现在我尝试使用:systemctl status varnish-它给我一个错误无法获取套接字:80:地址已在使用中。
我已经使用netstat -plntu检查了套接字,看来这是问题所在:
206.189.99.109:80 0.0.0.0:* LISTEN 31889 / nginx:主用户
10.18.0.8:8080 0.0.0.0:* LISTEN 31889 / nginx:主用户
206.189.99.109:8080 0.0.0.0:* LISTEN 31889 / nginx:主用户
其中之一是Nginx:master正在端口80下运行。我试图更改nginx配置文件中的端口,但什么也没做。
如何或在何处将此端口更改为80?
解决方法
在nginx
中,您必须更改为保存您的虚拟主机配置的配置文件中的端口。
通常listen 80
在该文件中的某个位置。将其替换为listen 8080
。
对于varnish
,监听端口是systemd
配置文件的一部分。默认情况下,它托管在/lib/systemd/system/varnish.service
中,但应将其复制到/etc/systemd/system/varnish.service
。
在varnish.service
文件中,您会找到类似-a :6081
的字样,应将其替换为-a :80
。
对varnish.service
文件进行更改后,需要通过运行systemd
重新加载sudo systemctl daemon-reload
守护程序。
最后,这是使用nginx
提供的重启命令来重启varnish
和systemd
的问题。
这是为您完成所有操作的多合一命令:
sudo sed -i 's/80/8080/' /etc/nginx/sites-enabled/default
sudo cp -f /lib/systemd/system/varnish.service /etc/systemd/system/varnish.service
sudo sed -i 's/-a :6081/-a :80/' /etc/systemd/system/varnish.service
sudo systemctl daemon-reload
sudo systemctl restart nginx
sudo systemctl restart varnish
这些是我对这些命令的假设:
- 您的
nginx
虚拟主机配置文件为/etc/nginx/sites-enabled/default
- 您的
varnish
处于其现成的配置中,并且仍在端口6081
上监听
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。