如何使用Nginx泛域名解析+反向代理+静态资源缓存呢?

  • 安装nginx,安装过程不再赘述,记得带上pcre、gzip、sub、status这几个模块,另外如果想开通在线清理缓存功能,需要安装ngx_cache_purge这个第三方模块。
  • 删除nginx.conf中默认的server段,此操作不做你会让你抱憾终身。
  • 将以下代码插入nginx.conf尾部,-t测试-s reload重启即可。
#定义缓存的临时目录以及缓存存储目录
proxy_temp_path /data/temp;
proxy_cache_path /data/cache levels=1:2 keys_zone=cache_one:32m inactive=1d max_size=3g;
server
{
listen 80;
#接收泛域名解析,务必保证在这之前没有其他server段干扰。
server_name _;
root /tmp;
access_log off; #匹配出对应域名
if ( $host ~* (.*)\.(.*)\.(.*))
{
set $domain $1;
} location /
{
#定义所使用的缓存以及缓存的目录结构。
proxy_cache cache_one;
proxy_cache_valid 200 304 12h;
proxy_cache_key $host$uri$is_args$args;
#下面这条灰常重要,告知upstream源服务器所要请求的域名是什么。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#把请求扔给upstream,然后等着领赏吧。
proxy_pass http://jp0129;
proxy_set_header Accept-Encoding "";
expires 1d;
}
location ~ .*\.(php)?$
{
#动态请求不缓存
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jp0129;
proxy_set_header Accept-Encoding "";
}
}
upstream jp0129
{
server 106.187.51.139;
}

大功告成,根据自身情况上机器,每台部署一个nginx即可,在域名管理中把vcs.xxx.com直接A记录几条轮询,配合一个小脚本来实现检测各个节点是否存活,节点宕掉就直接通过dnspod的api修改vcs.xxx.com的解析记录,剔除无效节点即可。

Nginx实现简易泛域名CDN节点的更多相关文章

  1. Nginx server_name 正则泛域名反向代理两例

    最近在学习Nginx搭建负载均衡系统,感觉系统部署方式的思路瞬间开阔了很多. 负载均衡服务器的后端服务器上各自有一套功能相同的WEB管理系统,主要作用是方便的对各自服务器的IIS站点及服务器防火墙测量 ...

  2. Nginx+certbot 实现泛域名的https证书

    yum -y install git git clone  https://github.com/certbot/certbot cd certbot ./certbot-auto certonly ...

  3. Nginx多虚拟主机下泛域名配置

    http://www.tuicool.com/articles/F3Azuq 近上一个应用,让用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名.  首先来说说nginx下的泛域名配置 ...

  4. 安装简易OpenShift单节点并配置DNS泛域名

    1 楔子 公司有个项目部署在 OpenShift 容器云平台上,出现问题较多,于是萌生在公司环境搭建现场仿真环境,由于资源没有生产环境多,就使用单节点简单模拟下 本文主要内容包括以下: 使用 Dnsm ...

  5. Let's Encrypt泛域名使用和Nginx配置拆分

    上一期写了 使用Let's Encrypt实现网站https化 ,随着二级域名的增多,每个二级域名需要一张 SSL 证书,这可太不优雅了,泛域名表示我可以更优雅. 作者:IT王小二 博客:https: ...

  6. Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写

    最常见的: 静态地址重定向到带参数的动态地址 rewrite "^(.*)/service/(.*)\.html$" $1/service.php?sid=$2 permanent ...

  7. Nginx Rewrite 实现匹配泛域名规则

    Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru ...

  8. 申请 Let’s Encrypt 泛域名证书 及 Nginx/Apache 证书配置

    什么是 Let’s Encrypt? 部署 HTTPS 网站的时候需要证书,证书由 CA (Certificate Authority )机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于 ...

  9. lets encrypt 申请nginx 泛域名

    1. 安装certbot工具 wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto 2. 申请通配符域名 ./certbot-au ...

随机推荐

  1. js中如何去获取外部css样式

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  2. tomcat 实例

    现在举一个tomcat应用的例子: 我们现在安装一个jenkins, jenkins的安装方式有两种: 一种是war包的安装方式 另一种是:把下载的安装war包放在tomcat的webapps目录下 ...

  3. 【BZOJ 3669】【NOI 2014】魔法森林 LCT+枚举边

    $LCT+枚举$ 复习一下$LCT$模板. 先以$Ai$为关键字$sort$,然后$Ai$从小到大枚举每条边,看能否构成环,构不成则加边,构成则判断,判断过了就切断$Bi$最大的边. 我的边是编号为$ ...

  4. servlet注解@PostConstruct与@PreDestroy

    从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的vo ...

  5. 绑定: x:Bind 绑定, x:Bind 绑定之 x:Phase, 使用绑定过程中的一些技巧

    背水一战 Windows 10 之 绑定 x:Bind 绑定 x:Bind 绑定之 x:Phase 使用绑定过程中的一些技巧 示例1.演示 x:Bind 绑定的相关知识点Bind/BindDemo.x ...

  6. dede使用方法---用js让当前导航高亮显示

    当前导航高亮显示能够提升用户体验,我也知道,大家在网上搜dede让当前导航高亮显示的方法一抓一大把,但是,并不一定适合自己的需求.就像我的需求一样,导航有个二级导航,然后需要做到让当前导航高亮显示.我 ...

  7. 【uoj147】NOIP2015—斗地主

    http://uoj.ac/problem/147 (题目链接) 题意 打牌... Solution 其实很简单的搜索,当年还是太年轻了.稍微想一想,顺子肯定是要先打掉的,因为顺子所包含的牌最多,所以 ...

  8. UOJ264 【NOIP2016】蚯蚓

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  9. C# winform窗体设计-对数据库执行增删改操作

    对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类       ...

  10. 文件内容统计——Linux wc命令

    有了该命令,就可以得到当前目录下所有符合条件的文件总数,如下: find -type f | wc -l 这个命令的功能也很好记,因为它功能很有限: wc -c filename:显示一个文件的字节数 ...