第一页 上页 24 25 26 27 28 29 最后页 [ 显示模式: 摘要 | 列表 ]

Apache服务器是在Linux系统上部署HTTP服务器的一个最佳选择。不仅仅因为其稳定、安全,而且其还能够提供比较优越的性能。不过为了提高Apache服务器的性能,Linux系统管理员还是需要调整一些跟性能相关的参数,在Apache服务器中专门有一个模块用来进行相关的调整。作为系统管理员,在部署Apache服务器应用的时候,需要了解这些参数的含义,并根据网站应用的实际情况来进行相关的调整。要实现这个目的,笔者下面的几条建议或许能够对大家有所帮助。


  建议一:设置最多连接数量。

  为了保障每个连接的客户端的性能,往往需要在服务器中设置在同一时间内允许的客户端数量的上限。如在服务器上部署了电子邮件或者FTP等应用服务,为了能够保障下载的速度,就需要对连接客户端进行最高数量的限制。在Apache服务器中有一个“最多连接数量”的栏目,就是用来设置这个值。另外也可以利用配置文件中的MaxClinets参数来进行设置。通过这个参数,系统管理员可以限制客户端的连接数量与连接时间,以节省带宽来提供其他的服务或者提高已有连接的效率。当客户端的连接数量超过这个最高限制后,所有新建的连接都会被拒绝;当然服务器会把拒绝错误信息返回给客户。

  在进行这个设置的时候,需要注意两个问题。一是在Linux操作系统上配置Xinetd服务的时候也可以进行类似的设置。如通过配置Xinetd服务配置文件中的instances参数可以设置单一服务在同一时间内提供客户端连接请求的最高上限。那么这个参数跟Apache服务器中的连接数量设置是什么关系呢?如instance参数设置为100;而MaxClints参数设置为120。那么最终可以连接到Apache服务器上的客户端数量为多少呢?注意,由于客户端的互联网连接请求是先通过Linux操作系统的,所以在Linux操作系统上的配置往往具有比较高的优先性。为此,当instance参数小于MaxClints参数时,以前者为准;当instance参数大于MaxClints参数时,以后者为准。故有时候客户端提示连接数量超过上限时,系统管理员往往需要同时检查这两个参数,才能够发现问题的真正原因。二是需要考虑在什么情况下需要启用这个限制。一般来说,如果HTTP服务器上的应用主要是在企业内部网络中应用,由于带宽比较理想,为此不需要设置这个限制。但是如果是面向互联网用户的,则往往需要设置这个限制。如企业部署了一个FTP服务器,供互联网的用户下载。由于其带宽是固定的,当下载的用户越多,其能够得到的下载速度也就越低。为此为了给已有连接的用户提供一个比较好的速率,往往就需要设置一个最多连接数。以免连接用户过多而影响下载的速率。

  建议二:允许每次连接可有无限制请求。

  如果是在Solaris Linux上部署Apache服务器的话,最好对这个参数进行设置。这个选项表示当客户端与服务器建立连接后,每个子进程在结束前所能接受的客户端请求上限。当达到这个上限值之后,这个子进程就会中断。这主要是为了避免某些子进程占用过多的服务器资源而导致服务器性能的下降。“设置最多的连接数量”选项主要用来限制客户端的连接数量;而每个客户端在同服务器进行连接的时候可以采用多个子进程与服务器进行连接。如FTP连接一个客户端默认情况下可以采用5个子进程进行连接。而这个客户端下载的总速率就是5个子进程的总合。故在部署Apache服务器的时候,就需要对这个选项进行限制。防止同一个客户端开启了比较多的进程,占用了大量的服务器硬件资源。

  不过需要注意的是,这个参数跟另外一个参数keepalive很相似,但是两者有很大的区别。KeepAlive顾名思义,主要是用来保证客户端与服务器之间的一个持续连接。如果Apache服务器主要用来做视频会议或者提供在线观看电影的话,则这个参数就很有价值。此时如果把这个参数设置为OFF的话,则客户端浏览器可能必须在包含多重组件的网页中,建立许多连接请求。并且在连接的过程中,每个组件都必须进行单独的连接。而这些额外的请求与连接惠增加服务器的负担及网络带宽的损耗。

  在日常的配置中,往往是这个配置选项同时使用。如往往同时启用“允许每次连接可有无限制请求”与KeepAlive选项,并设置可以连接的最大进程数。如此的话,即可以避免因为连接数过多而给服务器带来负担;同时又不会影响多次频繁的连接请求而给服务器带来的额外负担。

  建议三:合理配置超时时间。

  这个选项是指客户端提出连接请求并建立起连接后,最大的空闲时间。如果超过这个时间,客户端与服务器之间仍然没有进行任何的接收或者发送信息的动作,则就会中断这个连接。其实这个选项对于访问者来说是一把双刃剑。一方面限制无用的连接时间(客户端连接上服务器而没有进行任何的请求动作)可以减少带宽的浪费,可以保障其他访者着的带宽;但是另一方面这也比较容易引起客户端使用上的不方便。如访者者可能临时有事走开一会儿(如上了一趟厕所)客户端与服务器端的连接就会中断。客户端需要重新连接服务器,从而需要进行新一轮的连接请求、身份认证等等,这也会耗用服务器的资源与带宽。所以说,这个超时时间对于双方来说,都是有利又有弊。故系统管理员在配置这个选项的时候,需要进行评估,确定是否需要设置这个选项,并为此确定一个合理的超时时间。

  一般来说,如果设置了最大客户端连接数量的话,则最好同时配置这个超时时间。如服务器设置了最大的客户端连接数量为100个,而现在已经有100个客户端连接在Apache服务器上了。但是其中有20个客户端已经1个小时没有动作了。很有可能是其去吃饭或者其他原因忘记关闭网页,而没有中断与服务器的连接。此时这20个客户端的连接其实一种两费。此时如果设置了这个超时时间的话,如超过10分钟没有任何数据传送动作的话就自动关闭这个客户端的连接。很明显这可以提高这个连接点数的利用效率。

    另外在Apache服务器配置文件中,有一个KeepAliveTimeout参数,跟这个超时时间比较相似。这个参数主要用来设置客户端与服务器建立连接后,客户端提出两个请求之间的时间间隔。如果超过一定的时间间隔,客户端并没有再提出另外一个请求,则这个连接声明即中断。可见这个连个选项的功能很类似,不过其中有一个很重要的区别。因为在客户端与服务器连接的时候大致分为两个阶段。第一个阶段为客户端提出连接但是服务器还没有响应;第二个阶段为客户端与服务器之间已经建立连接。前面这个参数的话适用这两个阶段中的任何一个阶段。而后面这个参数则只适合第二个阶段,即连接后的控制。在其他方面基本上没有区别。故在大部分情况下,这两个选项可以通用。总之,是否需要采用这个选项需要根据服务器的应用情况来定。作为系统管理员,需要在服务器性能与用户便利性之间取得一种平衡。这种平衡往往很难实现。需要系统管理员进行多次的测试、调整、用户意见反馈,最终才能够得到一个合理的答案。


  建议四:慎用允许持久性连接。

  在服务器性能调整选项卡中,有“允许持久性连接”这项内容。如果选中这项内容的话,就表示客户端与服务器之间的连接永远有效,除非客户端手工中断与服务器之间的连接(如关闭网页或者重新启动客户端)。如果把配置文件中的KeepAliveTimeout参数设置为Ture,也可以起到类似的效果。对于这个选项来说,系统管理员需要慎用。因为根据经验,一般用户不会主动去关闭网页。也就是说,不会主动去中断客户端与服务器端之间的连接。他们很可能会在用完电脑需要关机的时候才会中断这个连接。此时在服务器端虽然有很多客户端的连接数量,但是有不少可能都是“死连接”,在很长的一段时间内不会有数据的传送动作。这对于服务器来说,是一种性能上的浪费。为此笔者的意见是,宁可把用户与服务器之间的空闲时间设置的长一点,如2个小时甚至更久,也尽量不要采用持久性连接。
 

Tags:

今天有个朋友问我修改2003服务器系统默认的administrator帐号的方法,现在写出来和大家分享下。
一种方法是按"开始"--"运行" 输入: gpedit.msc
然后在"计算机配置"--"windows设置"--"安全设置"--"本地策略"--"安全选项" 那里
找到最下面的"帐号:重命名系统管理员帐号"那里改用户名.在"交互式登陆:不显示上一次的用户名"设置为"启用".

或者可以打开“我的计算机”--“控制面板”---“用户帐户”--“本地用户和组”---“用户”--“administrator”--右键单击“administrator”--选择“重命名”----在出现的名称设置框中,设置新的管理员名称----输入新的用户名。


修改服务器密码对安全还是很有必要的,要是服务器用默认帐号密码简单,用穷举法很容易破解管理员权限。

Windows 2000系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机。下面,我们来看看如何通过修改默认端口,防范黑客入侵。

远程终端服务基于端口3389。入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目。

步骤:打开“开始→运行”,输入“regedit”,打开注册表,进入以下路径:
更改2003远程桌面端口3389为其他端口号

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server \WdsrdpwdTdstcp],看见PortNamber值了吗?其默认值是3389,修改成所希望的端口即可,例如1919

再打开[HKEY_LOCAL_MACHINE \SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStationsRDPTcp],将PortNumber的值(默认是3389)修改成端口1919


修改完毕,重新启动电脑,以后远程登录的时候使用端口1919就可以了。

然后重新更改防火墙IP规矩允许访问远程桌面的IP范围!

 

转载请标明出处(刘新修个人博客):http://liuxinxiu.com/

Tags:

第一步:添加允许的IP段

开始,运行,gpedit.msc,计算机配置,Windows设置,安全设置,IP安全策略,常来网专用IP安全策略,双击打开的,再双击打开的,然后点添加,点下一步,输入描述,下一步,源地址选一个特定的IP子网,下面的IP地址输入,如您的服务器IP是61.164.140.43,则输入61.164.140.0,下面的子网掩码输入255.255.255.0,然后点下一步,目标地址点选我的IP地址,下一步,协议类型选任意,再点下一步,然后点完成,再然后一直点确定,直到又回到组策略的窗口,然后关闭就可以了!

第二步:拒绝所有IP段连接至3389端口

开始,运行,gpedit.msc,计算机配置,Windows设置,安全设置,IP安全策略,常来网专用IP安全策略,双击关闭的,再双击关闭的,然后点添加,点下一步,输入描述,下一步,源地址选任何IP地址,下一步,目标地址选我的IP地址,下一步,选择协议类型为TCP再点下一步,上方的从任意端口默认不变,下面的到此端口点上然后填入3389,再点下一步,点完成,再点确定,再点关闭,点应用,再点确定完毕!

PS:如果您的IP地址是经常变的ADSL可以在允许的网段里把您经常用的几个网段都加上,如IP是123.6.71.231,只需要把上面的允许的IP段里的IP61.164.140.0换成123.6.0.0,因为ADSL后面两位的数字经常变但前两位是不经常变的!子网掩码输入255.255.0.0,然后其他的操作都一样!

Tags:

Windows定时自动执行PHP程序

[不指定 2010/09/02 14:15 | by 刘新修 ]

相信不少读者在工作、学习的过程中经常抱怨:在WIN如何让PHP定时自动发信呢??如何让MySQL(和PHP搭配之最佳组合)实现自动备份而无后顾之忧呢??如 果完全依靠手工进行当然也可以实现,但

操作上似乎过于繁琐了一点!别着急,利用系统的任务计划程序(Windows 98称之为计划任务)可轻易解决这一问题。这一功能往往被很多用户忽略或者未曾想到:)。

所谓任务计划就是由计算机自动调用用户事先设置好的应用程序,从而达到简化用户操作的目的。利用Windows 2000的任务计划程序(相当与*NIX下的cron程序,这里不再对其详述),我们可以安排任

何脚本、程序或文档在最恰当的时候运行,从而满足自己的需 要。下面以Windows 2000为例。

具体来说,我们若需利用任务计划程序自动运行则应执行如下步骤:

单击"开始"按钮,然后依次选择"程序"→"附件"→"系统工具"→"任务计划"(或者是"设置"→"控制面板"→"任务计划"),启动Windows 2000的任务计划管理程序。

在"任务计划"窗口中双击"添加任务计划"图标,启动系统的"任务计划向导",然后单击"下一步"按钮,在给出的程序列表中选择需要自动运行的应用程序,然后单击"下一步"按钮。

设置适当的任务计划名称并选择自动执行这个任务的时间频率(如每天、每星期、每月、一次性、每次启动计算机时、每次登录时等),然后单击"下一步"按钮。此时系统将会要求用户对程序运行的具体时

间进行设置,如几号、几点钟、哪几个时间段才能运行等,我们只需根据自己的需要加以设置即可。

接下来系统将会要求用户设置适当的用户名及密码(如图5所示),以便系统今后能自动加以运行。

最后,我们只需单击"完成"按钮即可将相应任务添加到Windows 2000的任务计划程序中,此后它就会自动"记住"这个任务,一旦系统时间及相关条件与用户设置的计划相符,它就会自动调用用户所指定的

应用程序,十分方 便(每次启动Windows 2000的时候,任务计划程序都会自动启动,并在后台运行,确保用户的计划能够按时执行)。

现在我们来测试一下刚才所建的任务是否成功,鼠标右键单击"php"程序图标(如图6所示),在弹出的菜单里面选择"运行"。一般情况下程序图标只要这样 激活运行就可以正常启动。如果运行失败可查看用

户和密码是否设置正确,还有确定"Task Scheduler"服务是否已启动,本人当初就是为了节省系统资源把它关掉了导致运行失败,害我找了大半天。另外也可从"系统日志"里查看到底是什么原 因造成运行

失败的。

好了,讲了这么多任务计划的应用,现在我们切入正题,下面将介绍两个例子:

一、让PHP定时运行

编辑如下代码,并保存为test.php:

PHP: 

--------------------------------------------------------------------------------

<?php
$fp = @fopen("test.txt", "a+");
fwrite($fp, date("Y-m-d H:i:s") . " 让PHP定时运行吧!n");
fclose($fp);
?>

添加一个任务计划,在(如图2所示)这一步输入命令:

D:php4php.exe -q D:php4test.php

时间设置为每隔1分钟运行一次,然后运行这个任务


现在我们来看看d:php4test.txt文件的内容时候是否成功。如果内容为如下所示,那么恭喜你成功了。

2003-03-03 11:08:01 让PHP定时运行吧!

2003-03-03 11:09:02 让PHP定时运行吧!

2003-03-03 11:10:01 让PHP定时运行吧!

2003-03-03 11:11:02 让PHP定时运行吧!

二、让MySQL(和PHP搭配之最佳组合)实现自动备份

编辑如下代码,并保存为backup.php,如果要压缩可以拷贝一个rar.exe:

PHP:

--------------------------------------------------------------------------------


if ($argc != 2 || in_array($argv[1], array('--help', '-?'))) {

?>

backup Ver 0.01, for Win95/Win98/WinNT/Win2000/WinXP on i32

Copyright (C) 2000 ptker All rights reserved.

This is free software,and you are welcome to modify and redistribute it

under the GPL license

PHP Shell script for the backup MySQL(和PHP搭配之最佳组合) database.

Usage:

can be database name you would like to backup.

With the --help, or -? options, you can get this help and exit.


} else {

$dbname = $argv[1];

$dump_tool = "c:MySQL(和PHP搭配之最佳组合)inMySQL(和PHP搭配之最佳组合)dump";

$rar_tool = "d:php4

ar";

@exec("$dump_tool --opt -u user -ppassword $dbname > ./$dbname.sql");

@exec("$rar_tool a -ag_yyyy_mm_dd_hh_mm $dbname.rar $dbname.sql");

@unlink("$dbname.sql");

echo "Backup complete!";

}

?>

添加一个任务计划,在(如图2所示)这一步输入命令:

D:php4php.exe -q D:php4backup.php databasename

时间设置为每天运行一次,然后运行这个任务。

最后会在d:php4目录下生成一个以数据库名和当前时间组成的rar文件。

恭喜你!大功告成了!

当然备份方式有很多种,读者可按照自己喜欢的去做!

以上是原著.结合本人实贱,补充说明如下:

如果出现错误:

在试着设置任务帐户信息时出现错误

指定的错误是:

0x80070005:拒绝访问

您没有运行所请求的操作的权限

在上面'"4.接下来系统将会要求用户设置适当的用户名及密码,以便系统今后能自动加以运行".这里最好用"system"用户,密码可为空.

这个system的权限非常之高,比你的administrator还要高,所以你在运行命令的时候千万不要乱来,这个可是什么提示都没有就会无条件执行的,这个权限下你kill核心进程都行.

上面2、添加一个任务计划,在这一步输入命令:

D:php4php.exe -q D:php4test.php

正确形式应为

"D:php4php.exe" -q "D:php4test.php"

即路径要用双引号括住。
 

修改两个文件:
自动化目录:
1、FCKeditor\editor\filemanager\browser\default\connectors\php\config.php

$Config['UserFilesPath']='xxx'改为下

$time=time();
$Config['UserFilesPath'] = '/custom/image/upload/'.date('Y',$time).'/'. date('m',$time) .'/'.date('d',$time).'/';

重命名:
2、FCKeditor\editor\filemanager\browser\default\connectors\php\commands.php

// 在下列代码之后:
// Get the extension.
$sExtension = substr( $sFileName, (

strrpos($sFileName, '.') + 1 ) ) ;
$sExtension = strtolower( $sExtension )

;

//添加如下语句,则会让所有上传的文件名以“时间+随机数”来重命名。
//Rename filename
$sFileName=date("Ymd_His_").rand(100,200).".".$sExtension;
 

Tags:

创业前先问自己几个问题

[不指定 2010/09/02 01:15 | by 刘新修 ]
1. 你开始这个想法是在什么时间,到今天又多久了?
2. 为了这个想法,在这些日子里,你们做了哪些事情?
3. 你们现在有几个人?
4. 要把想法做出来,变成一个真实的可以用的网站,你们认为需要多长时间?
5. 在把网站做出来的过程中,你认为你自己能起到哪些作用,贡献是什么?
6. 同样,其他人,在网站做出来的过程中,他们每个人能起到的作用是哪些,贡献是什么?
Tags:
第一页 上页 24 25 26 27 28 29 最后页 [ 显示模式: 摘要 | 列表 ]