Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022

Warning: Cannot modify header information - headers already sent by (output started at /pub/host/sunboyu/sunboyu/www/wp-includes/http.php:1022) in /pub/host/sunboyu/sunboyu/www/wp-includes/feed-rss2.php on line 8
一个程序猿 » 虚拟主机 http://www.sunboyu.cn 时光不会倒流,脚步总要前进 Tue, 31 Jan 2012 10:50:34 +0000 http://wordpress.org/?v=2.7 en hourly 1 在nginx下配置自动虚拟主机 http://www.sunboyu.cn/2010/01/09/%e5%9c%a8nginx%e4%b8%8b%e9%85%8d%e7%bd%ae%e8%87%aa%e5%8a%a8%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba.shtml http://www.sunboyu.cn/2010/01/09/%e5%9c%a8nginx%e4%b8%8b%e9%85%8d%e7%bd%ae%e8%87%aa%e5%8a%a8%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba.shtml#comments Fri, 08 Jan 2010 16:33:37 +0000 admin http://www.sunboyu.cn/?p=1143 以前用apache,很多虚拟主机的时候,用 mod_vhost_alias 模块去解决。nginx似乎没有这样的功能。

原来为了做这个功能,我用python写了一堆脚本,去自动管理nginx的配置文件,结果还是不理想。频繁重写配置文件,频繁重启,总会出现点问题。

在nginx的0.8.*下,发现了这样的功能:http://wiki.nginx.org/NginxHttpCoreModule

Since nginx 0.8.25 named captures can be used in server_name:
server {
server_name ~^(www\.)?(?.+)$;
location / {
root /sites/$domain;
}
}

大喜,于是乎做出如下配置,实现了nginx下自动虚拟主机的功能:

  1. server {
  2.      listen       80;
  3.      server_name  ~^(?P<domainname>.+)\.autovhost\.sunboyu\.cn$;
  4.      location / {
  5.          #autoindex  on;
  6.          root   /home/vhost/$domainname;
  7.          index  index.html index.htm;
  8.      }
  9.      access_log /home/autovhost.sunboyu.cn.log main;
  10. }
  11. </domainname>

测试通过。

我的开源虚拟主机管理系统nginx版本指日可待。

]]>
http://www.sunboyu.cn/2010/01/09/%e5%9c%a8nginx%e4%b8%8b%e9%85%8d%e7%bd%ae%e8%87%aa%e5%8a%a8%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba.shtml/feed
设计标准的通讯协议 http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml#comments Sun, 17 May 2009 15:48:25 +0000 admin http://www.sunboyu.cn/?p=710 当然不会是底层通讯协议,因为TCP/IP已经为我们准备好了足够完善的通讯机制确保稳定安全。

此协议为七层应用协议,跟http ftp是平级的,使用socket进行通讯,可以兼容php、python、java、c等语言。

协议开源,使用点对点信息校验,满足普通应用。

协议模拟tcp封包过程,进行数据封装。

协议内容:(伪代码)

  1. struct vhost
  2. {
  3.     Head varchar(10),            //协议头
  4.     Version int(5),                 //版本
  5.     Timestamp int(5),            //时间戳
  6.     Length int(10),                //包长度
  7.     Signature varchar(10),      //签名
  8.     Date varchar(500)            //数据
  9. }

协议包包括了协议头,版本,时间戳,包长度、签名(防止数据篡改和伪造),数据。基本能满足应用。

控制端数据打包发送后,受控端只需返回接受成功即可,以便客户端及时作出判断。

底下针对此包做PHP版本的封包和python的解包部分。

注释:原来使用问答的方式进行通讯,需要多次数据的应答,而此次的修改只需一次即可完成,而打包封包在一端完成,这样对网络稳定性的依赖就会降低。

]]>
http://www.sunboyu.cn/2009/05/17/%e8%ae%be%e8%ae%a1%e6%a0%87%e5%87%86%e7%9a%84%e9%80%9a%e8%ae%af%e5%8d%8f%e8%ae%ae.shtml/feed
虚拟化产品市场分析 http://www.sunboyu.cn/2009/04/04/%e8%99%9a%e6%8b%9f%e5%8c%96%e4%ba%a7%e5%93%81%e5%b8%82%e5%9c%ba%e5%88%86%e6%9e%90.shtml http://www.sunboyu.cn/2009/04/04/%e8%99%9a%e6%8b%9f%e5%8c%96%e4%ba%a7%e5%93%81%e5%b8%82%e5%9c%ba%e5%88%86%e6%9e%90.shtml#comments Sat, 04 Apr 2009 05:13:41 +0000 admin http://www.sunboyu.cn/?p=626 我这里分析的虚拟化产品,主要是和IDC相关的一些虚拟产品。

我们常见的产品,比如虚拟主机(空间),VPS,服务器合租等。这类产品目前在市场上发展比较成熟,而且随着互联网发展,这类产品市场前景逐渐看好。

这点,从万网的发展路线就可以看出,中小企业越来越重视自己信息化的建设,而从百度的销售业绩也能看出,企业的投入逐渐从传统媒体转向了互联网。另外,各大IDC机房内,也有相当的托管机器是用在中小网站上。

而这些产品的基础构建,管理,对于不管是企业还是个人,都是一个问题。对于国内做虚拟主机产品的老大们,万网,新网都有自己的管理系统,而对于一些小型用户,一些开源的管理软件足矣,无非是增加点人力。

目前虚拟主机应用主流平台就是windows,linux,freebsd,windows系统首先有自己完善的管理机制和可供开发人员使用的API,对于unix相关系统,开源界更是提供了数不尽的资源。而这些产品更大的问题就是:他们只考虑了去如何管理一个系统,而并没有更多的考虑如何去运营这个系统,如何把产品更快投入商业生产中。

我熟知的成熟商业系统主要有cpanel系统,在整个产业都很出名的,因为美国很多主流虚拟主机提供商都使用这个系统。国内很出名的是创值立信,他们的产品可以算上国内老大了,据说他们的开发团队是从万网跑出来的一伙人,所以在经验和技术积累上很成熟。

但这两个系统都有致命的缺点,就是高昂的价格,不能被大众尤其是中小型的客户甚至个人所接受。

再说其他的一些产品。国产的蓝芒主机管理系统,也是行业内的佼佼者,它们的系统支持国内完善的业务流管理,跨平台的系统支持,可谓非常完善的产品。而再有一些小型的产品,基本都工作在windows下,而无法实现对windows/*nix混合集群的支持,这样就造成了部分客户的流失。

而一些开源的虚拟主机管理,其功能之强令人震撼,比如webmin主机管理平台,还有一些windows下的免费软件基本能实现对整个操作系统虚拟化的管理,但一旦涉及商用,就有很大的问题,其欠缺的不仅是支付,业务流,财务等,更难以实现的是对整个运营流程的管理。

而目前国内此市场上,或者产品功能的欠缺,或者价格的昂贵,对于一些初创的公司或者个人都是一个门槛,无法达到成本低廉化。

所以,我认为国内此类虚拟化管理软件还有很大的市场潜力,只要是能够适应市场的产品,会在如此大的市场份额中再分一杯羹。

]]>
http://www.sunboyu.cn/2009/04/04/%e8%99%9a%e6%8b%9f%e5%8c%96%e4%ba%a7%e5%93%81%e5%b8%82%e5%9c%ba%e5%88%86%e6%9e%90.shtml/feed
我的一个虚拟主机配置,支持suexec+fastcgi+php+perl http://www.sunboyu.cn/2008/11/22/%e6%88%91%e7%9a%84%e4%b8%80%e4%b8%aa%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%94%af%e6%8c%81suexecfastcgiphpperl.shtml http://www.sunboyu.cn/2008/11/22/%e6%88%91%e7%9a%84%e4%b8%80%e4%b8%aa%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%94%af%e6%8c%81suexecfastcgiphpperl.shtml#comments Sat, 22 Nov 2008 05:36:07 +0000 admin http://www.sunboyu.cn/?p=392
  1. <virtualhost *:80>
  2.     SuexecUserGroup www www
  3.     ServerAdmin webmaster@dummy-host.example.com
  4.     DocumentRoot "/home/www/php"
  5.     ServerName 192.168.43.129
  6.     ServerAlias www.dummy-host.example.com
  7.     ErrorLog "logs/dummy-host.example.com-error_log"
  8.     CustomLog "logs/dummy-host.example.com-access_log" combined
  9.     <directory /home/www/php>
  10.         AddHandler fcgid-script .php
  11.         AddHandler perl-script .pl .cgi
  12.         PerlResponseHandler ModPerl::Registry
  13.         PerlOptions +ParseHeaders
  14.         PerlOptions +SetupEnv
  15.         FCGIWrapper /home/www/php-cgi .php
  16.         Options ExecCGI +FollowSymLinks SymLinksIfOwnerMatch
  17.         allow from all
  18.     </directory>
  19. </virtualhost>

老一套,要注意的是各种脚本的映射,容器的合理使用。

]]>
http://www.sunboyu.cn/2008/11/22/%e6%88%91%e7%9a%84%e4%b8%80%e4%b8%aa%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%94%af%e6%8c%81suexecfastcgiphpperl.shtml/feed
伟大的进步 http://www.sunboyu.cn/2008/11/05/%e4%bc%9f%e5%a4%a7%e7%9a%84%e8%bf%9b%e6%ad%a5.shtml http://www.sunboyu.cn/2008/11/05/%e4%bc%9f%e5%a4%a7%e7%9a%84%e8%bf%9b%e6%ad%a5.shtml#comments Wed, 05 Nov 2008 14:09:17 +0000 admin http://www.sunboyu.cn/?p=373 博客很久没更新,导致alexa排名暴跌,因为最近在研究linux下apache+php的系统安全问题,这个问题困扰了好久。因为配置iis(之前有此文章)的时候,我设置了非常安全的iis站点用户和权限的隔离,但在linux下,总没有找到好的方法。

最近查阅了大量的资料,主要是了解apache的账户机制,suexec的工作原理,然后又翻看了大量的资料,终于搞清楚了一套完整的安全的lamp虚拟主机配置方法,能达到站点的权限隔离,进程账户的相对独立,以及对性能的控制。

在学习的过程中,常犯的错误,就是轻敌。总感觉这事不难,一会就搞定。但实际头疼了半个月。另外就是不看日志。到最后两天,大量的调试是在对比日志和理解日志的涵义,针对日志去进行配置。从我学linux的过程来看,看手册,翻日志,分析别人的案例,是学习的最佳途径。

关于安全配置linux虚拟主机的过程,我将另写文章。

]]>
http://www.sunboyu.cn/2008/11/05/%e4%bc%9f%e5%a4%a7%e7%9a%84%e8%bf%9b%e6%ad%a5.shtml/feed