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的提示,那么首要的是增大前一个参数的大小.

2. 开始学习Zend Framework(Apache虚拟主机的配置)

    在第1节中,我们可以打开http://localhost/你的项目目录/public/访问你的ZF工程,就对于开发来说,这样还是比较麻烦的,因为你每次开发的时候要记住这一大串的目录或者点击多次才能进入。对于服务器,好处是可以在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站,可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名。

    配置Zend Framework工程虚拟主机的步骤:

    1. 进入你的ZF工程目录下的docs文件夹,打开README.txt,复制类似以下的内容:

<VirtualHost *:80>
   DocumentRoot "D:/wamp/www/你的项目目录/public"
   ServerName .local

   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV development

   <Directory "D:/wamp/www/你的项目目录/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>

</VirtualHost>

在右下角的WAMP服务器图标上左击: 

wamp

打开Apache下的http.conf,然后将上面复制的那段内容黏贴到http.conf的最下面。你可以将内容里的“ServerName .local”修改成你想要的任何域名,比如我设置成:“ServerName www.tony.com”。

2. 进入你的C:\Windows\System32\drivers\etc这个目录,用记事本打开hosts,在里面添加一句:“127.0.0.1       www.tony.com”,这个域名就是上面的ServerName。 然后配置Apache的Rewrite模块,这个非常重要!左击WAMP服务器的图标->Apache->Apache模块,向下寻找rewrite_module,点击之后它前面打勾就解决问题了。

3. 最后一步就是重启服务器,左击WAMP服务器的图标->重新启动所有服务,然后在浏览器中输入你刚刚设置的域名,我的是www.tony.com,是不是就看到了你的Zend Framework工程的欢迎页面了呢?你如果用360安全浏览器打开的话,应该会提示危险信息,说域名重定向。

 

如果有疑问,请留言或者发送电子邮件联系博主Tony。

完善在WHOIS的账户信息

        很多人建立网站的时候,公司的想法都还没成熟,当时购买域名的时候的联系地址是你的家庭住址(我就是这样的),不过,当你开始运营公司的时候,你的WHOIS信息没有任何变化,你可能已经有十几个员工,几百万的营业额了,不过你的WHOIS信息仍然显示地址是你家。大部分的用户不会注意这一点,但是有些人会(我遇到过有人查看我的WHOIS信息,完全把我的姓名、地址和联系方式显示出来了,或许是侵犯了我的隐私),那些打算跟你合作的人,跟你合作经营、合作推广和购买你的产品的人。如果你在中国之外经营一家.cn的网站,这些信息从服务器地址都可以看出来的,你的所在地应该跟你的市场所在地一致(我之前有一个网站就没有遵循这个原则,因为天朝的备案实在是讨厌,所以服务器在美国,或许是服务商使用代理的)。
        经过域名的服务商会在域名过期之前发电子邮件通知,但是假如那天他们倒闭了呢?重新登记域名是自己的责任,通过WHOIS查看自己的域名到期时间,提前续费,不要到时候被别人买走了域名就亏大了。

 

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

在域名中使用关键词

        如果你有一个网站,而且你的公司叫ABC,最适合你的网站是否就是www.abc.com?将公司的名称作为网站的名称似乎是最正常最合理的行为了,而且为了自我保护,还必须购买该域名。不过,要想通过网络开展营销,你还必须了解客户是如何操作找到你的。
        如果你的公司是ABC,而你销售的是轮子,那么你可以去申请一个www.wheel.com的域名,这样是最强有力的做法,因为该域名本身囊括了产品和主题的关键词。当然这个东西是针对英文来说的,因为中国的用户的搜索习惯是车轮,而不是wheel,这个就另当别论了。
        还有一点,就是,如果你购买了包含关键词的域名,一定要在域名下创建一个小网站,哪怕就只有一个页面,千万不要使用重定向,谷歌非常讨厌这一点,而且可能非常恼火。你最好在关键词的小网站与公司主网站之间建立链接,而不是使用重定向强迫用户跳转。这一点,其实人人网就是使用重定向的,因为它以前叫校内,如果你们输入www.xiaonei.com会自动跳转到www.renren.com,当然人人也是没有办法的。

 

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