PHP的全名是“PHP:HYPERTEXT PREPROCESSOR”。是一种多平台无缝运行的服务器端嵌入式脚本语言,它融合了C、JAVA和PERL等编程语言,由于它是一种免费的软件,具有自由软件的性质,版本更新速度快,移植速度快,丰富的函数库功能,因而很快得到大家的喜欢,特别是PHP提供加密函数库,特别适合给安全性较高的电子商务网站的要求,在Apache环境下构建的PHP网站已经作为当前的流行的Web网站之一。
PHP能够作为Apache Web服务器的模块执行,使得它的执行效率要高于普通的CGI程序,而且能比CGI或者Perl更快速地执行动态网页。
PHP的工作原理如下(如下图1所示):
我们如果创建了一个PHP应用程序,实际上相当于创建了一个PHP脚本文件。在服务器将输出信息发送到客户端之前,网络服务器会率先将文件中的PHP语言进行加工处理。如果服务器不支持PHP,通常情况下,网络服务器会直接将超文本文件送到客户的浏览器上以表示对HTTP的要求作出应答;如果服务器支持PHP,则在服务器响应一个对PHP文件的请求时,会进行下列处理:首先在一个PHP文件内,标准的HTML编码会被直接送到浏览器上,而内嵌PHP程序却是先被网络服务器解释执行。如果是标准输出的话,输出信息也将作为标准的HTML而被送至浏览器。
PHP可以安装在Unix/Linux环境下,也可以安装在Windows环境下。目前网站使用最多的、也是最理想的便是PHP+MySQL+Apache基于Unix/Linux下的服务器策略。
本文中所说的Linux就选用大家比较熟悉的Red Hat Linux操作系统。
作为一个领先的开放源代码操作系统,红帽企业Linux提供了适用于从台式计算机到大型数据中心的系列产品:红帽企业 Linux AS 适用于高端的,用于关键业务处理的系统,红帽企业 Linux ES 适用于小到中型服务器,红帽企业 Linux WS 适用于技术/设计工作站,红帽企业 Desktop适用于安全,可管理的客户机环境。
我们采用最新的红帽企业 Linux AS4的环境中使用Apache来构建PHP网站,作为学习环境使用,在安装redhat AS4时选择为系统“定制软件包”,在定制安装中选择“全部”,会安装包括在红帽企业 Linux AS4中的所有软件包。Apache 2.0服务器版本、PHP 4.3.9以及MySQL 4.1.x等软件都已经安装成功。
我们也可以到http://www.apache.org/网站下载Apache最新版本, http://www.php.net/网站下载PHP新版本以及http://www.mysql.com/下载Linux的MySQL最新版本分别进行安装,由于篇幅有限,这里就不介绍如何分别编译、配置和安装了。
红帽企业 Linux AS4中使用 “HTTP 配置工具”来配置 Apache HTTP 服务器 的一般步骤如下所述:
1)在「主」标签下配置基本设置。
2)根据实际需要,点击「虚拟主机」标签来配置默认设置。在「虚拟主机」标签下,配置默认的虚拟主机。如果你想为不止一个 URL 或虚拟主机提供服务,则添加额外的虚拟主机。
3)在「服务器」标签下配置服务器设置。
4)在「性能微调」标签下配置连接设置。
5)把所有必要的文件复制到 DocumentRoot 和 cgi-bin 目录中。
6)退出程序并保存你的设置。
1、基本设置
使用「主」标签来配置基本服务器设置。
在「服务器名称」文本字段中输入有权使用的完整域名。该选项和 httpd.conf 中的 ServerName 指令相对应。ServerName 指令设置万维网(WWW或WEB)服务器的主机名。服务器名称不一定非要是它的 IP 地址。在这里服务器名称设为 www.ghq.com。
在「网主电子邮件地址」文本字段中输入万维网服务器维护者的电子邮件地址。该选项和 httpd.conf 中的ServerAdmin 指令相对应。如果配置服务器的错误页要包含电子邮件地址,该地址将会被用户用来向服务器的管理员提交问题。默认的值是:root@localhost。
使用「可用地址」文本字段来定义服务器接受进入连接请求的端口。该选项和 httpd.conf 中的Listen 指令相对应。红帽默认配置 Apache HTTP 服务器 在端口 80 上监听非安全万维网通讯。
为了简单明了,这里我们不配置虚拟主机。
「服务器」标签允许配置基本的服务器设置。默认设置在多数情况下都是适用的。
「锁文件」的值和LockFile 指令相对应。在服务器使用 USE_FCNTL_SERIALIZED_ACCEPT 或 USE_FLOCK_SERIALIZED_ACCEPT 编译时,该指令把路径设为锁文件所用的路径。它必须贮存在本地磁盘上。
「PID 文件」的值和PidFile 指令相对应。该指令设置服务器记录进程 ID(PID) 的文件。该文件应该只能够被根用户读取。多数情况下,应该使用默认值。
「核心转储目录」的值和CoreDumpDirectory 指令相对应。Apache HTTP 服务器在转储核心前会试图转换到该目录中。默认值是 ServerRoot。
「用户」的值和 User 指令相对应。它设置服务器回答请求所用的 userid。用户的设置决定服务器的访问权限。该用户所无法访问的文件,网站来宾也不能够访问。默认的 User 是 apache。
Group 的值与 Group 指令相对应。Group 指令和 User 指令很相似。它设置服务器回答请求所用的组群。默认组群也是 apache。
3、调整性能
点击「调整性能」标签来配置使用的服务器子进程的最大数量,以及客户连接方面的 Apache HTTP 服务器选项。这些选项的默认设置在多数情况下是恰当的。改变这些设置会影响你的万维网服务器的整体性能。
把「最多连接数量」设为服务器能够同时处理的客户请求的最多数量。服务器为每个连接创建一个 httpd 子进程。进程数量达到最大限度后,直到某子进程结束,Web服务器才能够接受新客户连接。如果不重新编译 Apache,该选项设置的值将不能超高 256。该选项与 MaxClients 指令相对应。
「连接超时」定义的服务器在通信时等候传输和回应的秒数。特别是,「连接超时」定义服务器在接收 GET 请求时要等多久,在接收 POST 或 PUT 请求的 TCP 包时要等多久,以及在回应 TCP 包的 ACK 之间要等多久。「连接超时」被默认设为 300 秒,这在多数情况下都是适用的。该选项与 TimeOut 指令相对应。
把「每次连接最多请求数量」设为每个持续连接所允许的最多请求次数。默认值为 100,这应该在多数情况下都适用。该选项与 MaxRequestsPerChild 指令相对应。
如果选择了「允许每次连接可有无限制请求」选项,MaxKeepAliveRequests 指令的值就会是 0,这会允许无限制的请求次数。
如果取消选择了「允许持久性连接」选项,KeepAlive 指令就会被设为 false。如果选择了它,KeepAlive 指令就会被设为 true,并且KeepAliveTimeout 指令的值会被设为「下次连接的超时时间」中选定的值。该指令设置的超时秒数是服务器在回答了一项请求之后,关闭连接之前,等待下一个请求时会等候的秒数。一旦接收到请求,服务器就会改用「连接超时」中的值。
把「持续连接」设为一个较大的数值可能会导致服务器速度减慢,这要依据试图连接该服务器的用户数量而定。该选项的数值越大,等候前一个用户再次连接的服务器进程就越多。
4、保存设置
如果不想保存所做的 Apache HTTP 服务器 配置,点击 HTTP 配置工具窗口右下角的「取消」按钮,会被提示确认。如果点击了「是」来确认该选择,设置就不会被保存。
如果你想保存你所做的 Apache HTTP 服务器 配置,点击 HTTP 配置工具窗口右下角的「确定」按钮。一个对话框就会出现。如果你点击了「是」,你的设置就会被保存在 /etc/httpd/conf/httpd.conf 中。
如果这是第一次使用 HTTP 配置工具,我们会看到一个警告配置文件已经被手工修改的对话框。如果 HTTP 配置工具检测到 httpd.conf 配置文件已被手工修改,它会把手工修改的文件保存为 /etc/httpd/conf/httpd.conf.bak。
Apache的配置文件httpd.conf位于/etc/httpd/conf目录下如图5所示,其中的主机名和网页存放的目录位置等都有相应的配置如图6所示。
红帽企业 Linux AS4中默认的 /etc/php.ini 配置文件已经把过去使用的默认值 "development" 改为使用 "production" 为默认值。这个软件包现在使用 "apache2handler" SAPI 与 Apache httpd 2.0 集成,而不是使用 "apache2filter" SAPI。如果从以前的发行版本升级,SetOutputFilter 会被从 /etc/httpd/conf.d/php.conf 文件中删除。
Php.ini文件在/etc目录下(如图7),打开文件内容如图8所示,其中有engine=On项,表示PHP语言模块已经集成在Apache中即启动Apache服务,PHP也就启动了。
首先编辑一个test.php文件,内容如图11所示,将该文件保存在/var/www/html目录中;然后启动Apache 服务如图12,在浏览器上输入http://192.168.1.68/test.php,调出页面如图13所示,至此在Apache服务器的构建PHP网站就算完成了。
1.购买红旗Linux6.0桌面正式版安装光盘或下载镜像文件。
2. 你的硬件不是太老或是太新一般都能被支持,如果你不放心可以到官方网去看看硬件兼容性列表。
二.安装红旗Linux6.0桌面版:
上图显示∶用图形界面方式安装或升级安装Red Flag Linux请按<ENTER>回车键,用文本方式安装或升级安装Red Flag Linux请输入“text”后按<ENTER>回车键。
这里图形界面方式安装红旗Linux6.0桌面正式版,直接回车后继续,将出现如下图所示画面6.0桌面正式版,直接回车后继续,将出现如下图所示画面:
选择安装分区及分区的方式是安装Linux的关键步骤,搞不好会丢失硬盘数据,应慎重选择。
如果选择自动分区,将会有三个选项∶
1、删除硬盘中所有Linux分区;
2、删除硬盘中所有分区;
3、用硬盘中未分配空间安装系统。
使用Disk Druid手工分区即可随心所欲进行分区。
这里选“使用Disk Druid进行手工分区”。选择“使用Disk Druid进行手工分区”后点击“下一步”
该步列出了硬盘中的所有分区详细信息。在这里准备将硬盘划分为三个分区∶第一个约8G用于安装系统,第二个约768MB(内存2倍)用作交换区,剩余空间给第三个分区。
到这就按你的硬盘来了.
在分区列表中点击“空闲”后,再点击“新建”按钮
为系统管理员root帐户设置密码,密码要大于6位数。。。。。。
安装向导到此结束。安装过程是最漫长的......
安装完成。。。。。。
从上面图中可见两个分区“/”和“/home”已经加载。在开始菜单中没有关机选项,按“Ctrl+Alt+Del”组合键后才出现,如上图所示。 点注销也可出现关机。。。。。。
三,卸载红旗Linux6.0桌面正式版方法
用MS-DOS启动盘或98启动盘启动进入DOS,运行“fdisk /mbr” 重写主引导记录MBR即可删除启动菜单只留下进入Windows系统选项,再格式化Linux6.0安装分区即可。
001_Install_Boot.bmp
002_Install_Splash.bmp
003_Install_Language.bmp
004_Install_Keyboard.bmp
005_Install_Partition.bmp
006_Install_Network.bmp
007_Install_Timezone.bmp
008_Install_Password.bmp
009_Install_Software.bmp
010_Install_Begin.bmp
011_Grub_Menu.bmp
012_Graphical_Boot.bmp
013_Setup_Welcome.bmp
014_Setup_License.bmp
015_Setup_Firewall.bmp
016_Setup_SELinux.bmp
017_Setup_DateTime.bmp
018_Setup_HardwareProfile.bmp
019_Setup_CreateUser.bmp
020_Setup_SoundCard.bmp
021_Login_Screen.bmp
022_Fedora_Desktop.bmp
023_Updates_Available.bmp
024_Package_Updater.bmp
SMP(多处理系统):这种系统是在一台计算机里有多个CPU,CPU之间的地位是平等的,它们共享内存空间和I/O设备。其工作方法是由操作系统负责将任务分解成多个并发进程,然后让其在不同的CPU上运行。
NUMA(非统一内存存取):这种系统可以让多处理计算机的CPU比SMP更高效地共享本地内存,CPU可以更快速地存取单一的内存区域,不过如需要也可以用间接方式存取其他区域的内存,这种方法是让某些CPU在给定范围的物理内存中有更大的优先使用权。
MPP(巨型并行处理):这种系统的节点都有自己的CPU,并有自己的专有资源。此种结构相对独立,但各个节点一般没有完全存取I/O的能力。
集群:集群系统是由独立的计算机组成,但有控制管理工具统一管理。
分布处理:它是比我们要构筑的集群系统更松散的连接,一般是任务在不同的地方完成,没有可以作为整体管理的单一实体。
以上的聚合方式有紧有疏,它们都有自己的适用范围,这里就不多说了,有兴趣可自己找些资料看,这里只是想让大家了解它所处的位置。
实现负载均衡的方法
集群的目的是共享和高效地利用资源,提供大型运算,提供负载均衡分配请求压力以及出现故障时能够进行切换实现高可用性。
限于篇幅,本文只对负载均衡的实现做些介绍(针对TurboLinux Cluster Server)。通过对相关软件的分析,实现集群负载的功能是通过流量管理实现的,具体有这样几种实现方法:直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling)。
直接路由(Direct forwarding)
当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。优点是返回给客户的流量不经过控制主机,速度快开销少。
网络地址转换(NAT)
这种方法可能大家较熟悉,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量经过转换器。
隧道技术(Tunneling)
这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法,为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。
集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等,下面我们将就具体的产品TurboLinux Cluster Server 来实现一个进行负载均衡集群系统,用于提供Web和FTP的服务。
四台服务器的负载均衡实例
所提供的服务:Web、FTP。
系统的实现目的:做一个较完善负载均衡的系统,以便能用到其中的较多的功能。
采用设备状况:使用四台服务器,其中3台装TurboLinux Cluster Server,台安装Windows 2000 Sever。
系统安装
.在两台服务器上安装TurboLinux, apache和wu-ftpd也要安装,因为集群要提供这种服务,安装完后重启,挂接光驱在目录/mnt/cdrom下,执 行./TLCS-install,然后按提示完全安装。
2.在一台服务器上安装Windows 2000 Server,要安装Internet Information Server 5.0。
系统配置
.设置各台服务器的IP地址、子网掩码、路由等,调通网络,将一台TurboLinux服务器设置 成DNS服务器,使其能够正向解析和反向解析。服务器名此例为 pc,域为test.com。
2.配置Cluster Server。执行Turbolinux clusteradmin,设置情况如下(注:箭头连接的是选单选项,箭头所指为下级选单,最后冒号后为设置情况)。
ClusterServer Configuration→Cluster Services→Application Stability Agents:
()http为默认的服务,不用设置
(2)ftp----/usr/lib/ftpAgent
ClusterServer Configuration→Cluster Services→Service Settings:
()http,80:TCP,sticky
(2)ftp,2:TCP,ftp
ClusterServer Configuration→Servers Configuration:
() pc (pc.test.com),direct,ping
(2) pc2 (pc2.test.com),direct,ping
(3) pc3 (pc3.test.com),direct,ping
(4) pc4 (pc4.test.com),direct,ping
ClusterServer Configuration→Advance Traffic Managers:
()Advance Traffic Manager System: pc.test.com
(2)Advance Traffic Manager Setting: 默认值
ClusterServer Configuration→Virtual Severs:
()主机为:pc.test.com
(2)sendmail:[email protected]
(3)Server pool name: ServerGroup
ClusterServer Configuration→Globle Settings:
网络设置:netmask 255.255.255.0
配置集群各接点
因为TurboLinux Cluster Server 本身能被工具自动同步,所以只需配置Windows 2000 Server:
开始→设置→控制面板→添加新硬件→下一步→添加/排除设备故障→添加新设备→否,我想从列表选择硬件→其他设备→Microsoft:Microsoft Loopback Adapter→完成。
桌面上右键单击“网上邻居”→属性→TCP/IP→设置IP地址、缺省网关,子网掩码(注:先设成:255.255.255.0)。
开始→运行→regedit→找到注册表中跟Microsoft Loopback Adapter相关的项,将子网掩码改成:255.255.255.255。
配置系统以便运行合适的服务、并配置适合控制管理器管理的配置,以便可在控制管理器中使用。
在管理选单中执行内容同步
选tlcs_content_sync,输入密码,将复制控制管理计算机中的服务内容。
在管理选单中执行设置同步
选tlcs_config_sync,输入密码,将复制控制管理计算机中的设置。
现在已经可以进入运行状态,可将客户端连接在服务器的交换机上,客户端可以请求Web和FTP服务,需要查看运行情况可以用控制台从https://pc.test.com:90管理。
在计算机技术中集群负载平衡是自成体系的,目前它是一个热门技术也是一个高端应用,Internet/Intranet中使用集群负载平衡方案的地方十分广泛,尤其是大中型网站都难脱离这种技术,直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling)都会因需要而被采用。它在网络中的作用和被人们重视程度都是很高的,如果你也感兴趣的话,不妨也来试试。
准备安装
阿昊是一个有着良好习惯的技术高手,每次进行实际操作之前总要针对欲实现的目标做一些准备工作,当然这次也不例外。阿昊首先让晨晨选择了一台安装有Windows Server 2003的服务器用以部署DHCP服务,并且还让晨晨为这台服务器指定了一个静态IP地址(如“10.115.223.1”)。另外根据网络中同一子网内所拥有的客户端电脑的数量,阿昊和晨晨初步确定了一段IP地址范围作为DHCP的作用域。
阿昊提示:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是Windows 2000 Server和Windows Server 2003系统内置的服务组件之一。DHCP服务能为网络内的客户端电脑自动分配TCP/IP配置信息(如IP地址、子网掩码、默认网关和DNS服务器地址等),从而帮助网络管理员省去手动配置相关选项的工作。
安装DHCP服务
在Windows Server 2003系统中默认没有安装DHCP服务,因此晨晨在阿昊的指导下开始安装DHCP服务。
第1步 在“控制面板”中双击“添加或删除程序”图标,在打开的窗口左侧单击“添加/删除Windows组件”按钮,打开“Windows组件向导”对话框。
第2步 在“组件”列表中找到并勾选“网络服务”复选框,然后单击“详细信息”按钮,打开“网络服务”对话框。接着在“网络服务的子组件”列表中勾选“动态主机配置协议(DHCP)”复选框,依次单击“确定→下一步”按钮开始配置和安装DHCP服务。最后单击“完成”按钮完成安装(如图1)。
创建IP作用域
晨晨对新技术的接受能力很强,三下五除二就完成了DHCP服务的安装。阿昊提醒晨晨,要想为同一子网内的所有客户端电脑自动分配IP地址,首先要做就是创建一个IP作用域,这也是事先确定一段IP地址作为IP作用域的原因。在阿昊的指导下,晨晨又开始了创建IP作用域的操作。
第1步 依次单击“开始→管理工具→DHCP”,打开“DHCP”控制台窗口。在左窗格中右击DHCP服务器名称,执行“新建作用域”命令(如图2)。
第2步 在打开的“新建作用域向导”对话框中单击“下一步”按钮,打开“作用域名”向导页。在“名称”框中为该作用域键入一个名称(如“CCE”)和一段描述性信息,单击“下一步”按钮。
小提示:这里的作用域名称只起到一个标识的作用,基本上没有实际应用。
第4步 在打开的“添加排除”向导页中可以指定排除的IP地址或IP地址范围。由于晨晨已经使用了几个IP地址作为其它服务器的静态IP地址,因此需要将它们排除。在“起始IP地址”编辑框中键入排除的IP地址并单击“添加”按钮。重复操作即可,接着单击“下一步”按钮(如图4)。
第6步 打开“配置DHCP选项”向导页,保持选中“是,我想现在配置这些选项”单选框并单击“下一步”按钮。在打开的“路由器(默认网关)”向导页中根据实际情况键入网关地址(本例为“10.115.223.254”)并依次单击“添加→下一步”按钮。
第7步 在打开的“域名称和DNS服务器”向导页中没有做任何设置,这是因为网络中没有安装DNS服务器且尚未升级成域管理模式。依次单击“下一步”按钮,跳过“WINS服务器”向导页打开“激活作用域”向导页。保持“是,我想现在激活此作用域”单选框选中状态,并依次单击“下一步”→“完成”按钮结束配置。
设置DHCP客户端
安装了DHCP服务并创建了IP作用域后,晨晨以为已经大功告成了。可是阿昊提醒道:“要想使用DHCP方式为客户端电脑分配IP地址,除了网络中有一台DHCP服务器外,还要求客户端电脑应该具备自动向DHCP服务器获取IP地址的能力,这些客户端电脑就被称作DHCP客户端”。
阿昊跟晨晨来到一台运行Windows XP的客户端电脑面前进行了如下设置:在桌面上右击“网上邻居”图标,执行“属性”命令。在打开的“网络连接”窗口中右击“本地连接”图标并执行“属性”,打开“本地连接 属性”对话框。然后双击“Internet协议(TCP/IP)”选项,点选“自动获得IP地址”单选框,并依次单击“确定”按钮。
阿昊提示:默认情况下端电脑使用的都是自动获取IP地址的方式,一般无需进行修改,只需检查一下就行了。
至此,DHCP服务器端和客户端已经全部设置完成了。在DHCP服务器正常运行的情况下,首次开机的客户端会自动获取一个IP地址并拥有八天的使用期限。
修改租约期限
尽管DHCP服务器部署成功了,但是晨晨又开始犯嘀咕了。客户端在获取一个IP地址后只有8天的使用期限,期限过后又要重新申请一个新的IP地址。频繁的IP地址变动肯定又会给管理工作带来麻烦。能不能使客户端在获取一个IP地址后就拥有对该IP地址的永久使用权呢?看来晨晨开始动脑筋了,这让阿昊大为高兴。阿昊说:“只要将‘租约期限’设置成‘无限制’就能解决该问题”。在“DHCP”控制台窗口中展开“服务器名称”目录,然后右击“作用域CCE”选项,执行“属性”命令。在打开的属性对话框中点选“无限制”单选框,并单击“确定”按钮。
在阿昊手把手的指导下,晨晨已经掌握了DHCP服务器的基本配置方法。最后阿昊总结,关于DHCP方面的知识还有很多,诸如DHCP服务器数据库的备份与还原、DHCP保留、重建被损坏的DHCP服务器等重要操作都需要在日后逐步掌握。晨晨一边点头,一边说:“真是听君一席话,胜读十年书啊!”