Nginx 服务器上的 Magento 2 Varnish
Magento 2 Varnish on Nginx server
已成功安装 Varnish 缓存,但现在当我尝试使用:systemctl status varnish - 它给我一个错误 Could not get socket:80: Address already in use.
我已经使用 netstat -plntu 检查了套接字,问题似乎出在这里:
206.189.99.109:80 0.0.0.0:* 监听 31889/nginx: master
10.18.0.8:8080 0.0.0.0:* 监听 31889/nginx: master
206.189.99.109:8080 0.0.0.0:* 监听 31889/nginx: master
其中一个 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
文件进行更改后,您需要通过 运行 sudo systemctl daemon-reload
.
重新加载 systemd
守护进程
最后,需要使用 systemd
提供的重新启动命令重新启动 nginx
和 varnish
。
这是为您完成所有这些的 all-in-one 命令:
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
vhost 配置文件是 /etc/nginx/sites-enabled/default
- 您的
varnish
在其 out-of-the-box 配置中,并且仍在侦听端口 6081
已成功安装 Varnish 缓存,但现在当我尝试使用:systemctl status varnish - 它给我一个错误 Could not get socket:80: Address already in use.
我已经使用 netstat -plntu 检查了套接字,问题似乎出在这里:
206.189.99.109:80 0.0.0.0:* 监听 31889/nginx: master
10.18.0.8:8080 0.0.0.0:* 监听 31889/nginx: master
206.189.99.109:8080 0.0.0.0:* 监听 31889/nginx: master
其中一个 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
文件进行更改后,您需要通过 运行 sudo systemctl daemon-reload
.
systemd
守护进程
最后,需要使用 systemd
提供的重新启动命令重新启动 nginx
和 varnish
。
这是为您完成所有这些的 all-in-one 命令:
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
vhost 配置文件是/etc/nginx/sites-enabled/default
- 您的
varnish
在其 out-of-the-box 配置中,并且仍在侦听端口6081