Blog

Blog

PHODAL

Varnish Nginx 多站点配置

继之前讲述《Amazon Linux Varnish 3 配置》,也简单地记录一下Nginx Varnish 3多站会的配置。

开始之前

你可能需要参考一下之前Varnish的安装部分,一个简单的映射关系如下图所示:

Varnish Nginx Multiple Site
Varnish Nginx Multiple Site

当请求的域名是nginx1.phodal.com 就转向本地的8081端口,交由nginx来处理。

当请求的域名是nginx2.phodal.com 就转向本地的8082端口,交由nginx来处理。

Nginx Varnish 3站点配置

Nginx 多站点简单配置示例

A站的配置如下,端口用的是8081

server {
  listen 8081;
  server_name nginx1.phodal.com;
  index index.html index.htm;

  root /home/www/nginx1;

}

A站的配置如下,端口用的是8082

server {
  listen 8082;
  server_name nginx2.phodal.com;
  index index.html index.htm;

  root /home/www/nginx2;

}

这样我们只需要在我们的defaulct.vcl指向上述的域名就可以了。

Varnish 多站点配置

backend nginx1 {
  .host = "127.0.0.1";
  .port = "8081";
}

backend nginx2 {
  .host = "127.0.0.1";
  .port = "8082";
}

sub vcl_recv {
    if (req.http.host ~ "nginx1.phodal.com") {
        set req.http.host = "nginx1.phodal.com";
        set req.backend = nginx1;
    } else if (req.http.host == "nginx2.phodal.com") {
        set req.http.host = "nginx2.phodal.com";
        set req.backend = nginx2;
    }
}

当然一个真正的配置是不会这么简单地。。

重启nginx,varnish服务

Nginx重新载入配置

测试Nginx语法是否正确

 nginx -t

Nginx可以用

  /etc/init.d/nginx reload

重新载入配置

 service nginx reload

或者重启,只需要将上面的reload改为restart

Varnish重新载入配置

测试Varnish语法是否正确

varnishd -C -f /etc/varnish/default.vcl

可以直接用命令

varnish_reload_vcl

也可以用和nginx一样的方法

 service varnish restart

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签