admin 管理员组

文章数量: 1184232


2024年3月8日发(作者:网页设计静态和动态有什么区别)

维普资讯

・56・ Computer Era No.3 2008 如何在U nix类系统上搭建Apache+MySQL+PH P平台 王玉磊’,王水 (1.南阳理工学院网络中心,河南南阳473004;2.南阳理工学院软件学院) 摘要:PHP技术是目前最流行的动态网站开发语言之一,它与Apache、MySQL的紧密集成更加速了它的普及。文章简 要介绍了ASP、JSP、PHP三种动态网站开发技术的优缺点,以Linux9.2为例详细介绍了在Unix类系统上搭建AMP平台 的过程和注意事项。 关键词:Unix类操作系统;AMP(Apacheq-MySQLq-PHP)平台;搭建;动态网站开发 0引言 现在数据库驱动的动态网站开发越来越火,已成为网站开 (Java Severr Pages)、PHP(Hypertext Preprocessor)号称动态网 1软件下载 在http:Hwww.印ache.org上可下载到最新的Apache稳定 台上配置编译安装。从http://www.mysq1.com可下载Apache软 件包。当前MySQL的最新稳定版本是mysql5.0.45。MySQL6.X 发领域默认的行业标准。其中ASP(Active Server Page)、JSP 版本apache2.2.4,最好下载apache的源代码,然后在自己的平 站开发的三驾马车。 语言的网站开发技术,简单易学、安装使用方便且开发工具强 大多样。ASP最大的缺点是安全性、稳定性和跨平台性较差, 而且效率不高,无法完全实现企业级的功能如完全集群和负 载均衡。ASP适合于开发小型的网站,目前在国内拥有大量的 用户群。JSP以Java Servlet作为技术基础,具有伸缩性强、完 ASP技术是Microsoft公司开发的用VBScript作为脚本 的Enterprise版已具有商业数据库的一些特征(存储过程、触发 器、视图等),因而不再是免费的了。对于一般用户来说,用 mysql5.X系列足够满足开发动态网站的需求,没有必要使用 MySQL6.X的Enterprise版而。增加开发成本。从http:Hwww.php. net可下载PHP软件包。当前PHP的最新稳定版本是PHP5.2.4, 在Unix类平台上最好下载PHP的源代码,这样用户可以根据自 己的需要灵活地配置编译PHP,使其最大程度满足开发需求闱。 全面向对象及平台无关性的特点,而且安全可靠,主要面向 Internet。JSP以Java Servlet作为技术基础,但Java的运行速 度快是由于用class常驻内存来实现的,因而对内存消耗极 大。JSP也需要额外的磁盘空间来存储一系列的java文件和. 2安装步骤 不管是在Windows还是在Unix类平台上,一定要严格按 照步骤安装,不能颠倒次序。在Unix类平台上安装时以root用 户登录,否则安装不能进行。在本文的操作命令示例中,凡是斜 体字代表的路径名均表示用户系统里相应的实际路径名。 2.1安装MySQL数据库服务器 2.1.1 mysqld守护邂程添加用户组和用户 clsas文件口1。JSP在国外比较流行,金融、商业和企业级的网站 基本都用JSP技术开发。最近几年国内的一些金融、商业网站 也开始用JSP开发,如中国工商银行和5460的同学录网站就 是用JSP开发的。PHP是迄今为止最流行的Apache模块,在 所有ADache中大约有54%都安装了PHP。PHP的语言风格混 合了C、Java、Ped以及PHP式的新语法,可以比CGI和Perl 更快地执行动态网页。PHP是一种简单易学、跨平台性好、数 据库交互能力良好的开发语言。PHP与Apache及其他扩展结 合紧密,它与Apache以静态编译的方式结合起来,最大化地 可以添加系统保留以外的任何用户组和用户名,推荐使用 mysql,添加命令如下: 【root@Linuxhost path】撑groupadd mysql 【root@Linuxhost path】撑useradd mysql ●切换到/usr/local目录 【root@Linuxhost path】撑cd/usr/Iocal 利用了CPU和内存,加上Apache高性能的吞吐能力,使PHP 的运行速度极快,而且PHP是本地化调用数据库,也让后台数 据库发挥了最佳效能。MySQL是MySQL AB公司(位于瑞 典)开发的免费关系数据库产品,1996年开始首次发行。PHP 和MySQL这两项技术一直紧密相随,PHP的最佳后台伙伴就 ●解压MySQL软件包 【root@Linuxhost path】撑gunzip< /softwares/mysql一5.0.45一linux-i686 tar gzltar xvf一 也可在MySQL安装软件包所作的目录里执行如下命令: 【root@Linuxhost mysql—path】撑tar zxvf mysql一5.0.45-1inux-i686. tar.gz 是MySQL。随着PHP的流行MySQL也大规模地流行了,如 重量级的Internet网站雅虎财经(http://ifance.yahoo.com)、维 基百科(http:HWWW.wikipedia.corn)均用MySQL作为它们的后 台数据库衄。本文以在Linux9.2上搭建Apache2.2.4+MySQL5. 上述命令的执行结果均在执行命令所在的目录里生成 mysql一5.0.45-1inux—i686目录。 2.1.2建立mysql的符号链接 0.45+PHP5.2.4为例,简要介绍上述软件在Unix类平台上的 安装过程。 确保在/usr/local目录的前提下(如果不在可以#cd/usr/loca1) 

维普资讯

计算机时代2008年第3期 ・57・ 执行如下命令: 【root@Linuxhost local】 In—S FULL—PATH-TO・MYSQL—VERSION—OS mysql ●切换到mysql目录 【root@Linuxhost local】 cd/mysql ●改变mysql目录下目录和文件的所属用户和组 【root@Linuxhost mysql】 chown・R mysql 【root@Linuxhost mysql】 chgrp—R mysql ●建立mysql初始数据库 【root@Linuxhost mysql】 /scripts/mysql instalLdb-user=mysql ●再次改变mysql目录下文件和目录所属用户 【root@Linuxhost mysql】 chown—R root 【root@Linuxhost mysql】 chown—R mysql data ●启动mysqld守护进程 【root@Linuxhost mysql】 ./bin/mysqld_safe・user=mysql& ●执行如下命令进行验证 【root@Linuxhost path】 netstat—anlgrep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0: LISTEN 看到上述信息表明系统3306(MySQL守护进程的默认服务 端口)端口已处于监听状态,mysqld守护进程已正常启动。 2.1_3让mysqld守护进程开机自动启动 在此以Linux和FreeBSD为例分别介绍该操作步骤。 (1)Linux下的进程自动启动 在/etc/rc.d目录下的re.1ocal启动脚本最后添加如下一行 命令: /usrllocal/mysql/bin/mysqldsafe—user=mysql& _(2)FreeBSD下的进程自动启动 在FreeBSD下进程自动启动与Linux不同,有两个方法: ①在/usr/local/etc/rc.d目录下的脚本都随着系统的启动自 动运行,为此需要动手写一个mysq1.sh的文件: !/bin/sh /usrllocal/mysql/bin/mysqld_safe—user=mysql& 把mysq1.sh保存到/usr/local/etc/rc.d目录下,执行以下两 个命令之一为其加上可执行属性: FreeBSD#chmod+x,usr,10caI,etc,rc.d/mysq1.sh FreeBSD#chmod 755/usr/Iocal/etc/rc.d/mysq1.sh ②修改配置文件让rnyqld自动启动:在/etc/rc.1ocal里加上 /usr/local/mysql/bin/mysqld_safe—user=mysql&即可。 在这里可以看出Linux与FreeBSD的相同点:无论Linux 下的/etc/rc.d/rc.1ocal或FreeBSD下的/etc/rc.1ocal,它们都是可 以运行的脚本。其内容示例如下: #!/bin/sh This script will be executed after all the other init scripts. You can put your own initialization stuff in here If you don‘t want to do the full Sys V style init stuff. touch/varllock/subsys/Iocal /usrllocal/mysql/bin/mysqld_safe—user=mysql& ,usr,10caI,apache2,bin,apachectI・k start 只要在该脚本的最后添加开机自动运行的命令就可以让 守护进程随时服务。 2.2安装Apache Web服务器 2.2.1 Apache的安装步骤 【root@Linuxhost path】 tar—xzvf httpd一2.2.4.tar.gz 【root@Linuxhost path】 cd httpd一2.2.4 【root@Linuxhost path】 ./configure—enable・SO 【root@Linuxhost path】 make 【root@Linuxhost path】 make install 此时不要执行make clean命令,否则Apache解析PHP脚 本语言的动态模块libphp5.SO在安装PHP5.2.4时不能写到 /usr/local/apache2/modules目录下,PHP安装不能继续。 2.2.2 Apache守护进程httpd的启动 执行/usr/local/apache2/bin/apachectl—k start即可启动httpd 守护进程。如果要httpd守护进程自动启动则在/etc/rc.d/rc.1ocal 启动脚本里加入/usr/local/apache2/bin/apachectl—k start即可。 在FreeBSD下则需要在/usr/local/etc/rc.d目录下 ̄J1]httpd.sh 脚本文件。其内容如下: #!/bin/sh ,usr,10caI,apache2,bin,apachectI・k start 输入netstat—an Igrep 80检查Apache守护进程确实启 动。看到如下的内容则表明Apache Web服务器已开始工作。 【root@Linuxhost,】 netstat—anplgrep 80 tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 2302/httpd 2.2.3 Apache守护进程的关闭 执行/usr/local/apache2/bin/apachectl—k stop即可关闭 Apache守护进程httpd。 2.3安装PHP 2.3.1安装libxml2~2.6.30 在Linux9.X平台上安装PHP5.2.4需要libxml2—2.6.11以 上版本的支持,这里我们以安装libxml2—2.6.30为例介绍安装 步骤。具体操作如下: 【root@Linuxhost path】 tar—xzvf libxml2—2.6.30.tar.gz 【root@Linuxhost path】 cd libxml2・2.6.30 【root@Linuxhost libxml2—2.6.30】 ./configure 【root@Linuxhost libxml2—2 6.30】 make 【root@Linuxhost libxml2・2.6.30】 make install 【root@Linuxhost libxml2・2.6 30】 make clean 执行以上操作步骤libxml2—2.6.30就安装好了。这里要注 意一点:在Linux下安装libxml2—2.6.30.rpm包时可能无法正 常安装,原因是系统已经安装了libxml2—2.5.4-1,因此,要么把 libxml2—2.5.4-1卸载或是配置、编译源代码安装。我们推荐采用 该方法安装libxml2-2.6.30 1具体编译选项请参考 0nfigure help 命令。 2_3.2安装PHP5.2.4 PHP5.2.4是PHP5.2.2x系列的稳定版本,它修改了以前的许 多bugs,具体信息请参考PHP的官方网站http://www.php.net。 安装PHP之前要先启动MySQL数据库服务器,否则无法配 

维普资讯

・58・ Computer Era No.3 2008 置、编译、安装带有MySQL数据库驱动的PHP5.2.4。具体安装 uroot password secret 步骤如下: 或者在进入MySQL客户端界面后执行如下命令: 【root@Linuxhost path]撑tar-xzvf php一5.5.24.tar.gz mysql>set password=paSSWOrd(‘yoursercet’): 【root@Linuxhost path]撑cd php一5.2.24 3,2关于在LAMP平台搭建网站的问题 【root@Linuxhost php一5.2.24]群./configure 一般提供Web服务的Unix类服务器都是纯字符界面,这 with—apxs2=lusrllocallapache21binlapxs 样可以节省大量宝贵的内存和CPU资源,给用户提供更好、更 iwth—mysql=lusrllocallmysql 快的服务。在纯字符界面下用vi或ee编辑器开发PHP网站肯 说明:apxs即APache eXtension Tool的缩写,是用Perl语 定是极其繁琐困难的事情,在此推荐用户先在Windows平台上 言编写的脚本,用于把模块源代码编译进DSOs(Dynamic 编辑PHP源代码,然后用SFrP等工具把整个网站上传到Unix Shared Objcc( ̄),并帮助把它们安装到Apache Web服务器。具 类服务器,这样可以大大提高开发效率。Windows平台下的 体使用说明请参考Apache的manual页面。with—mysql配置选 PHP Designer professinal就是—个不错的PHP开发工具,可以 项是让PHP支持MySQL后台数据库。 到网上下载使用。 Iroot@Linuxhost php-5.2.24]荐make 3,3关于PHP源代码的优化和加密 【root@Linuxhost php-5.2.24]群make install;make clean 为了加快网站的响应速度,除了优化调整服务器外,还应对 如果安装完PHP之后想改变PHP的编译选项,只需重复 PHP源代码进行优化。为此要安装Zend公司的ZendOptimizer 上面的最后三个步骤,不必重新编译Apache即可让新的编译 软件包,该软件不仅能对PHP代码进行优化,提高运行效率30% 选项模块生效。除非特别指明,默认的PHP编译选项将安装 以上,还可以运行加密的PHP代码。 PEAR、phpize、PHP CLI等PHP工具。 对网站的PHP源代码加密,可以使用加密工具PHPguard。 2.3.3建立PHP配置文件 关于PHPguard,可以到Zend公司(位于以色列)的网站http: PHP的配置文件是php,ini,在/path/php一5.2.24目录下将 Hwww.zend.com上查阅相关信息 i。 php.ini-dist复制到/usrflocla/etcflib目录即可建立PHP的配置 文件。命令如下: 4结束语 【rot@Linuxhost php・5.2.24]群cp php.ini—dist 在Unix类操作系统上搭建AMP平台(Apache+MySQL+ lusrllocalletc/lib/php.ini PHP),相对于ASP、JSP而言是一个复杂的过程,极易出错。尤 可以编辑php.ini文件设置PHP的选项。如果想将php.ini 其是安装MySQL数据库时要严格按照步骤进行,不能颠倒安 配置文件放置到不同的目录,在配置编译选项时加上如下编译 装次序。编译安装Apache时一定要加上—enable—so编译选 选项:一wiht-config—file—paht=/your-prefer-paht,PHP的配置 项,而且安装后不可执行make clean命令,否则PHP安装后 选项有几百个,详细内容请参考相关书籍。 将无法使用。在较老的Unix类系统上安装PHP5.X之前,要安 修改Apache的配置文件httpd.conf 装libxml2—2.6.11以上版本的软件包,否则PHP将无法通过 在安装PHP时已修改了Apache的配置文件,在里面添加 编译。在Linux9.x上安装libxml2-2.6.30时,最好将其源代码 了如下的内容: 编译后安装。在其他Unix类系统上搭建AMP平台与此类似, LoadModule php5module modulesflibphp5.S比如在FreeBsD操作系统上基本可以完全按照上述步骤搭建 _O,现在需要 编辑httpd.conf配置文件添加以下内容: AMP平台。 AddType application/x-httpd—php.php.phtm1.php3 与另一个重量级的网站开发工具JSP相比,PHP尚未有 为了高亮显示PHP源程序代码,还要加入如下内容: 应用服务器这样的特性,因而对大型企业级网站的支持还不 AddType application/x—httpd—php—source.phps 是很好。 Dierctorylndex index.htmI index.php index.htm 参考文献: 重新启动Apache Web服务器,就可以在为自己量身打造 【1】飞思科技产品研发中心.JSP应用开发详解(第二版)【M】.电子工生出 的LAMP平台上面开发各种PHP网站了。命令为: 版社.2006. lusrllocallapache21binlapachectl—k restart 【2】W.Jason Gilmore.Beginning PHP and MySQL5 From Novice to Professional(Second Edition),2007. 3注意事项 【3】MySQL AB.MySQL Enterprise.http://www.mysq1.com/products/ 3.1 MySQL数据库的安全问题 enterprise/,2007. 刚安装好的MySQL数据库服务器的root(超级管理员账 【4】Bill Abt,Jouni Ahto,etc.PHP Manua1.http://cn.php.net/manual/ 户)没有密码,必须给它设置一个比较复杂的密码以保护网站 zh/index.php,2007. 数据。操作如下: 【5】 Zend Technologies Ltd.The Leading PHP Development 【root@Linuxhost,】撑lusdlocallmysqllbinlmysqllbinlmysqladmin Enivronment_http://www.zend.conr/,2007・ 国 


本文标签: 网站 安装 开发 编译 动态