海运的博客

Nginx/PHP-FPM启用Keepalive

发布时间:June 11, 2014 // 分类:Nginx,PHP // No Comments

Nginx与PHP通信使用TCP连接会造成太多TIME_WAIT及浪费新建连接开销,Nginx新版本增加了对后端启用keepalive功能,有效提高服务器性能。
配置:

http
{
    upstream fastcgi_backend {
    server 127.0.0.1:9000;
    keepalive 60;
    }
}
server
{
  location ~ .*\.php$
  {
    fastcgi_pass fastcgi_backend;
    fastcgi_keep_conn on;
  }
}

PHP取URL根域名

发布时间:June 8, 2014 // 分类:PHP // No Comments

不能提取com.cn类似的域名:

<?php
   $url = 'https://www.haiyun.me';
   $host = parse_url($url, PHP_URL_HOST);
   $host_parts = explode('.', $host);
   $domain = implode('.', array_slice($host_parts, count($host_parts)-2));
   echo $domain;
?>
<?php
   $url = 'https://www.haiyun.me';
   $host = parse_url($url, PHP_URL_HOST);
   $host_parts = explode('.', $host);
   if(count($host_parts) > 2) {
      $host_parts = array_reverse($host_parts);
      $domain = $host_parts[1].'.'.$host_parts[0];
   } else {
      $domain = $host;
   }
   echo $domain;
?>

正则,www.hai.me被认为是根域名:

<?php
   function get_domain($url)
   {
      $domain = parse_url($url, PHP_URL_HOST);
      if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
         var_dump($regs);
         return $regs['domain'];
      }
      return false;
   }

   echo get_domain("https://www.haiyun.me");
?>

基于tld列表,精确:
https://publicsuffix.org/learn/

PHP imap访问多收件箱

发布时间:May 20, 2014 // 分类:PHP // No Comments

列出所有目录:

$host = '{imap.mail.yahoo.com:993/ssl}';
$user = 'user@yahoo.com';
$pass = 'password';
$inbox = imap_open($host, $user, $pass);
$mailboxes = imap_list($inbox, $host, '*');
$mailboxes = str_replace($host, '', $mailboxes);
print_r($mailboxes);

结果:

Array
(
    [0] => Bulk Mail
    [1] => Draft
    [2] => Inbox
    [3] => Sent
    [4] => Trash
)

重新打开指定的目录:

imap_reopen($inbox, $host.'Bulk Mail');
$emails = imap_search($inbox,'ALL');
print_r($emails);

火狐插件状态栏显示

发布时间:May 19, 2014 // 分类:Firefox // No Comments

<toolbarpalette id="BrowserToolbarPalette">
    <toolbarbutton id="jscrptCommand-toggle-button"/>
</toolbarpalette>

<toolbarbutton id="jscrptCommand-toggle-button"
    tooltiptext="Toggle Javascript Command"
    oncommand="executejs.EJS_openCommandWin();" class="toolbarbutton-1" >
    <label value="J C"/>
</toolbarbutton>

Salt分组操作

发布时间:May 18, 2014 // 分类:Puppet // No Comments

执行命令时直接分组:

#匹配slave id前缀为vps的所有slave
salt -C 'vps*' test.ping

配置文件分组:

nodegroups:
  vps: 'vps*'

执行:

salt -N vps test.ping

更多匹配操作:
http://docs.saltstack.com/en/latest/topics/targeting/compound.html

分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档