当前位置:首页 » 文件管理 » apachedbm缓存

apachedbm缓存

发布时间: 2024-10-28 10:58:16

php是什么

PHP是PHP的递归首字母缩写:Hypertext Preprocessor,一种用于创建动态和交互式HTML网页的脚本语言。当网站访问者打开页面时,服务器处理PHP命令,然后将结果发送到访问者的浏览器。

主要特点

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

④面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。


(1)apachedbm缓存扩展阅读

PHP优点

①流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

③仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

⑵ 运用PHP可以做什么项目啊

运用PHP的话可以做的项目太多了,因为PHP也是属于后台语言的,而且可以做系统,可以做软件,也可以做网站的,所以说学习PHP的话可以写后台服务语言。

计算机俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。

可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机、神经网络计算机。蛋白质计算机等。

当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒几亿次以上,使大量复杂的科学计算问题得以解决。例如:卫星轨道的计算、大型水坝的计算、24小时天气预报的计算等,过去人工计算需要几年、几十年,而现在用计算机只需几天甚至几分钟就可完成。

科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。计算机控制的导弹之所以能准确地击中预定的目标,是与计算机的精确计算分不开的。一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。

随着计算机存储容量的不断增大,可存储记忆的信息越来越多。计算机不仅能进行计算,而且能把参加运算的数据、程序以及中间结果和最后结果保存起来,以供用户随时调用;还可以对各种信息(如视频、语言、文字、图形、图像、音乐等)通过编码技术进行算术运算和逻辑运算,甚至进行推理和证明。

计算机内部操作是根据人们事先编好的程序自动控制进行的。用户根据解题需要,事先设计好运行步骤与程序,计算机十分严格地按程序规定的步骤操作,整个过程不需人工干预,自动执行,已达到用户的预期结果。

超级计算机(supercomputers)通常是指由数百数千甚至更多的处理器(机)组成的、能计算普通PC机和服务器不能完成的大型复杂课题的计算机。超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机,是国家科技发展水平和综合国力的重要标志。

超级计算机拥有最强的并行计算能力,主要用于科学计算。在气象、军事、能源、航天、探矿等领域承担大规模、高速度的计算任务。

在结构上,虽然超级计算机和服务器都可能是多处理器系统,二者并无实质区别,但是现代超级计算机较多采用集群系统,更注重浮点运算的性能,可看着是一种专注于科学计算的高性能服务器,而且价格非常昂贵。

一般的超级计算器耗电量相当大,一秒钟电费就要上千,超级计算器的CPU至少50核也就是说是家用电脑的10倍左右,处理速度也是相当的快,但是这种CPU是无法购买的,而且价格要上千万。

⑶ Apache服务器优化方法小结

Apache服务器优化
这个一些个人的总结,加上一些前辈的经验, 下面的优化总的来讲,在我使用的一年多中,还是相当有用的,优化和不优化还是比较明显的.
下面开始正题
ExtendedStatus On 因为写入额外的时间标志,设off。
MPM:worker-多进程多线程新型设计,适合高流量服务,但是不稳定,对象php之类支持非常差,不推荐, prefork-稳定,无线程,占用较多内存。
HostnameLookups off 关掉,这样少一dns查询,日志处理可以另外用软件。
注释LoadMoule指令中不要的模块。
一般说来,不需要的模块包括:
复制代码
  
代码如下:
LoadMole auth_basic_mole moles/mod_auth_basic.so
  #LoadMole auth_digest_mole moles/mod_auth_digest.so
  LoadMole authn_file_mole moles/mod_authn_file.so
  #LoadMole authn_alias_mole moles/mod_authn_alias.so
  LoadMole authn_anon_mole moles/mod_authn_anon.so
  #LoadMole authn_dbm_mole moles/mod_authn_dbm.so
  LoadMole authn_default_mole moles/mod_authn_default.so
  LoadMole authz_host_mole moles/mod_authz_host.so
  LoadMole authz_user_mole moles/mod_authz_user.so
  LoadMole authz_owner_mole moles/mod_authz_owner.so
  LoadMole authz_groupfile_mole moles/mod_authz_groupfile.so
  #LoadMole authz_dbm_mole moles/mod_authz_dbm.so
  LoadMole authz_default_mole moles/mod_authz_default.so
  LoadMole ldap_mole moles/mod_ldap.so
  #LoadMole authnz_ldap_mole moles/mod_authnz_ldap.so
  LoadMole include_mole moles/mod_include.so
  LoadMole log_config_mole moles/mod_log_config.so
  LoadMole logio_mole moles/mod_logio.so
  LoadMole env_mole moles/mod_env.so
  LoadMole ext_filter_mole moles/mod_ext_filter.so
  LoadMole mime_magic_mole moles/mod_mime_magic.so
  LoadMole expires_mole moles/mod_expires.so
  LoadMole deflate_mole moles/mod_deflate.so
  LoadMole headers_mole moles/mod_headers.so
  LoadMole usertrack_mole moles/mod_usertrack.so
  LoadMole setenvif_mole moles/mod_setenvif.so
  LoadMole mime_mole moles/mod_mime.so
  #LoadMole dav_mole moles/mod_dav.so
  LoadMole status_mole moles/mod_status.so
  LoadMole autoindex_mole moles/mod_autoindex.so
  LoadMole info_mole moles/mod_info.so
  #LoadMole dav_fs_mole moles/mod_dav_fs.so
  LoadMole vhost_alias_mole moles/mod_vhost_alias.so
  LoadMole negotiation_mole moles/mod_negotiation.so
  LoadMole dir_mole moles/mod_dir.so
  LoadMole actions_mole moles/mod_actions.so
  LoadMole speling_mole moles/mod_speling.so
  #比如:需要在~/username/下调试php可以将
  #LoadMole userdir_mole moles/mod_userdir.so
  LoadMole alias_mole moles/mod_alias.so
  LoadMole rewrite_mole moles/mod_rewrite.so
  #LoadMole proxy_mole moles/mod_proxy.so
  #LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
  #LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
  #LoadMole proxy_http_mole moles/mod_proxy_http.so
  #LoadMole proxy_connect_mole moles/mod_proxy_connect.so
  LoadMole cache_mole moles/mod_cache.so
  LoadMole suexec_mole moles/mod_suexec.so
  LoadMole disk_cache_mole moles/mod_disk_cache.so
  LoadMole file_cache_mole moles/mod_file_cache.so
  LoadMole mem_cache_mole moles/mod_mem_cache.so
  #cgi程序用到,象awstats之类需要用到
  LoadMole cgi_mole moles/mod_cgi.so
  LoadMole version_mole moles/mod_version.so
上面只是我总结的部分用不到的,有大侠指点一下还有那些可以不要....
文件夹Directory的选项的优化Options Indexes Includes FollowSymLinks ExecCGI
AllowOverride None
复制代码ExecCGI 允许执行 CGI 脚本。如果该选项没有设置,则 CGI 脚本将不能执行。如果没有必要最好不要开启,有可能会有安全性问题.
Includes 允许服务器端包含。服务器端包含允许一个 HTML 文件包含其他文件。这个平时用不到,他要检查每个html所以不要开启.
IncludesNOEXEC 允许服务器端包含,但 CGI 脚本中的 #exec 和 #include 指令无效。不常用,关掉
Indexes 如果 DirectoryIndex (如 index.html) 在请求的目录没存在的话,按一定方式显示目录内容列表.这个用的太多了,开启吧.
FollowSymLinks 最好关掉符号连接,Apache就必须执行额外的系统调用以验证符号连接。文件名的每一个组成部分都需要一个额外的调用.当打开这个选项时,Apache 将检查每个请求中是否包含对符号连接的引用,这将对请求中包含的每个路径调用一次lstat()系统调用。在请求"/index.html" 时,Apache将对"/www"、"/www/htdocs"、"/www/htdocs/index.html"执行lstat()调用。而且 lstat()的执行结果不被缓存,因此对每一个请求都要执行一次。除非你准备使用符号连接,否则用 Options -FollowSymLinks 来关掉它。 用一个破折号引导,从而禁用此指令。
AllowOverride 这个选项,是开启如包括htaccess来进行权限控制,Apache必需首先在当前目录中查找是否存在这个文件,如果存在就解析这个文件并在当前目录中应用文件中的设置。更坏的是,Apache不仅要查看当前的目录,还要查看当前目录的所有上层目录是否包括htaccess文件以根据所有这些文件最终确定设置。例如请求"/index.html",则Apache会试图打开"/.htaccess"、"/www/.htaccess"、"/www /htdocs/.htaccess"。其解决方法 AllowOverride None来关掉,当然,这样做静态化就只能写在VH的配置中了,禁用后设置文件仅在服务器启动时解析一次 。
DirectoryIndex index*,不要使用通配符,全用完整列表,如irectoryIndex index.cgi index.pl index.shtml index.html。当然,最少好些,明确的指定设置文件列表,放在最前最合理。
启用了持久链接Keepalive,这样子进程将保持忙碌状态以等待被打开连接上的新请求。如果开启KeepAliveTimeout的默认值被设置为5秒。最好不要大于60秒。
禁用日志
写入日志信息是一个很花费时间的工作,尽管Apache保持日志文件的打开状态以节省打开文件的时间,但仍然得花费不少的时间。如果没有必要存储日志信息,你可以关闭这个选项以节省出更多的处理器时间,只需要在设置文件中把日志那一行注释掉就可以关掉它。当然,实在需要,最要加入另一个单盘来管理日志存储.
静态内容方面
如果你的WEB服务器使用了大量静态内容或者你分别用两个WEB服务器处理动态和静态内容,那么你现在的主要目标就是缩短服务器发送被请求内容的响应时间,最简单的方法就是使用mod_cache缓存模块。你可以使用mod_disk_cache和mod_mem_cache来分别提供基于磁盘的缓存和基于内存的缓存。
优化动态内容
动态内容可能是所有WEB服务器中最消费时间的部分,特别是使用CGI的时候,一个简单的程序都可能会把响应时间增加好几秒。
使用基于脚本的方案的一大好处是它们在Apache里装入了解释器,这就减少了执行时再装入解释器的时间,一些方案还把解析过的脚本缓存起来,这样下一次遇到同样的请求就可以直接执行而无需再次解析。当然也可以应用的服务分离,象使用php的fastcgi来在后面跑,前面给Web服务器.
对特定系统的调整优化很复杂而且很花时间,而且你需要调整特定的脚本以利用优化的成果。
不过对动态内容的优化效果是非常明显的,仅仅是把perl脚本的执行模式从CGI转到mod_perl就可以减少多达70%的执行时间,如果我们进一步,还可以使用到数据库的持久连接或在多次请求之间缓存信息,这对电子商务网站非常有用,它也减小了不同请求间重复装载信息的开销。
总的来讲,网站的动态内容脚本和CGI是影响网站性能的最重要方面(所以好的程序员很重要),如果你管理一个典型的Apache服务器你会发现Apache响应一个传入连接以及最后把内容发送给客户的所花费的时间是以毫秒记的,而等待所需数据资源的时间常常达到几秒钟。
其它优化
可以把 Apache(httpd)的优先级改为 -15,这已经接近上限(优先级从最高的 -20 到最低的 19)。可以从命令行使用这两个实用程序:
* 要想停止现有服务并以优先级 -15 重新启动它,可以发出命令 nice -15 httpd
* 要想避免停止服务,可以发出命令 renice -15 -p 1996
这里的差异是 renice 需要进程 ID(或 pid)。如上所述,可以使用 top 查明 pid。nice 和 renice 是很灵活的程序
配置mod_expires模块(这个非常有用的优化哦)
mod_expires可以减少20-30%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。除开用户有发送no-cache才会更新,但要注意更新快的文件不要这么做.
mod_expires的安装配置:
复制代码
  
代码如下:
ExpiresActive On
  ExpiresDefault A60
  ExpiresByType image/x-icon A2592000
  ExpiresByType application/x-javascript A2592000
  ExpiresByType text/css A2592000
  ExpiresByType image/gif A604800
  ExpiresByType image/png A604800
  ExpiresByType image/jpeg A604800
  ExpiresByType text/plain A604800
  ExpiresByType application/x-shockwave-flash A604800
  ExpiresByType video/x-flv A604800
  ExpiresByType application/pdf A604800
  ExpiresByType text/html A60
其实还有一个压缩,我就不写了,见我另外的那个文章
http://www.php-oa.com/2008/08/20/gzipsquid.html 压缩比率可以高到70%,非常有用的.
另外高速的web服务,就可以把noatime参数加入/etc/fstab文件中
lnux文件系统当文件被访问,创建,更新的时候会保留纪录。默认的,当文件读写操作的时候,系统会更新last-time-read属性。因为写操作是比较耗费资源的操作,减少不必要的i/o可以整体上提高磁盘性能。
在挂接文件系统的时候,加入noatime参数可以禁止inode节点访问时间的修改。如果文件更新时间对于特定的应用不是很重要的话,比如web服务,就可以把noatime参数加入/etc/fstab文件中
比如:
/dev/sdb1 /mountlocation ext3 defaults,noatime 1 2
推荐利用单独的分区作为挂接点并打开noatime开关
也可以关掉的服务(这个好象谁都明白),apmd,autofs,cups,hpoj.isdn,pcmcia,rhnsd,sendmail,xfs(字体服务)
打开重用TCP/IP中的time-wait套接
sysctl -w net.ipv4.tcp_tw_reuse=1
启动TIME-WAIT 套接字状态的快速循环功能
sysctl =w net.ipv4.tcp_tw_recycle=1
这个一些个人的总结,加上一些前辈的经验, 下面的优化总的来讲,在我使用的一年多中,还是相当有用的,优化和不优化还是比较明显的.
下面开始正题
ExtendedStatus On 因为写入额外的时间标志,设off。
MPM:worker-多进程多线程新型设计,适合高流量服务,但是不稳定,对象php之类支持非常差,不推荐, prefork-稳定,无线程,占用较多内存。
HostnameLookups off 关掉,这样少一dns查询,日志处理可以另外用软件。
注释LoadMoule指令中不要的模块。
一般说来,不需要的模块包括:
LoadMole auth_basic_mole moles/mod_auth_basic.so
#LoadMole auth_digest_mole moles/mod_auth_digest.so
LoadMole authn_file_mole moles/mod_authn_file.so
#LoadMole authn_alias_mole moles/mod_authn_alias.so
LoadMole authn_anon_mole moles/mod_authn_anon.so
#LoadMole authn_dbm_mole moles/mod_authn_dbm.so
LoadMole authn_default_mole moles/mod_authn_default.so
LoadMole authz_host_mole moles/mod_authz_host.so
LoadMole authz_user_mole moles/mod_authz_user.so
LoadMole authz_owner_mole moles/mod_authz_owner.so
LoadMole authz_groupfile_mole moles/mod_authz_groupfile.so
#LoadMole authz_dbm_mole moles/mod_authz_dbm.so
LoadMole authz_default_mole moles/mod_authz_default.so
LoadMole ldap_mole moles/mod_ldap.so
#LoadMole authnz_ldap_mole moles/mod_authnz_ldap.so
LoadMole include_mole moles/mod_include.so
LoadMole log_config_mole moles/mod_log_config.so
LoadMole logio_mole moles/mod_logio.so
LoadMole env_mole moles/mod_env.so
LoadMole ext_filter_mole moles/mod_ext_filter.so
LoadMole mime_magic_mole moles/mod_mime_magic.so
LoadMole expires_mole moles/mod_expires.so
LoadMole deflate_mole moles/mod_deflate.so
LoadMole headers_mole moles/mod_headers.so
LoadMole usertrack_mole moles/mod_usertrack.so
LoadMole setenvif_mole moles/mod_setenvif.so
LoadMole mime_mole moles/mod_mime.so
#LoadMole dav_mole moles/mod_dav.so
LoadMole status_mole moles/mod_status.so
LoadMole autoindex_mole moles/mod_autoindex.so
LoadMole info_mole moles/mod_info.so
#LoadMole dav_fs_mole moles/mod_dav_fs.so
LoadMole vhost_alias_mole moles/mod_vhost_alias.so
LoadMole negotiation_mole moles/mod_negotiation.so
LoadMole dir_mole moles/mod_dir.so
LoadMole actions_mole moles/mod_actions.so
LoadMole speling_mole moles/mod_speling.so
#比如:需要在~/username/下调试php可以将
#LoadMole userdir_mole moles/mod_userdir.so
LoadMole alias_mole moles/mod_alias.so
LoadMole rewrite_mole moles/mod_rewrite.so
#LoadMole proxy_mole moles/mod_proxy.so
#LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
#LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
#LoadMole proxy_http_mole moles/mod_proxy_http.so
#LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole cache_mole moles/mod_cache.so
LoadMole suexec_mole moles/mod_suexec.so
LoadMole disk_cache_mole moles/mod_disk_cache.so
LoadMole file_cache_mole moles/mod_file_cache.so
LoadMole mem_cache_mole moles/mod_mem_cache.so
#cgi程序用到,象awstats之类需要用到
LoadMole cgi_mole moles/mod_cgi.so
LoadMole version_mole moles/mod_version.so
上面只是我总结的部分用不到的,有大侠指点一下还有那些可以不要….
文件夹Directory的选项的优化
Options Indexes Includes FollowSymLinks ExecCGI
AllowOverride None
ExecCGI 允许执行 CGI 脚本。如果该选项没有设置,则 CGI 脚本将不能执行。如果没有必要最好不要开启,有可能会有安全性问题.
Includes 允许服务器端包含。服务器端包含允许一个 HTML 文件包含其他文件。这个平时用不到,他要检查每个html所以不要开启.
IncludesNOEXEC 允许服务器端包含,但 CGI 脚本中的 #exec 和 #include 指令无效。不常用,关掉
Indexes 如果 DirectoryIndex (如 index.html) 在请求的目录没存在的话,按一定方式显示目录内容列表.这个用的太多了,开启吧.
FollowSymLinks 最好关掉符号连接,Apache就必须执行额外的系统调用以验证符号连接。文件名的每一个组成部分都需要一个额外的调用.当打开这个选项时,Apache将检查每个请求中是否包含对符号连接的引用,这将对请求中包含的每个路径调用一次lstat()系统调用。在请求"/index.html"时,Apache将对"/www"、"/www/htdocs"、"/www/htdocs/index.html"执行lstat()调用。而且lstat()的执行结果不被缓存,因此对每一个请求都要执行一次。除非你准备使用符号连接,否则用 Options -FollowSymLinks 来关掉它。 用一个破折号引导,从而禁用此指令。
AllowOverride 这个选项,是开启如包括htaccess来进行权限控制,Apache必需首先在当前目录中查找是否存在这个文件,如果存在就解析这个文件并在当前目录中应用文件中的设置。更坏的是,Apache不仅要查看当前的目录,还要查看当前目录的所有上层目录是否包括htaccess文件以根据所有这些文件最终确定设置。例如请求"/index.html",则Apache会试图打开"/.htaccess"、"/www/.htaccess"、"/www/htdocs/.htaccess"。其解决方法 AllowOverride None来关掉,当然,这样做静态化就只能写在VH的配置中了,禁用后设置文件仅在服务器启动时解析一次 。
DirectoryIndex index*,不要使用通配符,全用完整列表,如:DirectoryIndex index.cgi index.pl index.shtml index.html。当然,最少好些,明确的指定设置文件列表,放在最前最合理。
启用了持久链接Keepalive,这样子进程将保持忙碌状态以等待被打开连接上的新请求。如果开启KeepAliveTimeout的默认值被设置为5秒。最好不要大于60秒。
禁用日志
写入日志信息是一个很花费时间的工作,尽管Apache保持日志文件的打开状态以节省打开文件的时间,但仍然得花费不少的时间。如果没有必要存储日志信息,你可以关闭这个选项以节省出更多的处理器时间,只需要在设置文件中把日志那一行注释掉就可以关掉它。当然,实在需要,最要加入另一个单盘来管理日志存储.
静态内容方面
如果你的WEB服务器使用了大量静态内容或者你分别用两个WEB服务器处理动态和静态内容,那么你现在的主要目标就是缩短服务器发送被请求内容的响应时间,最简单的方法就是使用mod_cache缓存模块。你可以使用mod_disk_cache和mod_mem_cache来分别提供基于磁盘的缓存和基于内存的缓存。
优化动态内容
动态内容可能是所有WEB服务器中最消费时间的部分,特别是使用CGI的时候,一个简单的程序都可能会把响应时间增加好几秒。
使用基于脚本的方案的一大好处是它们在Apache里装入了解释器,这就减少了执行时再装入解释器的时间,一些方案还把解析过的脚本缓存起来,这样下一次遇到同样的请求就可以直接执行而无需再次解析。当然也可以应用的服务分离,象使用php的fastcgi来在后面跑,前面给Web服务器.
对特定系统的调整优化很复杂而且很花时间,而且你需要调整特定的脚本以利用优化的成果。
不过对动态内容的优化效果是非常明显的,仅仅是把perl脚本的执行模式从CGI转到mod_perl就可以减少多达70%的执行时间,如果我们进一步,还可以使用到数据库的持久连接或在多次请求之间缓存信息,这对电子商务网站非常有用,它也减小了不同请求间重复装载信息的开销。
总的来讲,网站的动态内容脚本和CGI是影响网站性能的最重要方面(所以好的程序员很重要),如果你管理一个典型的Apache服务器你会发现Apache响应一个传入连接以及最后把内容发送给客户的所花费的时间是以毫秒记的,而等待所需数据资源的时间常常达到几秒钟。
其它优化
配置mod_expires模块(这个非常有用的优化哦)
mod_expires可以减少20-30%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。除开用户有发送no-cache才会更新,但要注意更新快的文件不要这么做.
mod_expires的安装配置:
ExpiresActive On
ExpiresDefault A60
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A60
其实还有一个压缩,我就不写了,见我另外的那个文章Gzip在apache2中的设置和squid对它的处理
http://www.php-oa.com/2008/08/20/gzipsquid.html 压缩比率可以高到70%,非常有用的.
另外高速的web服务,就可以把noatime参数加入/etc/fstab文件中
lnux文件系统当文件被访问,创建,更新的时候会保留纪录。默认的,当文件读写操作的时候,系统会更新last-time-read属性。因为写操作是比较耗费资源的操作,减少不必要的i/o可以整体上提高磁盘性能。
在挂接文件系统的时候,加入noatime参数可以禁止inode节点访问时间的修改。如果文件更新时间对于特定的应用不是很重要的话,比如web服务,就可以把noatime参数加入/etc/fstab文件中
比如:
/dev/sdb1 /mountlocation ext3 defaults,noatime 1 2
推荐利用单独的分区作为挂接点并打开noatime开关
也可以关掉的服务(这个好象谁都明白),apmd,autofs,cups,hpoj.isdn,pcmcia,rhnsd,sendmail,xfs(字体服务)
打开重用TCP/IP中的time-wait套接
sysctl -w net.ipv4.tcp_tw_reuse=1
启动TIME-WAIT 套接字状态的快速循环功能
sysctl =w net.ipv4.tcp_tw_recycle=1
下面这个大家也可以了解一下,很久前的文章了

⑷ 数据库的ha模式是什么

高可用(HA)性有两种不同的含义,在广义环境中是指整个系统的高可用性,在狭义方面一般指主机、服务的冗余,如主机HA、应用程序的HA等,无论那种情况,高可用性都可以包含如下一些方面:
1、 系统失败或崩溃;
2、 应用层或者中间层错误;
3、网络失败;
4、 介质失败:指一些存放数据的媒体介质故障;
5、 人为错误;
6、 系统的容灾备份;
7、 计划内的维护或者重启。
可见,高可用性不仅包含了系统本身故障、应用层的故障、网络故障、认为操作的错误等,还包含数据的冗余、容灾及计划的维护时间等,也就是说一个真正的高可用环境,不仅能避免系统本身的问题,还应该能防止天灾、人祸,并且有一个可靠的系统升级及计划维护操作。

⑸ 深入解析Ubuntu操作系统的目录

第Ⅰ部分 安装与配置
第1章 Ubuntu概述
1.1 什么是Ubuntu
1.1.1 Ubuntu内部
1.1.2 Ubuntu的安装特点
1.1.3 Ubuntu文件系统的特点
1.2 Ubuntu的商业应用
1.3 Ubuntu的个人应用
1.4 64位Ubuntu
1.5 基于PPC平台的Ubuntu
1.6 基于双核处理器的Ubuntu
1.7 充分利用Ubuntu与Linux的文档
1.8 Ubuntu开发者与文档
1.9 阅读参考
第2章 安装Ubuntu前的准备
2.1 计划Ubuntu的部署方案
2.1.1 商业部署需要考虑的因素
2.1.2 系统部署需要考虑的因素
2.1.3 用户因素
2.1.4 预部署计划的核对表
2.1.5 安装计划
2.2 硬件需求
2.2.1 安装Ubuntu的最低硬件配置
2.2.2 在遗留的设备上安装Ubuntu
2.2.3 为Ubuntu安装分配硬盘空间
2.2.4 检查硬件的兼容性
2.2.5 为潜在的硬件问题做准备
2.2.6 准备并使用硬件列表
2.3 安装过程的准备
2.4 安装前与安装过程中的硬盘分区操作
2.4.1 选择分区方案
2.4.2 将Linux文件系统安排到各个分区上
2.5 使用Ubuntu的kickstart安装方式
2.6 阅读参考
第3章 安装Ubuntu
3.1 开始安装前的准备
3.1.1 检查硬件规格
3.1.2 安装选项
3.1.3 计划分区策略
3.1.4 引导程序
3.1.5 本地光盘安装
3.2 逐步安装
3.2.1 开始安装
3.2.2 首次更新
3.3 关机
3.4 阅读参考
第4章 安装后的配置
4.1 安装后配置问题的故障诊断
4.2 sudo命令
4.3 首次更新
4.4 配置软件源
4.5 安装显卡驱动
4.6 更改Ubuntu的桌面风格
4.6.1 更改桌面背景
4.6.2 更改颜色
4.6.3 更改系统字体
4.7 首选行为
4.7.1 首选应用程序
4.7.2 Removable Drives and Media
4.8 输入设备
4.8.1 键盘快捷键
4.8.2 键盘布局
4.8.3 鼠标
4.9 检测与配置调制解调器
4.9.1 配置串口调制解调器
4.9.2 为笔记本电脑配置WinModem
4.10 配置Ubuntu中的电源管理
4.11 重设日期和时间
4.11.1 使用date命令
4.11.2 使用hwclock命令
4.11.3 更改时间和日期
4.12 管理PCMCIA
4.12.1 使用PCMCIA
4.12.2 控制PCMCIA服务
4.13 配置与使用CD. DVD和CD-RW光驱
4.14 配置无线网络
4.15 配置Firestarter
4.16 阅读参考
第5章 Ubuntu初步
5.1 使用Linux文件系统
5.1.1 查看Linux文件系统
5.1.2 使用/bin和/sbin目录下的基本命令
5.1.3 在/boot目录和/dev目录中存储引导的内核和查看存储设备
5.1.4 使用和编辑/etc目录下的文件
5.1.5 保护用户目录/home中的内容
5.1.6 使用/proc目录的内容与内核进行交互
5.1.7 使用/usr目录下的共享数据
5.1.8 在/tmp目录下存储临时文件
5.1.9 访问/var目录下的可变数据文件
5.2 登录与使用Linux
5.2.1 基于文本的控制台登录
5.2.2 使用虚拟控制台
5.2.3 在Linux控制台会话中使用简单的键盘和鼠标技巧
5.2.4 退出
5.2.5 从远程计算机登录与退出
5.3 修改用户信息
5.4 阅读文档
5.4.1 使用手册页
5.4.2 查找和阅读软件包文档
5.5 使用shell
5.5.1 使用环境变量
5.5.2 使用shell导航和搜索
5.5.3 使用shell管理文件
5.5.4 通过shell压缩和解压的文件
5.6 使用文本编辑器
5.6.1 使用vi
5.6.2 使用emacs
5.7 使用权限
5.7.1 指派权限
5.7.2 目录权限
5.7.3 理解设置用户ID和设置组ID权限
5.8 以root用户身份工作
5.8.1 创建用户
5.8.2 删除用户
5.8.3 关闭系统
5.8.4 重启系统
5.9 阅读参考
第6章 X Window系统
6.1 X的基本概念
6.2 使用X11R7
6.2.1 xorg.conf文件的元素
6.2.2 配置X
6.3 启动X
6.3.1 使用显示管理器
6.3.2 通过使用startx从控制台启动X
6.4 选择和使用窗口管理器
6.5 GNOME和KDE桌面环境
6.5.1 GNU网络对象模型环境GNOME)
6.5.2 K桌面环境(KD)
6.5.3 Xfce:备选的轻量级桌面环境
6.6 阅读参考
第7章 管理软件
7.1 使用Add/Remove Applications管理软件
7.2 使用Synaptic管理软件
7.3 保持最新
7.4 使用命令行
7.4.1 日常使用
7.4.2 查找软件
7.5 从源代码编译软件
7.6 阅读参考
第8章 Internet应用:Web冲浪. 写邮件. 读新闻
8.1 选择Web浏览器
8.1.1 Mozilla Firefox
8.1.2 Mozilla Suite
8.1.3 Epiphany
8.1.4 Konqueror
8.2 选择电子邮件客户端
8.2.1 Evolution
8.2.2 Mozilla Thunderbird
8.2.3 Balsa
8.2.4 KMail
8.2.5 Mozilla Mail
8.2.6 mail应用程序
8.2.7 mutt
8.2.8 其他邮件客户端
8.3 网络新闻概述
8.4 选择新闻阅读器
8.4.1 slrn新闻客户端
8.4.2 Pan新闻客户端
8.4.3 Mozilla新闻客户端
8.4.4 Thunderbird新闻客户端
8.5 Internet Relay Chat
8.6 GAIM IM
8.7 使用Ekiga进行视频会议
8.8 阅读参考
第9章 生产应用程序
9.1 Ubuntu中的办公套件
9.1.1 使用OpenOffice.org
9.1.2 使用OpenOffice.org Writer
9.1.3 使用OpenOffice.org Calc
9.1.4 使用GNOME Office
9.1.5 使用KOffice
9.2 为Microsoft Windows编写的生产应用程序
9.3 阅读参考
第10章 多媒体应用
10.1 在Ubuntu中烧录CD和DVD
10.1.1 从命令行创建CD
10.1.2 从命令行创建DVD
10.1.3 使用Ubuntu的图形界面客户端创建CD和DVD
10.2 声音和音乐
10.2.1 声卡
10.2.2 录音
10.2.3 声音格式
10.2.4 翻录音乐
10.2.5 音乐播放器
10.2.6 流式音频
10.3 观看电视和视频
10.3.1 电视和视频硬件
10.3.2 视频格式
10.3.3 在Linux中观看视频
10.3.4 使用Linux观看电视
10.3.5 个人录像机
10.3.6 DVD和视频播放器
10.4 阅读参考
第11章 图形处理
11.1 在Ubuntu中使用数码相机
11.1.1 网络摄像头
11.1.2 手持式数码相机
11.1.3 使用F-Spot
11.2 在Ubuntu中使用扫描仪
11.2.1 使用图形格式
11.2.2 捕获屏幕图像
11.3 阅读参考
第12章 Ubuntu打印
12.1 Ubuntu打印概述
12.2 配置和管理打印服务
12.2.1 快速完成基于GUI的打印机配置
12.2.2 管理打印服务
12.3 创建和配置本地打印机
12.3.1 创建打印队列
12.3.2 编辑打印机设置
12.4 阅读参考
第13章 游戏
13.1 Linux游戏
13.1.1 安装专有显卡驱动程序
13.1.2 安装DOOM 3
13.1.3 安装Unreal Tournament 2004
13.1.4 安装Quake 4
13.1.5 安装Wolfenstein: Enemy Territory
13.1.6 安装Battle for Wesnoth
13.1.7 使用Cedega玩Windows游戏
13.2 阅读参考
第Ⅱ部分 系统管理
第14章 管理用户
14.1 用户账户
14.1.1 用户ID和组ID
14.1.2 文件访问权限
14.2 用户组管理
14.3 用户管理
14.3.1 用户管理工具
14.3.2 添加新用户
14.3.3 监视用户在系统上的行为
14.4 口令管理
14.4.1 系统口令策略
14.4.2 口令文件
14.4.3 shadow口令
14.4.4 管理用户口令的安全性
14.4.5 用户口令的批量更改
14.5 权限提升
14.5.1 用su命令临时改变用户身份
14.5.2 适时地用sudo命令获取root权限
14.5.3 用受限shell控制用户权限
14.6 用户登录过程
14.7 磁盘配额
14.7.1 使用磁盘配额
14.7.2 手动配置磁盘配额
14.8 阅读参考
第15章 自动执行任务
15.1 自启动服务
15.1.1 开始启动加载过程
15.1.2 加载Linux内核
15.1.3 系统服务和运行级别
15.1.4 运行级别的定义
15.1.5 启动到默认运行级别
15.1.6 用GRUB启动到非默认的运行级别
15.1.7 理解init脚本以及初始化的最后步骤
15.1.8 用管理工具控制自启动服务
15.1.9 改变运行级别
15.1.10 利用运行级别排除故障
15.2 手动启动和停止服务
15.3 计划任务
15.3.1 使用at和batch命令制定计划任务
15.3.2 使用cron命令重复执行任务
15.4 shell控制基础
15.4.1 shell命令行
15.4.2 在shell中进行模式匹配
15.4.3 输入输出的重定向
15.4.4 管道数据
15.4.5 后台处理
15.5 编写和执行shell脚本
15.5.1 运行shell脚本程序
15.5.2 系统启动时自动加载shell脚本
15.5.3 使用指定的命令行解释器运行shell脚本
15.5.4 在脚本中使用变量
15.5.5 给变量赋值
15.5.6 获取变量的值
15.5.7 位置参数
15.5.8 位置参数实例
15.5.9 使用位置参数从命令行获取变量
15.5.10 使用简单的脚本自动执行任务
15.5.11 内置变量
15.5.12 特殊字符
15.5.13 用双引号处理字符串中含有空格的变量
15.5.14 用单引号保留未被扩展的变量
15.5.15 使用反斜杠作为逃逸符号
15.5.16 使用backtick符号
15.5.17 pdksh和bash中的表达式比较
15.5.18 tcsh中的表达式比较
15.5.19 for语句
15.5.20 while语句
15.5.21 until语句
15.5.22 repeat语句(tcsh)
15.5.23 select语句(pdksh)
15.5.24 shift语句
15.5.25 if语句
15.5.26 case语句
15.5.27 break和exit语句
15.5.28 在shell脚本中使用函数
15.6 阅读参考
第16章 系统资源
16.1 系统监视工具
16.1.1 控制台环境下的系统监视
16.1.2 使用kill命令控制进程
16.1.3 进程优先级调度与控制
16.1.4 使用free命令显示内存使用情况
16.1.5 磁盘配额
16.1.6 图形界面的进程和系统管理工具
16.1.7 KDE桌面环境的进程和系统监视工具
16.2 阅读参考
第17章 备份. 还原和恢复
17.1 选择合适的备份策略
17.1.1 为什么会丢失数据
17.1.2 备份需求与所需资源的评估
17.1.3 如何评价备份策略的好坏
17.1.4 做出选择
17.2 选择备份硬件和介质
17.2.1 可移动存储介质
17.2.2 网络存储
17.2.3 磁带驱动器备份
17.3 使用备份软件
17.3.1 tar:最基本的备份工具
17.3.2 GNOME中的File Roller软件
17.3.3 KDE中的归档工具(KDE ark和kdat)
17.3.4 使用dd命令归档
17.3.5 使用Amanda备份程序
17.3.6 可供选择的其他备份软件
17.4 复制文件
17.4.1 用tar命令复制文件
17.4.2 压缩. 加密和发送tar数据流
17.4.3 用cp命令复制文件
17.4.4 用mc命令复制文件
17.4.5 用scp命令复制文件
17.4.6 用rsync命令复制文件
17.5 恢复被删除的文件
17.5.1 在遇到未知的文件系统错误时使用-S选项重新格式化
17.5.2 用mc命令恢复被删除的文件
17.6 系统修复
17.6.1 Ubuntu系统修复盘
17.6.2 备份和恢复主引导记录
17.6.3 从普通的可引导软盘启动系统
17.6.4 使用GRUB可引导软盘
17.6.5 使用系统恢复功能
17.7 阅读参考
第18章 网络连接
18.1 基础:localhost接口
18.1.1 检查loopback接口是否可用
18.1.2 手动配置loopback接口
18.2 TCP/IP网络
18.2.1 TCP/IP地址
18.2.2 在Ubuntu中使用IP伪装技术
18.2.3 端口
18.3 网络结构
18.3.1 子网划分
18.3.2 子网掩码
18.3.3 广播. 单播和多播地址
18.4 网络硬件设备
18.4.1 网卡
18.4.2 网线
18.4.3 集线器和交换机
18.4.4 路由器和网桥
18.4.5 初始化新的网络硬件
18.5 使用网络配置工具
18.5.1 在命令行中配置网络接口
18.5.2 网络配置文件
18.5.3 使用图形界面配置工具
18.6 动态主机配置协议
18.6.1 DHCP工作原理
18.6.2 在安装和启动时激活DHCP
18.6.3 DHCP软件的安装和配置
18.6.4 使用DHCP配置网络主机
18.6.5 DHCP的其他用途
18.7 无线网络
18.7.1 Ubuntu对无线网络的支持..
18.7.2 无线网络的优势
18.7.3 从现有的无线网络协议中选择合适的协议
18.8 连接Internet
18.9 通用的配置信息
18.10 配置数字用户线路访问Internet
18.10.1 理解以太网上的点对点协议
18.10.2 手动配置PPPoE连接
18.11 配置拨号Internet访问
18.12 排除连接故障
18.13 阅读参考
18.13.1 通用
18.13.2 DHCP
18.13.3 无线网络
18.13.4 书籍
第19章 使用ssh和telnet进行远程访问
19.1 架设Telnet服务器
19.2 Telnet与SSH的对比
19.3 架设SSH服务器
19.4 SSH工具
19.4.1 使用scp在计算机之间复制单个文件
19.4.2 使用sftp在计算机之间复制多个文件
19.4.3 使用ssh-keygen启动Key-based登录方式
19.5 远程X图形环境
19.5.1 XDMCP
19.5.2 VNC
19.6 阅读参考
第Ⅲ部分 服务器应用
第20章 Apache Web服务器管理
20.1 Apache Web服务器简介
20.2 安装Apache服务器
20.2.1 使用APT安装
20.2.2 亲自从源代码构建
20.3 启动与停止Apache
20.3.1 手动启动Apache服务器
20.3.2 使用/etc/init.d/apache2
20.4 设置运行时服务器配置
20.4.1 运行时配置指令
20.4.2 编辑httpd.conf
20.4.3 Apache多处理模块
20.4.4 使用.htaccess配置文件
20.5 文件系统认证与访问控制
20.5.1 使用allow和deny限制访问
20.5.2 认证
20.5.3 关于访问控制的结束语
20.6 Apache模块
20.6.1 mod_access
20.6.2 mod_alias
20.6.3 mod_asis
20.6.4 mod_auth
20.6.5 mod_auth_anon
20.6.6 mod_auth_dbm
20.6.7 mod_auth_digest
20.6.8 mod_autoindex
20.6.9 mod_cgi
20.6.10 mod_dir和mod_env
20.6.11 mod_expires
20.6.12 mod_headers
20.6.13 mod_include
20.6.14 mod_info和mod_log_config
20.6.15 mod_mime和mod_mime_magic
20.6.16 mod_negotiation
20.6.17 mod_proxy
20.6.18 mod_rewrite
20.6.19 mod_setenvif
20.6.20 mod_speling
20.6.21 mod_status
20.6.22 mod_ssl
20.6.23 mod_unique_id
20.6.24 mod_userdir
20.6.25 mod_usertrack
20.6.26 mod_vhost_alias
20.7 虚拟主机
20.7.1 基于地址的虚拟主机
20.7.2 基于名字的虚拟主机
20.8 日志
20.9 动态内容
20.9.1 CGI
20.9.2 SSI
20.9.3 基本的SSI指令
20.9.4 流程控制
20.10 可在Ubuntu中使用的其他Web服务器
20.10.1 Sun ONE Web服务器
20.10.2 Zope
20.10.3 Zeus Web服务器
20.11 阅读参考
第21章 管理数据库服务
21.1 简要回顾数据库的基本概念
21.1.1 关系数据库的工作方式
21.1.2 了解SQL的基础知识
21.1.3 创建表
21.1.4 向表中插入数据
21.1.5 从数据库中检索数据
21.2 选择数据库:MySQL和PostgreSQL
21.2.1 速度
21.2.2 数据锁定
21.2.3 在事务处理中用来保护数据完整性的ACID兼容性
21.2.4 SQL子查询
21.2.5 过程语言与触发器
21.3 配置MySQL
21.3.1 为MySQL root用户设置口令
21.3.2 在MySQL中创建数据库
21.3.3 在MySQL中授予与撤销特权
21.4 配置PostgreSQL
21.4.1 在PostgreSQL中初始化数据目录
21.4.2 在PostgreSQL中创建数据库
21.4.3 在PostgreSQL中创建数据库用户
21.4.4 在PostgreSQL中删除数据库用户
21.4.5 在PostgreSQL中授予和撤销特权
21.5 数据库客户端
21.5.1 通过SSH访问数据库
21.5.2 通过本地GUI客户端访问数据库
21.5.3 通过Web访问数据库
21.5.4 MySQL命令行客户端
21.5.5 PostgreSQL命令行客户端
21.5.6 图形界面的客户端
21.6 阅读参考
第22章 文件和打印
22.1 使用网络文件系统
22.1.1 安装和启动/停止NFS
22.1.2 NFS服务器配置
22.1.3 NFS客户端配置
22.2 让Samba工作
22.2.1 用/etc/samba/smb.conf手动配置Samba
22.2.2 使用testparm命令测试Samba
22.2.3 启动smbd守护进程
22.2.4 挂载Samba共享
22.2.5 使用SWAT配置Samba
22.3 使用Ubuntu进行网络和远程打印
22.3.1 创建网络打印机
22.3.2 在局域网上进行网络打印
22.3.3 任务消息块打印
22.4 使用通用UNIX打印系统GUI
22.5 避免打印机支持问题
22.5.1 多功能一体机(打印/传真/扫描)设备
22.5.2 使用USB和老式打印机
22.6 阅读参考
第23章 FTP远程文件服务
23.1 使用FTP客户端
23.1.1 FTP客户端界面
23.1.2 使用基于文本的FTP客户端界面
23.1.3 使用图形界面FTP客户端
23.2 FTP服务器
23.2.1 选择认证的或匿名服务器
23.2.2 Ubuntu的FTP服务器包
23.2.3 其他FTP服务器
23.3 安装FTP软件
23.4 FTP用户
23.5 为wu-ftpd配置inetd
23.6 配置VSFTP服务器
23.6.1 控制匿名访问
23.6.2 其他的vsftpd服务器配置文件
23.6.3 默认的vsftpd行为
23.7 配置Wu-FTPd服务器
23.8 使用ftpaccess文件中的命令对wu-ftpd进行配置
23.8.1 配置访问控制
23.8.2 配置用户信息
23.8.3 配置系统日志
23.8.4 配置权限控制
23.8.5 配置定向到cdpath的命令
23.8.6 shutdown文件的结构
23.9 配置FTP服务器的文件转换操作
23.9.1 剥离前缀
23.9.2 剥离后缀
23.9.3 添加前缀
23.9.4 添加后缀
23.9.5 外部命令
23.9.6 类型
23.9.7 选项
23.9.8 描述
23.9.9 一个转换操作的例子
23.10 使用ftphosts文件中的命令允许或禁止FTP 服务器连接
23.11 服务器管理
23.11.1 显示关于连接用户的信息
23.11.2 计算连接的数目
23.11.3 使用/usr/sbin/ftpshut安排FTP服务器停机时间
23.11.4 使用/var/log/xferlog查看服务器事务的日志
23.12 阅读参考
第24章 处理电子邮件
24.1 电子邮件是如何发送和接收的
24.1.1 邮件传输代理
24.1.2 选择一个MTA
24.1.3 邮件分发代理
24.1.4 邮件用户代理
24.2 基本的Postfix配置和操作
24.2.1 配置伪装
24.2.2 使用智能主机
24.2.3 设置消息传递时间间隔
24.2.4 邮件中继
24.2.5 转发带别名的电子邮件
24.3 使用Fetchmail获取邮件
24.3.1 安装Fetchmail
24.3.2 配置Fetchmail
24.4 选择邮件分发代理
24.4.1 Procmail
24.4.2 Spamassassin
24.4.3 Squirrelmail
24.4.4 病毒扫描器
24.5 邮件守护程序
24.6 Microsoft Exchange Server的替代者
24.6.1 Microsoft Exchange Server/Outlook客户端
24.6.2 CommuniGate Pro
24.6.3 Oracle协作套件
24.6.4 Bynari
24.6.5 Open-Xchange
24.6.6 phpgroupware
24.6.7 PHProjekt
24.6.8 Horde
24.7 阅读参考
24.7.1 Web资源
24.7.2 参考书目
第25章 代理与反向代理
25.1 什么是代理服务器
25.2 安装Squid
25.3 配置客户端
25.4 访问控制列表
25.5 指定客户端IP地址
25.6 配置示例
25.7 阅读参考
第26章 LDAP
26.1 配置LDAP服务器
26.2 配置客户端
26.2.1 Evolution
26.2.2 Thunderbird
26.3 管理
26.4 阅读参考
第Ⅳ部分 Linux编程
第27章 使用Perl
27.1 在Linux中使用Perl
27.1.1 Perl的版本
27.1.2 一个简单的Perl程序
27.2 Perl中的变量和数据结构
27.2.1 Perl的变量类型
27.2.2 特殊变量
27.3 操作符
27.3.1 比较操作符
27.3.2 复合操作符
27.3.3 算术操作符
27.3.4 其他操作符
27.3.5 特殊字符串常量
27.4 条件语句:if/else和unless
27.4.1 if
27.4.2 unless
27.5 循环
27.5.1 for
27.5.2 foreach
27.5.3 while
27.5.4 until
27.5.5 last和next
27.5.6 do…while和do…until
27.6 正则表达式
27.7 访问shell
27.8 模块和CPAN
27.9 代码示例
27.9.1 发送电子邮件
27.9.2 清理日志
27.9.3 往新闻组发信
27.9.4 单行小程序
27.9.5 命令行处理
27.10 阅读参考
27.10.1 书目
27.10.2 新闻组
27.10.3 万维网
27.10.4 其他资源
第28章 使用Python
28.1 Linux中的Python
28.2 Python基础
28.2.1 数字
28.2.2 进一步讨论字符串
28.2.3 列表
28.2.4 字典
28.2.5 条件和循环
28.3 函数
28.4 面向对象
28.4.1 类和对象变量
28.4.2 构造函数和析构函数
28.4.3 类继承
28.4.4 多重继承
28.5 标准库和Vaults of Parnassus
28.6 阅读参考
第29章 编写PHP脚本
29.1 PHP入门
29.1.1 进入和退出PHP模式
29.1.2 变量
29.1.3 数组
29.1.4 常量
29.1.5 引用
29.1.6 注释
29.1.7 转义序列
29.1.8 变量替换
29.1.9 操作符
29.1.10 条件语句
29.1.11 特殊操作符
29.1.12 switch语句
29.1.13 循环
29.1.14 包含其他文件
29.2 基本函数
29.2.1 字符串
29.2.2 数组
29.2.3 文件
29.2.4 其他函数
29.3 处理HTML表格
29.4 数据库
29.5 阅读参考
第30章 Ubuntu中的C/C++ 编程工具
30.1 Linux中的C编程
30.1.1 C++编程
30.1.2 Linux C/C++编程入门
30.1.3 编程的步骤
30.2 C/C++语言的基本元素
30.3 Ubuntu中的C语言编程项目管理工具
30.3.1 使用make构建程序
30.3.2 使用autoconf工具配置代码
30.3.3 使用RCS和CVS管理软件项目
30.3.4 调试工具
30.4 使用GNU C编译器
30.5 一个简单的C程序
30.6 图形界面开发工具
30.6.1 使用KDevelop客户端
30.6.2 Trolltech的Qt Designer
30.6.3 GNOME中的开发工具Glade客户端
30.7 阅读参考
第Ⅴ部分 Ubuntu日常维护
第31章 保护您的机器
31.1 了解计算机攻击
31.2 评估机器的弱点
31.3 保护您的机器
31.3.1 保护无线网络
31.3.2 口令和物理安全
31.3.3 配置和使用Tripwire
31.3.4 设备
31.4 病毒
31.5 配置防火墙
31.6 构建一个灾难恢复计划
31.7 在Linux安全问题上要保持最新
31.8 阅读参考
第32章 性能调整
32.1 硬盘
32.1.1 使用BIOS和内核来调整磁盘驱动器
32.1.2 hdparm命令
32.1.3 文件系统调整
32.1.4 tune2fs命令
32.1.5 e2fsck命令
32.1.6 badblocks命令
32.1.7 禁止文件访问时间
32.2 内核
32.3 Apache
32.4 MySQL
32.4.1 衡量关键字缓冲区的使用
32.4.2 使用查询缓存
32.4.3 其他调整
32.4.4 查询优化
32.5 阅读参考
第33章 命令行高级班
33.1 为什么使用Shell
33.2 基本命令
33.2.1 使用cat输出文件的内容
33.2.2 使用cd改变目录
33.2.3 使用chmod修改文件访问权限
33.2.4 使用cp复制文件
33.2.5 使用输出磁盘使用情况
33.2.6 通过使用find查找文件
33.2.7 使用grep在输入中查找字符串
33.2.8 使用less为输出翻页
33.2.9 使用ln在文件间创建链接
33.2.10 使用locate通过索引查找文件
33.2.11 使用ls命令列出当前目录下的文件
33.2.12 使用man阅读用户手册页
33.2.13 使用mkdir创建目录
33.2.14 使用mv移动文件
33.2.15 使用ps列出进程
33.2.16 使用rm删除文件和目录
33.2.17 使用tail输出文件的最后一行
33.2.18 使用top输出资源利用率
33.2.19 使用which输出命令的位置
33.3 将命令组合使用
33.4 多终端
33.5 阅读参考
第34章 高级APT
34.1 使用Aptitude
34.2 dpkg后端
34.3 配置APT
34.4 阅读参考
第35章 内核和模块管理
35.1 Linux内核
35.1.1 Linux源代码树
35.1.2 内核的类型
35.2 管理模块
35.3 何时进行重新编译
35.4 内核版本
35.5 获得内核源代码
35.6 为内核打补丁
35.7 编译内核
35.7.1 使用xconfig配置内核
35.7.2 创建一个初始的RAM磁盘映像
35.8 当发生故障时
35.8.1 编译时的错误
35.8.2 运行时错误. 启动加载器问题和内核oops
35.9 阅读参考
第Ⅵ部分 附录
附录A Ubuntu和Linux的Internet资源
A.1 Web站点和搜索引擎
A.2 Usenet新闻组
A.3 邮件列表
A.4 Internet Relay Chat

⑹ PHP是什么类型的文件,该如何使用

PHP,即“PHP: Hypertext Preprocessor”,是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言的主要目标是让 Web 开发人员快速的书写动态生成的网页.
PHP 代码是运行在服务端的.
它的使用需要你的服务器安装php服务.

PHP 能做什么?
PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此您可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限于此。

PHP 脚本主要用于以下三个领域。

服务端脚本。这是 PHP 最传统,也是最主要的目标领域。开展这项工作您需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、WEB 服务器和 WEB 浏览器。您需要在运行 WEB 服务器时,安装并配置 PHP,然后,可以用 WEB 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。请查阅“安装”一章以获取更多信息。

命令行脚本。您可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,您仅仅只需要 PHP 解析器来执行。这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheler(Windows 环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅“PHP 的命令行模式”以获取更多信息。

编写客户端的 GUI 应用程序。对于基于窗口式的应用程序来说,PHP 或许不是一种最好的语言,但是如果您非常精通 PHP,并且希望在您的客户端应用程序中使用 PHP 的一些高级特性,您可以利用 PHP-GTK 来编写这些程序。用这种方法,您还可以编写跨平台的应用程序。PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。如果您对 PHP-GTK 感兴趣,请访问其网站以获取更多信息。

PHP 能够用在所有的主流操作系统上,包括 Linux、Unix 的各种变种(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已经支持了大多数的 WEB 服务器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。对于大多数的服务器,PHP 提供了一个模块;还有一些 PHP 支持 CGI 标准,使得 PHP 能够作为 CGI 处理器来工作。

综上所述,使用 PHP,您可以自由地选择操作系统和 WEB 服务器。同时,您还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管 PHP 目前的版本还没有支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括 PEAR 库)仅使用 OOP 代码来开发。

使用 PHP,您并不局限于输出 HTML。PHP 还能被用来动态输出图像、PDF 文件甚至 Flash 动画(使用 libswf 和 Ming)。您还能够非常简便的输出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。

PHP 最强大最显着的特性之一,是它支持很大范围的数据库。您会发现利用 PHP 编写数据库支持的网页简单得难以置信。目前,PHP 支持如下数据库:

Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm

我们同时还有一个 DBX 扩展库使得您可以自由的使用该扩展库支持的任何数据库。另外,PHP 还支持 ODBC,即 Open Database Connection Standard(开放数据库连接标准),因此您可以连接任何其它支持该世界标准的数据库。

PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 环境)等不计其数的协议的服务。您还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP 支持和所有 WEB 开发语言之间的 WDDX 复杂数据交换。关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以将他们自由的用作 PHP 对象。您甚至可以用我们的 CORBA 扩展库来访问远程对象。

PHP 具有极其有效的文本处理特性,支持从 POSIX 扩展或者 Perl 正则表达式到 XML 文档解析。为了解析和访问 XML 文档,我们支持了 SAX 和 DOM 标准。您可以使用我们的 XSLT 扩展库来转换 XML 文档。

如果您将 PHP 用于电子商务领域,您会发现其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS 函数对于您的在线交易程序来所是非常有用的。

热点内容
java的大小写 发布:2024-10-28 13:17:58 浏览:284
yocto交叉编译 发布:2024-10-28 12:59:41 浏览:189
案例算法 发布:2024-10-28 12:30:55 浏览:29
鸿蒙编译器mac 发布:2024-10-28 12:30:12 浏览:528
我的世界pc国际服服务器 发布:2024-10-28 12:30:03 浏览:669
java反射私有属性 发布:2024-10-28 12:29:02 浏览:577
微软安卓编译软件 发布:2024-10-28 12:16:05 浏览:565
苹果软件如何关闭存储 发布:2024-10-28 12:08:57 浏览:626
ie设置代理服务器地址 发布:2024-10-28 11:52:37 浏览:658
如何制作一个好的服务器 发布:2024-10-28 11:45:07 浏览:402