海运的博客

Centos/ubuntu下Xvfb配合x11vnc搭建VNC Server

发布时间:June 26, 2014 // 分类:CentOS // No Comments

远程运行Linux窗口程序使用X Windows太重量级了,可以使用Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口。

apt install x11vnc xvfb
yum install xorg-x11-server-Xvfb
yum install x11vnc
#新建X虚拟窗口
Xvfb :1 -screen 0 1024x768x24 -nolisten tcp &
#设置默认窗口为新建的虚拟窗口,打开窗口程序时调用
export DISPLAY=:1
#或
DISPLAY=:1 firefox

INIT:

#!/bin/bash
#chkconfig: 345 95 50
#description: Starts xvfb on display 1
if [ -z "$1" ]; then
    echo "`basename $0` {start|stop}"
    exit
fi   
case "$1" in
    start)
    Xvfb :1 -screen 0 1024x768x24 -nolisten tcp &
    export DISPLAY=:1
    echo 'export DISPLAY=:1' >> ~/.bashrc 
    ;; 
    stop)
    killall Xvfb
    ;;
esac

新建VNC服务器并转发指定X窗口

x11vnc -listen 0.0.0.0 -rfbport 5900 -noipv6 -passwd password -display :1 -forever

然后通过VNC客户端连接,默认端口5900,Windows下可使用TightVNC或UltraVNC。
启动的软件窗口太小,设置:

xdotool search --name ".*Mozilla Firefox" windowsize 1440 900

ubuntu下firefox中文显示乱码需安装中文字体:

apt install fonts-wqy-microhei

此内容被密码保护

发布时间:June 25, 2014 // 分类:OpenWrt // No Comments

请输入密码访问

Nginx官方Centos安装源

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

#centos6:
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
#centos5:
rpm -ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm

或自添加:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

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/

分类
最新文章
最近回复
  • 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 ...
归档