Nginx报could not build the server_names_hash的解决方法

今天在我的pcDuino上搭建了Nginx服务器,添加了第二个域名,结果nginx -t的时候报错了:

[emerg] 2468#0: could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

后来看了nginx.conf,发现里面设置server_names_hash_bucket_size的语句:

server_names_hash_bucket_size 64;

被注释掉了,将前面的#去掉就行了。

最后查了下找到http://www.cnblogs.com/zhxlsuyu/archive/2012/06/11/2545289.html

保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.

设置网站为主页和添加到收藏夹的代码(改进版本)

之前发过一篇博文叫做《设置网站为主页和添加到收藏夹的代码》,后来发现在谷歌和火狐下都没办法使用。于是今天写一篇提高支持这两种浏览器兼容性的代码,即便如此,谷歌浏览器还是需要使用ctrl+D来解决这个这个问题,但是至少还是alert出来提示用户,做到了user friendly。

 js代码包含两个函数AddFavorite和SetHome,看函数名就知道它们要实现什么了,代码如下:

<script language = "JavaScript" >
<!–
//添加收藏夹
function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    } catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        } catch (e) {
            alert("加入收藏失败,请使用Ctrl+D进行添加");
        }
    }
}

//设为首页
function SetHome(obj, vrl) {
    try {
        obj.style.behavior = 'url(#default#homepage)';
        obj.setHomePage(vrl);
    } catch(e) {
        if(window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            } catch (e) {
                alert("此操作被浏览器拒绝!\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true',双击即可。");
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage', vrl);
        }
    }
}

–>
</script>

以下是HTML的调用代码:

<a style="line-height:200%;cursor:pointer" target=_top onclick="javascript:AddFavorite('http://www.tonitech.com','Tony的技术空间什么都有!')">加入收藏 </a>

<a style="line-height:200%;cursor:pointer" onClick="javascript:SetHome(this,'http://www.tonitech.com')"> 设为首页</a>

 以上便是设置网站为主页和添加到收藏夹的代码,记得把我的 www.tonitech.com 改成你自己的网站,收藏夹代码后面的内容记得改成自己网站的标语哦!

设置网站为主页和添加到收藏夹的代码

单击链接设为主页的代码:

<a style="line-height: 200%" href='#' onClick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.tonitech.com');">设为首页</a>

单击添加到收藏夹的代码:

<a style="line-height: 200%" target=_top href="javascript:window.external.addFavorite('http://www.tonitech.com','Tony的技术空间什么都有!');">加入收藏</a>

以上便是设置网站为主页和添加到收藏夹的代码,记得把我的 www.tonitech.com 改成你自己的网站,收藏夹代码后面的内容记得改成自己网站的标语哦!

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=528

Linux Shell 脚本中字符串的连接方法

如果想要在变量后面添加一个字符,可以用一下方法:

$value1=home
$value2=${value1}"="
echo $value2

把要添加的字符串变量添加{},并且需要把$放到外面。

这样输出的结果是:home=,也就是说连接成功。

在MFC中添加消息响应(给初学者看的)

        本人也是MFC的初学者,今晚在做MFC的过程中遇到了一个问题,就是如何使静态文本响应滑块移动的消息,经过学习,方法如下:

        在目标Dialog框中(是整体不是个别控件)按右键,选择“事件”,“Class or object to handle:”选择Dialog整体的名字,选择WM_HSCROLL,按“确定”就行了。在块中添加自己的语句就行了。

我加入的是

void MyDialog1::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
   if(pScrollBar->GetDlgCtrlID()==IDC_SLIDER1)
   {
    CSliderCtrl* pSlide=(CSliderCtrl*)pScrollBar;
    CString strText;
    strText.Format("%d",pSlide->GetPos());
    SetDlgItemText(IDC_STATIC1,strText);
   } 
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

在OnInitDialog()中加入了

BOOL MyDialog1::OnInitDialog()
{
CString strText;
CSliderCtrl* cc = ((CSliderCtrl*)GetDlgItem(IDC_SLIDER1));
cc->SetRange(15,30);
cc->SetPos(20);
strText.Format("%d",cc->GetPos());
SetDlgItemText(IDC_STATIC1,strText);
}

这样就完成了!

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=29