IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    实时本地调试线上页面

    潘魏增发表于 2011-07-27 22:35:11
    love 0

    关于在线本地调试的方法,玉伯的文章《在线本地调试大观》已经分析叙述非常全面了。这里提供另外一种思路,供前端工程师们参考。我觉得可能是最简单的方式,也容易扩展。

    这个思路是使用ngnix来作普通的正向代理。配置如下:

    server {
        listen       8000; #监听端口,这里监听8000
        #server_name  localhost;
        resolver 8.8.8.8; #域名解析服务器
        location / { 
            #这里指定本机代码仓库的静态文件目录,这里不设置就是直接取线下服务器的文件
            root   /Users/xp/projects/meituan.www/static;
            #取消默认文档
            #index  index.html index.htm;
            #如果访问的是文件夹,就是找默认文档,代理到原地址去找
            if ($request_uri ~* \/$ ){
                proxy_pass http://$http_host;
            }
            #如果目标url对应的文件没找到,就代理到原地址去找
            if (!-e $request_filename) {
                proxy_pass http://$http_host;
            }
            #如果对应的host是CDN服务器,就代理到线下的CDN测试服务器,以下的s1是一个意思
            if ($http_host = s0.meituan.net){
                proxy_pass http://s0.xpmt.meituan.com;
            }   
            if ($http_host = s1.meituan.net){
                proxy_pass http://s1.xpmt.meituan.com;
            }   
            #如果对应的host是Combo服务器,就代理到线下的Combo服务器
            if ($http_host = c.meituan.net){
                proxy_pass http://c.xpmt.meituan.com;
            }
        }
    }

    浏览器如Firefox/Chrome/IE等设置代理服务器为localhost,端口为8000即可。

    线下服务器使用的是Git仓库中的代码,实时调试线上页面,如果测试OK了,即可push到远程仓库立即部署上线。

    TODO:

    1. Mac系统安装nginx以及相应的设置
    2. 相关代码截图演示


沪ICP备19023445号-2号
友情链接