未来往事

Web服务器(Web Server) 不指定

Rinald 本站原创 WEB前端 2011/06/16 00:42
Web服务器(Web Server)

Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。

虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。

应用程序服务器(The Application Server)
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。

应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。 正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。

在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

一个例子
例如,设想一个在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。


情景1:不带应用程序服务器的Web服务器

在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。

简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。


情景2:带应用程序服务器的Web服务器

情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server-side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。 这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。

在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。

通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。

总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。

警告(Caveats)
现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。

另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。


工作中真是什么都可能遇到啊。刚刚 领导突然让把一个flash小程序加个点击统计,对于曾几何时连了解都不了解flash的哥来说这是谈何容易啊,没办法  毕竟人家是领导。。也只有做了。下面把这个简单的制作过程写出来和大家分享下啊。如果你有更好的方法或补充请在文章下面评论哈。

创建按钮元件,并命名。这里给出例子中的实例命名为"eshobutton”

创建动态文本框,并命名。本例中的动态文本框实例命名为"eshotext”

然后在第一帧上写入以下AS脚本:

eshotext.text = 初始值(数字);

eshobutton.onPress = function() {

eshotext.text++;

};


当然这里实现的只是一个简单统计,统计不具有存储、用户 IP判断等功能。

PHP上传文件大小限制设置 不指定

Rinald 本站原创 PHP 2011/06/14 11:39
有些朋友经常问到为什么我把php.ini配置文件中的upload_max_filesize修改为100M了,怎么phpinfo页面还是显示最大上传是8M?如果你也遇到类似的错误,那么请留意下你当前的php.ini文件中的以下几个参数设置吧。PHP的文件上传大小限制受到php.ini以下这些设置的影响:
引用
file_uploads = on       //是否允许系统支持文件上传

post_max_size          //通过post方法给php时,php所能接受的最大数据容量(单位M)

upload_max_filesize   //允许文件上传最大体积(单位M)

;upload_tmp_dir       //临时文件的存储路径,linux下为系统默认路径,win32下需要指定

max_execution_time

memory_limit


用php上传文件,问题最多的就是上传大体积文件时出现错误。 在此配置文件中,有这么几个值是跟文件上传有密切关系的,如果你上传的文件体积在8m一下(通常情况),那修改以上设置就可以满足你的要求了。但要>8m,那除了上面几个值,还要特别关注另外两个值了:
max_execution_time = 30  //每个script所执行的最大时间(php上传就时,体积大了,就是个时间问题. 单位秒)

memory_limit = 8M           //每个script所能消耗的最大memory(单位M)

试着把这两个值改大些。一般就可以解决大多数问题了。

就此推断,上传文件的体积是可以无穷大的。但还要考虑你的网络情况,等等。在php.net上,有人说按照这个方法改了后,大于100m的文件还是会出错,这里就不知道是不是php自身的问题了。

+阅读全文
How to Mount a CIFS Share in Linux Environment? 

经常在我们挂载cifs共享时遇到mount error 13 = Permission denied这类错误,请耐心的阅读完本文,我相信你将会有所收获.


解释:?
mount.cifs - mount using the Common Internet File System (CIFS)


参数:
mount.cifs {service} {mount-point} [-o options]


I am getting sick and tired of this so called Smbfs replacement \"Cifs\". I have yet another error trying to mount a share on a Windows server 2003 standard edition machine. I get an error saying \"Permission denied\" despite entering the right credentials:

引用
Code:
Cifs \"mount error 13 = Permission denied\" CIFS SUCKS

Most of people got this Permission Denied access when mounting a Windows Shared folder


following mounting ->

usually :
mount -t cifs //<MachineName>/<Shared Folder> /mnt/Shared -o username=<username>,password=<password>
give you error 13.


correct :
+阅读全文
linux tar 命令压缩排除某个目录或文件
在对某个目录进行压缩的时候,有时候想排除掉某个目录,例如:

如果data目录下有3个子目录,mysql1、mysql2、mysql3。

我现在想只对mysql1和mysql3目录打包压缩,命令如下:
# tar -zcvf data.tar.gz --exclude=mysql2 data    //注意:需要在data目录的外面运行

说明:使用exclude参数来过滤不需要的目录或文件,排除某个文件的操作和排除目录的方法一样。

Nginx 常用的URL重定向方法 不指定

Rinald 本站原创 Apache/Nginx 2011/06/11 00:07
本文将以一些实例简单对Nginx的一些常用的URL重写方法做个简要的介绍。废话这里也不多说了哈,下面就转入正题。

1. 在 Apache 中的写法
RewriteCond  %{HTTP_HOST}  nginx.org
RewriteRule  (.*)          http://www.nginx.org$1


在 Nginx 可以对应写成:
server {
    listen       80;
    server_name  www.nginx.org  nginx.org;
    if ($http_host = nginx.org) {
        rewrite  (.*)  http://www.nginx.org$1;
    }
    ...
}


但 Nginx 作者更建议的方法是:
server {
    listen       80;
    server_name  nginx.org;
    rewrite   ^  http://www.nginx.org$request_uri?;
}

server {
    listen       80;
    server_name  www.nginx.org;
    ...
}





引用
location / {
    root       /var/www/myapp.com/current/public;

    try_files  /system/maintenance.html
               $uri  $uri/index.html $uri.html
               @mongrel;
}

location @mongrel {
    proxy_pass  http://mongrel;
}


 总体感觉这个就比Apache 的要简化多了。如果你需要了解更多关于Nginx  URL规则重写的知识,可以关注本博客相关分类或标签。

Linux tar 命令使用详解 不指定

Rinald 本站原创 Linux 2011/06/09 16:06
tar命令使用

作用:
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

参  数:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

t 列出档案文件的内容,查看已经备份了哪些文件。

u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

x 从档案文件中释放文件。

可选参数:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

f 使用档案文件或设备,这个选项通常是必选的。

k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

m 在还原文件时,把所有文件的修改时间设定为现在。

M 创建多卷的档案文件,以便在几个磁盘中存放。

v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

w 每一步都要求确认。

z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。




Linux下的压缩文件剖析
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕.

在具体总结各类压缩文件之前呢,首先要 弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:
tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:
引用
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。
1) tar调用gzip
gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:
+阅读全文
Alexa 更新某个网站的统计信息的周期是3 - 6 个月,更新网站的介绍信息,如果你通过alexa提交的信息并通过邮件确认过,一般1个月左右就会更新。

外部连接不是你我交换了就算实际的外部连接。alexa 会分析从你的网站通过友情链接点击到其他网站的数量作为权重之一,再由友情连接站点对你网站的连接的点击数量作为权重之二,其次,有更多的因素,如通过友情连接到其他站的访问深度,访问时间,和有效点击率等等,上面所有的得到的数据以及其他相关的一些数据,使用某些算法计算,如果符合外部连接的阈值,那么alexa就会将此站点收录为你的网站的外部连接。

所以,不是和对方交换了连接就能提高网站排名的道理了。搜索引擎和alexa是很"聪明"的。alexa是做搜索引擎起家的,alexa排名中的这个反向链接就是它的搜索引擎爬虫检测到的你网站的外链,搜索引擎的检测和收录也有它自己的算法和不确定性,全世界几十亿的网站对搜索引擎来说是一个很庞大的工程,所以完全有可能问题出在搜索引擎方面。对于已经有48个反向链接的站来说,alexa爬虫因没有找到网站而不来访问应该不太可能,不过这样只是增加你站链接的其它网站的反向链接数,因为反向链接的意思是别的站链入你站的链接,所以你站反向链接数的增加与否,就要看alexa搜索爬虫是否能检测到别的网站上链入到你站的这些链接了。不过从你交换了大量的链接而反向链接数一个都没有增加的情况来看,搜索爬虫对你交换的所有链接都没有检测到是不太可能的。应该更可能是alexa排名数据中的这个反向链接个数值还没有更新,据观察这个值一般都是几个月才会更新一次(大概是三到六个月应该就会看到更新了)。

运行级别init详解 不指定

Rinald 本站原创 Linux 2011/06/07 23:20
Linux 启动时需要哪些步骤呢?
  本文将详细描述不同的运行级在启动中的作用。对于那些在DOS/Win9x/NT 平台下的高级用户而言,Linux 似乎是一个怪物。没有config.sys ,没有autoexec.bat,具有个人特色的机器配置不知道从何开始。需要说明的是,很多人认为Linux 是Unix 的一个克隆,但是,这种说法对于Linux 是不公平的。Linux比Unix更加开放,功能更强大。我们应该称之为GNU/Linux 。

  Linux 启动时,运行一个叫做init 的程序,然后由它来启动后面的任务,包括多用户环境,网络等。那么,到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1 到6 ,具有不同的功能。这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。大多数的Linux 发行版本中,启动脚本位于 /etc/rc.d/init.d。这些脚本被ln 命令来连接到 /etc/rc.d/rcn.d 目录(这里的n 就是运行级0-6)。例如:
/etc/rc.d/rc2.d 下面的S10network 就是连接到/etc/rc.d/init.d下的network 脚本的

因此,我们可以知道,rc2.d 下面的文件就是和运行级2 有关的。
文件开头的S 代表start 就是启动服务的意思,后面的数字10 就是启动的顺序。例如,在同一个目录下,你还可以看到 S80postfix 这个文件,80 就是顺序在 10 以后,因为没有启动网络的情况下,启动postfix是没有任何作用的。再看一下 /etc/rc.d/rc3.d,可以看到文件S60nfslock,但是这个文件不存在于 /etc/rc.d/rc2.d 目录下。NFS 要用到这个文件,一般用在多用户环境下,所以放在rc3.d 目录下。另外,在/etc/rc.d/rc2.d 还可以看到那些K 开头的文件,例如
/etc/rc.d/rc2.d/K45named ,K 代表 kill

标准的Linux运行级为3 或者5 ,如果是3 的话,系统就在多用户状态。如果是5的话,则是运行着X Window系统。如果目前正在3或5,而你把运行级降低到2的话,init 就会执行 K45named 脚本。

那么究竟linux的运行级别是什么呢?
  简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。不同的运行级定义如下:(可以参考CentOS 里面的/etc/inittab)

# 缺省的运行级,linux用到的运行级别如下:
+阅读全文
  什么是虚拟化,何为XenDesktop,通过本文你将会了解到这些入门知识。

  虚拟化大行其道的今天,每个虚拟化供应商几乎都关注到全部的虚拟化领域。思杰也不例外,他们提供了一整套的虚拟化解决方案,从数据中心的 XenServer(等同于微软的Hyper-V和VMware 的ESXi)服务器虚拟化到XenDesktop桌面虚拟化(等同于Vmware VDI和微软MED-V),再到XenAPP应用程序虚拟化(等同于微软的APP-V)。今天,我们就来了解一下思杰的桌面虚拟化技术:Citrix XenDesktop。

  继服务器虚拟化之后,桌面虚拟化得以渐热。简单的说,XenDesktop就是在服务器端构建一个VDI(Virtual desktop Infrastructure)虚拟桌面架构,客户端可以随时随地通过网络来访问存在在服务器上的桌面系统。如同在本地使用物理机一样。这样做有几个好处:一是由于只需维护服务器端桌面镜像,因此可以降低大量的物理客户端桌面维护成本;二是可以快速高效的分发新的桌面系统给员工;三是员工不受空间位置的限制,随时可以链接到自己的桌面环境。

目前XenDesktop的最新版本是XenDesktop 3。

点击在新窗口中浏览此图片

  Citrix应用在虚拟桌面和应用程序虚拟技术上使用的是自己开发的ICA(Independent Computing Architecture)网络协议。ICA由三部分组成,在服务器端,ICA能够把应用软件的逻辑执行和用户界面分离开,通过标准的网络传输协议 IPX、SPX、NetBEUI、TCP/IP、PPP把用户界面传送到客户端。在客户端,用户能看到和使用应用的用户接口,但是应用的逻辑执行100% 在服务器端。ICA网络协议通过标准协议传递键盘、鼠标和屏幕显示更新数据,据了解,平均只需要10-20K的带宽,ICA极低的带宽占用和较高的传输效率保证了32位应用能在客户端被高效率的访问使用。

得以正常运行,离不开以下的组件:

  Citrix Desktop Delivery Controller:此控制组件可以控管用户和虚拟桌面之间的联机, 客户能在数据中心集中化管理应用和桌面,并且控制通过网络向终端用户的交付。

  Citrix Provisioning Server:这是Citrix虚拟化方案的核心组件,Provisioning Server可以说是整套系统的调度中心,它通过网络按需交付组成完整的服务器的各个部分,包括OS、应用和配置。 Provisioning Server将服务器各个部分分拆成为一个独立虚拟镜像--VDisk,并将其以文档形式存储在网络上。当服务器启动时,不再通过本地磁盘启动,而是从网络上的VDisk引导启动,Provisioning Server采用流技术将指定的应用组成部分交付到服务器。

  Citrix Provisioning Server for Desktops:采用流技术通过网络服务将单一的标准桌面镜像按需交付给物理桌面。对共享桌面镜像进行集中化配置、交付和管理,降低了总成本,提高了安全性和灵活。

  Citrix XenDesktop Setup Wizard:虚拟客户端的快速向导工具,它结合Citrix组件即可帮助我们快速地创建出多个虚拟桌面。

  Citrix XenServer:虚拟服务器端,用Hyper-V或者ESX也是可以实现一样的作用,就目前知道的,XenDesktop可以使用在Hyper-V的 VM上,背景Citrix跟微软有多年的合作关系。

XenCenter:XenServer的管理控制台。

  由于采用的是开放式架构,因此,XenDesktop可灵活支持各种虚拟化平台和终端设备。与其它桌面虚拟化解决方案不同,XenDesktop可使用单个镜像在数据中心或通过终端设备将个性化桌面交付给虚拟和物理设备,从而简化桌面管理,同时,该解决方案内置的性能监控工具让IT可以更好地管理服务水平。
第34页 / 共34页 第一页 « 上一页 29 30 31 32 33 34 最后页 [ 显示模式: 摘要 | 列表 ]