61阅读

apache php mysql-Linux-Apache-MySQL-PHP网站架构方案分析

发布时间:2018-03-18 所属栏目:iis架设php网站

一 : Linux-Apache-MySQL-PHP网站架构方案分析

LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。

对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能的操作系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言等。下面我将从这几点对其一一讨论。

操作系统

Linux操作系统有很多个不同的发行版,如Red Hat Enterprise Linux、SUSE Linux Enterprice、Debian、Ubuntu、CentOS等,每一个发行版都有自己的特色,比如RHEL的稳定,Ubuntu的易用,基于稳定性和性能的考虑,操作系统选择CentOS(Community ENTerprise Operating System)是一个理想的方案。

CentOS(Community ENTerprise Operating System)是Linux发行版之一,是RHEL/Red Hat Enterprise Linux的精简免费版,和RHEL为同样的源代码,不过,RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,因此要求免费的高度稳定性的服务器可以用CentOS替代Red Hat Enterprise Linux使用。

 

Web服务器、缓存和PHP加速

Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。

Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容错,可和Apache配合使用,是轻量级的HTTP服务器的首选。

Web服务器的缓存也有多种方案,Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。Squid Cache是一个Web缓存服务器,支持高效的缓存,可以作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,把Squid放在Apache的前端来缓存Web服务器生成的动态内容,而Web应用程序只需要适当地设置页面实效时间即可。如访问量巨大则可考虑使用memcache作为分布式缓存。

PHP的加速使用eAccelerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。

具体的解决方案有以下几种:

1、squid + Apache + PHP + eAccelerator

使用Apache负载PHP,使用squid进行缓存,html或图片的请求可以直接由squid返回给用户。很多大型网站都采用这种架构。

2、nginx/Apache + PHP(fastcgi) + eAccelerator

使用nginx或Apache负载PHP,PHP使用fastcgi方式运行,效率较高。

3、nginx + Apache + PHP + eAccelerator

此方案综合了nginx和Apache的优点,使用Apache负载PHP,nginx负责解析其他Web请求,使用nginx的rewrite模块,Apache端口不对外开放。

数据库

开源的数据库中,MySQL在性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将MySQL和Web服务器放在一起,但是当访问量达到一定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定连接。

当数据库访问量达到更大的级别,可以考虑使用MySQL Cluster等数据库集群或者库表散列等解决方案。

总的来说,LAMP架构的网站性能会远远优于Windows IIS + ASP + Access(例如月光博客)这样的网站,可以负载的访问量也非常大,国内的大量个人网站如果想要支撑大访问量,采用LAMP架构是一个不错的方案。

综上所述,基于LAMP架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是Web网络应用和环境的优秀组合。

二 : Win7 配置Apache+PHP+Mysql环境

   在学新技术时,配置环境真是个郁闷的事情,很难熬,不过还好网上有很多弟兄的无私奉献对我很有帮助。(www.61k.com]

   第一、安装并配置APACHE(安装到D:\phpapache\Apache2.2)
     1、安装时默认安装,Network Domain, Server Name 我填写我的计算机名,Administrator's Email Address区域填你的邮件地址
     2、安装完后在安装目录下有个conf文件夹,打开httpd.conf文件进行配置
        ·找到 DocumentRoot ,将其设置为你所要存放php, htm等网页文件的文件夹,如 "D:\phpapache\Apache2.2\htdocs";
        ·找到 DirectoryIndex ,在index.html后添加index.php, index.htm等,以单个空格将其分开;
        ·重启Apache,用http://localhost或http://127.0.0.1或http://yourcompanyname测试是否成功。成功的话屏幕会有个It works!
  

  第二、安装配置PHP(解压PHP压缩包到d:\php\)
        1、将php.ini-recommended文件重命名为php.ini并将其剪到系统所在目录下(如放在2000/NT的WINNT/system32, XP的Windows/system32目录下),
        2、将extension_dir 改为php/ext所在目录,如 "d:\php\ext";
        3、将doc_root 改为第一步中的同样目录,如 "D:\phpapache\Apache2.2\htdocs";
        4、找到 ;session.save_path = "/tmp" ,将';'去掉,设置你保存session的目录,如session.save_path = "D:/php/session_temp";
        5、然后把下面几句前面的分号去掉,以更好支持Mysql and PHPmyadmin
                extension=php_mbstring.dll
                extension=php_gd2.dll
                extension=php_mysql.dll

   第三、安装配置PHP(解压PHP压缩包到d:\php\)
       1、将php.ini-recommended文件重命名为php.ini并将其剪到系统所在目录下(如放在2000/NT的WINNT, XP的Windows目录下),
       2、将extension_dir 改为php/ext所在目录,如 "d:\php\ext";
       3、将doc_root 改为第一步中的同样目录,如 "D:\phpapache\Apache2.2\htdocs";
       4、找到 ;session.save_path = "/tmp" ,将';'去掉,设置你保存session的目录,如session.save_path = "D:/php/session_temp";
       5、然后把下面几句前面的分号去掉,以更好支持Mysql and PHPmyadmin
           extension=php_mbstring.dll
           extension=php_gd2.dll
           extension=php_mysql.dll

   第四、PHP+APACHE
      1、允许Apache将PHP程序作为模块来运行:
          打开httpd.conf,添加下面内容(位置任意):
            LoadModule php5_module "d:/phpapache/php/php5apache2.dll"

            AddType application/x-httpd-php .php
            AddType application/x-httpd-php .htm
           (.htm, .php为可执行php语言的扩展名,也可加html, php3, php4,甚至txt)
          (以下两步可以不需要)
     2、如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),
         请将上面这一行变成注释(各行头加#即可),添加下面这些行:
          # ScriptAlias /php/ "d:/phpapache/php/"
          # AddType application/x-httpd-php .php
          #Action application/x-httpd-php "/php/php-cgi.exe"
     3、现在apache 2 支持HTML而不支持PHP,先把下面几句加到d:\apache2\conf\httpd.conf去:
          # ScriptAlias /php/ "d:/phpapache/php/"
          # AddType application/x-httpd-php .php
          #Action application/x-httpd-php "/php/php-cgi.exe"

   第五、重起服务
     1、在d:\PHP里找到php5ts.dll,libmysql.dll将其复制到c:\winnt\system32下(winNT/2000的机器),而winXP/2003是复制到c:\windows\system32下

扩展:apache php mysql配置 / apache配置mysql / apache php mysql环境


     2、测试Apache与php是否连接成功:
         启动start apache服务或者正在运行的就重新启动restart apache
     3、在Web根目录下新建test.php(即E:\Program Files\Apache Software Foundation\Apache2.2\htdocs目下)
          <html>
          <head><title>test</title></head>
          <body>
           <?php
             phpinfo();
           ?>
        </body>
         </html>

     4、运行http://localhost/test.php
        如果成功,则应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息
        那么恭喜你

扩展:apache php mysql配置 / apache配置mysql / apache php mysql环境

三 : 常用APM(Apache PHP MySQL)套件

常用APM(Apache+PHP+MySQL)套件

这里总结一下适合快速搭建平台的APM常用套件。由于七月十五才疏学浅,难免有谬误,欢迎大家指教,发表看法。谢谢。

评分标准如下(最高5分) APM组件版本更新程度(版本新及更新及时的得分高)40%

集成扩展适合程度(扩展选择合适,如集成Optimizer等的高)30%

系统依赖程度(绿色版得分高)15%

易用性(集成常用功能托盘的得分高)10%

文件大小(功能简洁强大且文件小的得分高)5%

XAMPP 下载:

方式:安装、半绿色、Lite版

优点:功能全、更新快、集成系统托盘、有其它服务器版本

缺点:集成了FTP服务器及邮件服务器、文件体积较大

评分:4.5



WAMP 下载:http://www.61k.com

方式:安装

功能:功能较全、集成功能强大的多国语言系统托盘

缺点:没有绿色版

评分:4.5



APMxE 下载:http://www.61k.comindex.php?q=download

方式:绿色、安装

功能:简洁、常用功能齐、集成系统开源托盘启动控制器可用于其它APM环境启动控制

缺点:Apache2.0、不能在有空格的目录运行。

评分:4



PHPNow 下载:http://www.61k.com

方式:安装、绿色、精简

优点:版本新、更新及时、稳定、功能好、提供扩展插件

缺点:仅命令行控制面板、无系统托盘控制面板

评分:4



Vertrigo 下载:http://vertrigo.sourceforge.net/?lang=cn

方式:安装

优点:版本新、更新及时、稳定、功能好、集成强大的托盘控制面板

缺点:没有绿色版,安全性和默认参数不够合理

评分:4



AppServ 下载:http://www.61k.com

方式:安装

优点:功能较全、更新较快

缺点:没有绿色版、没有控制面板

评分:3.5



PHPStudy 贡献:airwin,57213763

下载:http://blog.chinaunix.net/u/19869/

方式:安装

优点:更新较快,文件较小,含系统托盘

缺点:msvbvm60.dll导致启动失败,没有绿色安装方式,集成了过多访问作者网站的链接

评分:3.5



APMServ 贡献:qdxgwh

下载:http://apmserv.s135.com

方式:安装、绿色

优点:功能较全、ASP插件支持、集成系统托盘、图形化管理

缺点:组件较老,更新较慢

评分:3



  apmxe.gif (34.73 KB)

2008-2-27 12:29

    1.png (18.56 KB)

2008-2-27 11:49

    20071204_084622_367.gif (18.8 KB)

2008-2-27 11:49

    image_menu_wamp.gif (19.4 KB)

2008-2-27 11:49

    211.jpg (4.76 KB)

2008-2-27 11:49

    APMServer.gif (67.92 KB)

2008-3-3 21:54

    U616P176T43D3215F941DT20060720134948.jpg (47.73 KB)

2008-2-27 11:49

     未标题-1.gif (21.04 KB)

2008-3-4 09:28

四 : WinXP安装Apache+MySQL+PHP环境步骤

  一些从事程序管理开发的用户,需要在自己的WinXP电脑中安装Apache+MySQL+PHP环境,那么具体该怎么操作呢?今天小编就和大家分享下具体的安装步骤。

WinXP如何安装Apache+MySQL+PHP环境

  安装步骤:

  在整个wamp环境搭建中,本质的工作如下:

  1,配置系统对php中dll文件能默认处于调用状态。

  在windos下,对dll文件系统默认处于调用状态的,有两种采用的方式。

  第一种是:把需要调用dll文件复制到C:windows system32(如果是Windows 2000操作系统,则为C:WINNT system32)目录下。

  第二种是:把.dll后缀文件所在的文件夹的地址,追加到系统的path变量中去,这样的话,系统启动的时候,也会默认把dll文件自动载入内存中。

  第三种是:把php.ini中; extension_dir = “。/” 修改为 extension_dir = “D:/php5/ext”

  注意,要重新启动Apacche服务器才能生效。

  2,apache配置,本质是让apache服务器软件,能够解析.php文件。

  分别在httpd.conf与php.ini中配置。

  httpd.conf中修改:

  2-1,配置根目录

  代码如下:

  DocumentRoot D:/wwwroot-----这是第一处,把红字部分,修改成 本地apache的网站代码主文件夹,即存放项目代码的主文件夹。

  《Directory “D:/wwwroot”》-------这是第二处,同上。

  2-2,配置目录索引

  代码如下:

  DirectoryIndex index.html index.html.var index.php index.html

  2-3,组合php与Apache2

  代码如下:

  LoadModule php5_module D:/php5/php5apache2.dll----------以module方式加载php

  PHPIniDir “D:/php”--------------------指定php的配置文件php.ini位置

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php .html--------------添加可以执行php的文件类型

  DirectoryIndex index.php index.html index.html.var-----配置索引目录默认文件

  php.ini修改:

  1,设置PHP传递参数的方式

  代码如下:

  register_globals=Off/On

  设为Off,就是只能用$_post[‘变量名’]、$_GET[‘变量名’]来传递参数

  设为On,可以直接使用$变量名来获取传递的参数值

  2,设置需要加载的dll模块,以下几个必须要配置。

  代码如下:

  ;extension=php_gd2.dll---------GD库扩展文件,用户处理图片,如生成图片,图片裁剪压缩,给图片打水印等等操作

  ;extension=php_mbstring.dll--------大字符集,支持多字符集之间的转换

  ;extension=php_mcrypt.dll

  ;extension= php_mysql.dll

  ;extension=php_mysqli.dll

  去掉分号,设置好需要加载的dll模块。以上几个是基本要去掉的。

  wamp与lamp环境搭建的区别,就在于系统对php中的dll文件加载的方式的不同,

  而对apahce与php的组合,window下与linux/unix下,基本相同的,都是修改httpd.conf与php.ini来实现。

  因此,在实际的工作过程中,最快速的手动配置服务器的方法是:

  1,手动安装apache服务器,手动安装配置php。

  2,在以前配置好的php.ini与httpd.conf文件的基础,两文件直接copy到相关目录。

  而对httpd.conf需修改其中的关键目录,主要是:

  配置根目录

  代码如下:

  DocumentRoot D:/wwwroot-----这是第一处,把红字部分,修改成 本地apache的网站代码主文件夹,即存放项目代码的主文件夹。

  《Directory “D:/wwwroot”》-------这是第二处,同上。

  把这两处修改就基本搞定。

  以上就是就是在WinXP系统中安装Apache+MySQL+PHP环境的方法了,还不知道该怎么安装的用户,快来看看这些步骤吧。

五 : Windows XP上安装配置 Apache+PHP+Mysql+Zend

所需软件:
apache_2.0.58-win32-x86-no_ssl.msi >>>>>>>>>>>>>>http://archive.apache.org/dist/httpd/ 各个版本都有
php-5.1.6-Win32.zip
ZendStudioServer-5.1.0a-Windows-i386.exe
mysql-5.0.19-win32
phpMyAdmin-2.9.1

安装:
Apahce+PHP+MySQL安装配置
1. 安装apache_2.0.58-win32-x86-no_ssl ,根据需要按提示设置程序安装路径(我的路径是d:/usr/)。安装完成以后,如果对APACHE目录进行移动,那么apache2下面的参数是必须改的, 修改apache配置目录CONF下的配置文件httpd.conf,本例为d:/usr/apache2/conf/httpd.conf
(1)ServerRoot:apche的程序目录(本例是d:/usr/apache2)
(2)ServerAdmin:服务器管理员的E-MAIL
(3)port:服务端口,默认80
(4)ServerName:计算机的网络标识,必须和实际一致,否则可能会出现一些想不到的问题
(5)DocumentRoot:默认的网页文件目录(本例是d:/usr/www)
(6)DirectoryIndex:默认页面,添加 php支持,(本例如下)
DirectoryIndex index.html index.htm index.php index.php3 index.php4
(7)ScriptAlias(脚本别名),CGI程序的目录
ScriptAlias /cgi-bin “d:/usr/apache2/cgi-bin”
2. 安装php-5.1.6-Win32解压,解压的路径自定义(本例为d:/usr/php5)。
3. 配置PHP和Apache,使之能解析php程序。
PHP配置:
将PHP目录中的“php.ini-dist”改名“php.ini”,并对
php.ini修改如下:
(1) doc_root:和APACHE的HTDOCS一致,本例为d:/usr/www
(2) extension_dir 本例为 d:/usr/php5/ext
(3) include_path 本例为d:/usr/php5/includes
(4) 去掉extension=php_mysql.dll前边的分号,并拷贝php目录下的LIBMYSQL.DLL文件到c:winntsystem32下
Apache配置:
在APACHE配置文件最后添加以下语句,用以支持php程序:
ADDlanguage zh-cn .cn
defaultlanguage zh-cn
AddDefaultCharset GB2312
ScriptAlias /php/ "d:/usr/php5/"
LoadFile d:/usr/php5/php5ts.dll
LoadModule php5_module d:/usr/php5/php5apache2.dll
PHPINIDir d:/usr/php5/php.ini
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps
以上添加内容目录部分和实际不一致的自行修改
4.重新启动Apache服务器,用编辑器编写如下语句:
<?
phpinfo();
?>;
保存文件名为“test.php”到用户主目录(本例为d:/usr/www)目录,然后打开浏览器,浏览:http://localhost/test.php,出现PHP基本信息就说明配置成功。
5. 安装MySQL-5.0.19-win,一直按”next”就安装成功了,然后在C:mysqlbin目录执行” winmysqladmin.exe”,出现mysql的初始信息面,表示安装成功。
6、安装phpMyAdmin
解压phpMyAdmin-2.6.0-pl2.zip到一目录,本例为d:/usr/phpMyAdmin,进入该目录配置文件config.inc.php
修改$cfg['PmaAbsoluteUri']为http://localhost/phpMyAdmin
修改$cfg['blowfish_secret'] = 'admin';
修改$cfg['Servers'][$i]['auth_type']= 'cookie';
修改$cfg['Servers'][$i]['user']为MySQL用户
修改$cfg['Servers'][$i]['password']为MySQL口令
以上是phpMyAdmin配置的基本内容,其他配置根据需要进行
编辑apache配置文件httpd.conf在最后加入以下语句:
php_admin_flag engine on
php_admin_flag safe_mode off
Alias /phpMyAdmin "d:/usr/phpMyAdmin"
;
DirectoryIndex index.php
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir none
php_admin_value open_basedir "d:/usr/phpMyAdmin"
;
以上目录路径部分根据实际需要进行修改。
7、测试apache+php+mysql
在ie地址栏输入http://localhost/phpMyAdmin如果出现phpMyAdmin信息说明配置成功。
8、最后安装ZendStudioServer-5.1.0a-Windows-i386.exe

本文标题:apache php mysql-Linux-Apache-MySQL-PHP网站架构方案分析
本文地址: http://www.61k.com/1144669.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1