
8081에서 Nginx를 사용하려고 하는 동안 포트 8080에서 Apache 뒤의 포트 80에서 Varnish를 수신하는 설정이 있습니다. 내 vps의 제어판은 Apache만 지원하지만 Nginx의 VPS에서 호스팅한 사이트 중 하나를 테스트하고 싶습니다. , Varnish가 이미 80에 있으므로 동일한 포트에 Nginx를 사용할 수 없습니다.
내 vps 제어판에 액세스하려면 Apache가 여전히 필요하기 때문에 Apache를 완전히 제거하고 싶지 않습니다.센토라Apache가 8080의 어느 위치에 있는지 정확하게 말하면. 질문에여기, OP는 Apache에서만 서로 다른 IP에 두 개의 서로 다른 도메인을 갖고 싶었으므로 실제로 도움이 되지 않습니다.
또한 내 VCL에서 지시문을 사용하는 방법에 대해 어딘가에서 읽었지만 server.port
어떻게 해야 할지 잘 모르겠습니다. 내 모습은 다음과 같습니다 default.vcl
.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
추신: 아직 Nginx를 설치하지 않았습니다.
답변1
여기서는 Varnish에 추가 백엔드를 설정하고 여기에 일부 요청을 라우팅하려고 합니다.
먼저 Nginx에 대한 새 백엔드를 추가합니다.
backend nginx {
.host = "127.0.0.1";
.port = "8081";
}
그런 다음 일부 요청을 라우팅할 수 있습니다. 이는 일반적으로 vcl_recv
서브루틴에서 수행됩니다. 예를 들어 Sentora가 도메인을 통해 액세스되는 경우 sentora.example.org
:
sub vcl_recv {
if (req.http.host ~ "(?i)^sentora.example.org$") {
# Route requests to sentora.example.org to the old Apache backend.
set req.backend = default;
} else {
# Everything else to nginx.
set req.backend = nginx;
}
}