php+对比apache - CSDN
精华内容
参与话题
  • 测试工具http_load相同的动态页面测试,相同的硬件资源,相同并发,相同请求数量的前提下,nginx+phpapache+php的性能要 差,而且如果请求的压力大于硬件资源的承受能力,nginx+php在有些请求中会返回502状态页,...

    测试工具http_load相同的动态页面测试,相同的硬件资源,相同并发,相同请求数量的前提下,nginx+php比apache+php的性能要

    差,而且如果请求的压力大于硬件资源的承受能力,nginx+php在有些请求中会返回502状态页,这意味着网站挂了(在用户看来),

    apache不会,只是打开网站的时间比较长(同样在用户开来)

    nginx+php的测试结果图:

     

    apache+php的测试结果图:

     

    给nginx+php加上nginx自带的缓存功能

     

    性能翻了4倍多,比apache+php的性能好2倍多

    fetches/sec 服务器每秒响应的请求数

    msecs/connect  每次请求完成花费的时间

     

    总结:硬件资源满足下用apache+php因为它超级稳定,当然nginx+php也不错, 硬件资源不足又不想花钱,又想解决当前网站访问

    压力,nginx+php是不错的选择

    转载于:https://www.cnblogs.com/linuxboke/p/5519643.html

    展开全文
  • 初学php的朋友,在开始配置环境的时候,可能配了好多次都无法成功,网上的配置方法也看了很多,也照着做了,也还是没有成功,这个时候你一定很郁闷,但请你不要灰心,你可以对比一下这些配置方法,他们有很多地方是...

    初学php的朋友,在开始配置环境的时候,可能配了好多次都无法成功,网上的配置方法也看了很多,也照着做了,也还是没有成功,这个时候你一定很郁闷,但请你不要灰心,你可以对比一下这些配置方法,他们有很多地方是一样的,这些相同的地方可能就是配置的关键所在,另外就是找一本比较好的php入门书,里面肯定会有配置方法的,看看书上的方法,再和网上的对比对比,你会发现,基本上也就是那样,不要气馁,我就配置了一个星期啊,多配置几次,慢慢地,你也一定能配置成功的,不要害怕失败,不是说失败是成功的妈妈吗?怕失败的人是不可能成功的!

    我的这个配置方法是我自己看了书和网上和方法以后,对照着,自己一边配置一边写下的,绝对值得参考,但你要注意系统配置方面可能不一样,所以并不是按此方法就一定能绝对地配置成功,要活学活用,做人做事不能太死嘛!

        这个环境真的不好搭建,花了我一个星期,现将我在windows xp下的配置步骤及心得写下,希望对其他人有所帮助,我用的版本是:

     

         php-5-2-9-win32

         apache_2.2.11-win32-x86-openssl-0.9.8i

         mysql-5.0.67-win32

    1.安装apache

    直接按默认安装,安装时要关闭浏览器跟下载软件,否则安装完成后服务器不能启动,报不能绑定80端口的错误。在安装过程中需要输入服务器的相关信息(Server Information 的 Network Domain、Server Name 等),根据自己的情况输入即可,在安装结束时,会弹出一个 DOS 窗口,然后就消失了,这是系统apache自动启动了。启动后在地址栏中输入“http://localcast/”或“http://127.0.0.1/”,如果可以看到"It Works",说明安装成功。

        默认路径是“C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”,如果需要更改默认路径,打开“C:/Program Files/Apache Software Foundation/Apache2.2/conf”目录下的httpd.conf文件,查找“DocumentRoot(这里有两处都必须改),将其路径修改成需要设置的访问路径,这里改为“F:/masterphp”(注意斜杠方向,是“/”而不是\”)。

    2. PHP的安装配置

    下载后直接解压就可以了,我解压到“F:\php-5.2.9-win32”目录下。下面将PHP和Apache服务期连接:

    (1)修改“F:\php-5.2.9-win32”目录下"php.ini-recommened"文件名,改成"php.ini" ;

    (2) 将“F:\php-5.2.9-win32”目录下php.ini-recommened 复制一份,命名为 php.ini(此步在“F:\php-5.2.9-win32”下完成)并拷贝到Apache目录下,即“C:\Program Files\Apache Software Foundation\Apache2.2”目录下

    (3)打开php.ini文件,修改以下几个关键字

    查询extension_dir = "./"修改为

    extension_dir = "F:\php-5.2.9-win32\ext"

    如果在显示中文的时候出现乱码,可以查询;default_charset = "iso-8859-1"修改为

    default_charset = "gbk",注意要去掉前面的“;”

    很多时候需要利用session对象来存储数据,如session身份验证、设计购物车等,因此还必须要找到另外一个属性,即把

    ;session.save_path = "/tmp"修改为

    session.save_path = "F:\php-5.2.9-win32\session"

    (session文件夹需手工创建,也可以创建其他的目录,必须去掉前面的分号“;”)

    查找display_errors和cgi.force_redirect,原始设置为

    display_errors = Off

    ; cgi.force_redirect = 1

    修改为

    display_errors = ON

    cgi.force_redirect = 0

    (display_errors属性表示在运行时如果发生错误,是否会显示错误信息。而cgi.force_redirect为0表示强制不运行在CGI模式下)

    PHP在Apache中工作,有两种方式,一种是以CGI二进制文件方式工作,一种是使用Apache模块DLL的方式工作,采用不同的方式,需要在php.ini文件中进行不同的设置。

    (如果采用CGI方式,则需要将以下代码插入到Apache的httpd.conf文件中:

    ScriptAlias /php/ "C:/Program Files/php-5.2.5-Win32"

    AddType application/x-httpd-php .php

    Action application/x-httpd-php "/php-5.2.5-Win32/php.exe")

    我采用模块化的工作方式,则首先需要将"F:\php-5.2.9-win32"下的php5ts.dll文件拷贝到系统的C:\WINDOWS\system(Windows XP);接着将"F:\php-5.2.9-win32"下的php5apache2_2.dll(这是Apache的版本号,如果是2.0版本的则复制php5apache2.dll)文件复制到"C:\Program Files\Apache Software Foundation\Apache2.2\modules"下,然后将下面的一段代码插入到httpd.conf文件的最后

    LoadModule php5_module modules/php5apache2_2.dll

    AddType application/x-httpd-php .php

    如果还想让Apache执行其他后缀名,则可添加其他的类型,如下所示

    AddType application/x-httpd-php .php4

    AddType application/x-httpd-php .php3

    AddType application/x-httpd-php .phtml

    AddType application/x-httpd-php-souce .phps

    Apache默认的连接文件名为"index.html",即如果在地址栏中输入"http://localhost/"和输入"http://localhost/index.html"显示结果一致,如果想增加其他的默认连接文件名,则在httpd.conf中找到"DirectoryIndex",原始设置如下:

    DirectoryIndex index.html

    如果想支持default.php,则修改成如下格式:

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

    为了测试PHP配置是否成功,打开记事本输入以下代码:

    <?php

        phpinfp()

    ?>

    将该代码保存成version.php,拷贝到"F:\master.php"目录下,停止apache服务器,再启动。在地址栏输入"http://localhost/version.php"如果一切配置正常,可以看到PHP的各种信息.

     

     

    3. MySQL的安装配置

    安装过程应该没问题不再细述,在设置Windows选项时复选Include Bin Directory in Windows PATH,这样在命令行下也可以启动MySQL数据库。

    点“开始”—>“运行”,在弹出的对话框中输入“cmd”,再在命令模式下输入“mysql -h localhost -u root -p”如:0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src="http://fmn044.xnimg.cn/fmn044/20090610/2330/b_3342p017020.jpg" alt="" style="vertical-align: middle; max-width: 550px; float: none; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; ">

    输入密码之后若出现mysql>标志,则表示安装成功,如:

    0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src="http://fmn036.xnimg.cn/fmn036/20090610/2330/b_3467g017015.jpg" alt="" style="vertical-align: middle; max-width: 550px; float: none; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; ">

    MySQL安装成功后还需要同PHP连接上,因此,还需要进一步配置。

    打开“C:\Program Files\Apache Software\Foundation\Apache2.2”目录下php.ini文件,查找"MySQL",修改以下几个属性

    原始设置为:

    mysql.default_port =

    mysql.default_host =

    mysql.default_user =

    mysql.default_password =

    修改为:

    mysql.default_port = 3306       (网络端口,安装时默认设置为3306)

    mysql.default_host = localhost (default_host为服务期名称,localhost表示本地机器)

    mysql.default_user = root       (default_user表示用户名,root是默认的用户名)

    mysql.default_password = 123456 (即安装MySQL时输入的密码)

    修改了以上属性后,还需要启动PHP对MySQL支持模块,在php.ini文件中查找"extension=php_mysql.dll"

    原始设置为:

    ;extension=php_mysql.dll

    修改为

    extension=php_mysql.dll (即把分号去掉)

    设置完成后重启系统,重启后测试MySQL是否安装成功,打开记事本写下测试代码,如下:

    <?php

    $link=mysql_connect('localhost','root','123456');

    if(!$link) echo "失败!";

    else echo "成功!";

    mysql_close();

    ?>

    (代码要写正确啊,不然你是测不出来的!)

    保存为“mysqltest.php”并放到默认路径下,如我的已经改到了“F:/masterphp”下,在地址栏输入"http://localhost/mysqltest.php",如果连接成功,则会显示“成功!”如:

    0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src="http://fmn044.xnimg.cn/fmn044/20090610/2330/b_3533n017014.jpg" alt="" style="vertical-align: middle; max-width: 550px; float: none; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; ">

    到此,php+mysql+apache环境就配置完成了,其他版本也基本如此,当然方法也还有很多,但是本质上都差不多,大同小异,只要掌握了其中的要点,一样可以配置。感兴趣的可以到网上找找其他配置方法。

    展开全文
  • apache是通过mod_php来解析php nginx是通过php-fpm(fast-cgi)来解析php 1. PHP 解释器是否嵌入 Web 服务器进程内部执行 mod_php 通过嵌入 PHP 解释器到 Apache 进程中,只能与 Apache 配合使用,而 cgi 和 fast-cgi ...
    apache是通过mod_php来解析php  nginx是通过php-fpm(fast-cgi)来解析php
    1. PHP 解释器是否嵌入 Web 服务器进程内部执行
    mod_php 通过嵌入 PHP 解释器到 Apache 进程中,只能与 Apache 配合使用,而 cgi 和 fast-cgi 以独立的进程的形式出现,只要对应的Web服务器实现 cgi 或者 fast-cgi 协议,就能够处理 PHP 请求。
    mod_php 这种嵌入的方式最大的弊端就是内存占用大,不论是否用到 PHP 解释器都会将其加载到内存中,典型的就是处理CSS、JS之类的静态文件是完全没有必要加载解释器。
    2. 单个进程处理的请求数量
    mod_php 和 fast-cgi 的模式在每个进程的生命周期内能够处理多个请求(fast-cgi可以根据需要来调整进程的多少),而 cgi 的模式处理一个请求就马上销毁进程,在高并发的场景下 cgi 的性能非常糟糕。 
    每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次
    综上,如果对性能有极高的要求,可以将静态请求和动态请求分开,这时 Nginx + php-fpm 是比较好的选择。
    PS: cgi、fastcgi 通常指 Web 服务器与解释器通信的协议规范,而 php-fpm 是 fastcgi 协议的一个实现。
    展开全文
  • 初学php的朋友,在开始配置环境的时候,可能配了好多次都无法成功,网上的配置方法也看了很多,也照着做了,也还是没有成功,这个时候你一定很郁闷,但请你不要灰心,你可以对比一下这些配置方法,他们有很多地方是...

    初学php的朋友,在开始配置环境的时候,可能配了好多次都无法成功,网上的配置方法也看了很多,也照着做了,也还是没有成功,这个时候你一定很郁闷,但请你不要灰心,你可以对比一下这些配置方法,他们有很多地方是一样的,这些相同的地方可能就是配置的关键所在,另外就是找一本比较好的php入门书,里面肯定会有配置方法的,看看书上的方法,再和网上的对比对比,你会发现,基本上也就是那样,不要气馁,我就配置了一个星期啊,多配置几次,慢慢地,你也一定能配置成功的,不要害怕失败,不是说失败是成功的妈妈吗?怕失败的人是不可能成功的!

    我的这个配置方法是我自己看了书和网上和方法以后,对照着,自己一边配置一边写下的,绝对值得参考,但你要注意系统配置方面可能不一样,所以并不是按此方法就一定能绝对地配置成功,要活学活用,做人做事不能太死嘛!

        这个环境真的不好搭建,花了我一个星期,现将我在windows xp下的配置步骤及心得写下,希望对其他人有所帮助,我用的版本是:

     

         php-5-2-9-win32

         apache_2.2.11-win32-x86-openssl-0.9.8i

         mysql-5.0.67-win32

    1.安装apache

    直接按默认安装,安装时要关闭浏览器跟下载软件,否则安装完成后服务器不能启动,报不能绑定80端口的错误。在安装过程中需要输入服务器的相关信息(Server Information 的 Network Domain、Server Name 等),根据自己的情况输入即可,在安装结束时,会弹出一个 DOS 窗口,然后就消失了,这是系统apache自动启动了。启动后在地址栏中输入“http://localcast/”或“http://127.0.0.1/”,如果可以看到"It Works",说明安装成功。

        默认路径是“C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”,如果需要更改默认路径,打开“C:/Program Files/Apache Software Foundation/Apache2.2/conf”目录下的httpd.conf文件,查找“DocumentRoot(这里有两处都必须改),将其路径修改成需要设置的访问路径,这里改为“F:/masterphp”(注意斜杠方向,是“/”而不是\”)。

    2. PHP的安装配置

    下载后直接解压就可以了,我解压到“F:\php-5.2.9-win32”目录下。下面将PHP和Apache服务期连接:

    (1)修改“F:\php-5.2.9-win32”目录下"php.ini-recommened"文件名,改成"php.ini" ;

    (2)“F:\php-5.2.9-win32”目录下php.ini-recommened 复制一份,命名为 php.ini(此步在“F:\php-5.2.9-win32”下完成)并拷贝到Apache目录下,即“C:\Program Files\Apache Software Foundation\Apache2.2”目录下

    (3)打开php.ini文件,修改以下几个关键字

    查询extension_dir = "./"修改为

    extension_dir = "F:\php-5.2.9-win32\ext"

    如果在显示中文的时候出现乱码,可以查询;default_charset = "iso-8859-1"修改为

    default_charset = "gbk",注意要去掉前面的“;”

    很多时候需要利用session对象来存储数据,如session身份验证、设计购物车等,因此还必须要找到另外一个属性,即把

    ;session.save_path = "/tmp"修改为

    session.save_path = "F:\php-5.2.9-win32\session"

    (session文件夹需手工创建,也可以创建其他的目录,必须去掉前面的分号“;”)

    查找display_errors和cgi.force_redirect,原始设置为

    display_errors = Off

    ; cgi.force_redirect = 1

    修改为

    display_errors = ON

    cgi.force_redirect = 0

    (display_errors属性表示在运行时如果发生错误,是否会显示错误信息。而cgi.force_redirect为0表示强制不运行在CGI模式下)

    PHP在Apache中工作,有两种方式,一种是以CGI二进制文件方式工作,一种是使用Apache模块DLL的方式工作,采用不同的方式,需要在php.ini文件中进行不同的设置。

    (如果采用CGI方式,则需要将以下代码插入到Apache的httpd.conf文件中:

    ScriptAlias /php/ "C:/Program Files/php-5.2.5-Win32"

    AddType application/x-httpd-php .php

    Action application/x-httpd-php "/php-5.2.5-Win32/php.exe")

    我采用模块化的工作方式,则首先需要将"F:\php-5.2.9-win32"下的php5ts.dll文件拷贝到系统的C:\WINDOWS\system(Windows XP);接着将"F:\php-5.2.9-win32"下的php5apache2_2.dll(这是Apache的版本号,如果是2.0版本的则复制php5apache2.dll)文件复制到"C:\Program Files\Apache Software Foundation\Apache2.2\modules"下,然后将下面的一段代码插入到httpd.conf文件的最后

    LoadModule php5_module modules/php5apache2_2.dll

    AddType application/x-httpd-php .php

    如果还想让Apache执行其他后缀名,则可添加其他的类型,如下所示

    AddType application/x-httpd-php .php4

    AddType application/x-httpd-php .php3

    AddType application/x-httpd-php .phtml

    AddType application/x-httpd-php-souce .phps

    Apache默认的连接文件名为"index.html",即如果在地址栏中输入"http://localhost/"和输入"http://localhost/index.html"显示结果一致,如果想增加其他的默认连接文件名,则在httpd.conf中找到"DirectoryIndex",原始设置如下:

    DirectoryIndex index.html

    如果想支持default.php,则修改成如下格式:

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

    为了测试PHP配置是否成功,打开记事本输入以下代码:

    <?php

        phpinfo();

    ?>

    将该代码保存成version.php,拷贝到"F:\master.php"目录下,停止apache服务器,再启动。在地址栏输入"http://localhost/version.php"如果一切配置正常,可以看到PHP的各种信息.

    3. MySQL的安装配置

    安装过程应该没问题不再细述,在设置Windows选项时复选Include Bin Directory in Windows PATH,这样在命令行下也可以启动MySQL数据库。

    点“开始”—>“运行”,在弹出的对话框中输入“cmd”,再在命令模式下输入“mysql -h localhost -u root -p”如:

    输入密码之后若出现mysql>标志,则表示安装成功,如:

    MySQL安装成功后还需要同PHP连接上,因此,还需要进一步配置。

    打开“C:\Program Files\Apache Software\Foundation\Apache2.2”目录下php.ini文件,查找"MySQL",修改以下几个属性

    原始设置为:

    mysql.default_port =

    mysql.default_host =

    mysql.default_user =

    mysql.default_password =

    修改为:

    mysql.default_port = 3306       (网络端口,安装时默认设置为3306)

    mysql.default_host = localhost (default_host为服务期名称,localhost表示本地机器)

    mysql.default_user = root       (default_user表示用户名,root是默认的用户名)

    mysql.default_password = 123456 (即安装MySQL时输入的密码)

    修改了以上属性后,还需要启动PHP对MySQL支持模块,在php.ini文件中查找"extension=php_mysql.dll"

    原始设置为:

    ;extension=php_mysql.dll

    修改为

    extension=php_mysql.dll (即把分号去掉)

    设置完成后重启系统,重启后测试MySQL是否安装成功,打开记事本写下测试代码,如下:

    <?php

    $link=mysql_connect('localhost','root','123456');

    if(!$link) echo "失败!";

    else echo "成功!";

    mysql_close();

    ?>

    (代码要写正确啊,不然你是测不出来的!)

    保存为“mysqltest.php”并放到默认路径下,如我的已经改到了“F:/masterphp”下,在地址栏输入"http://localhost/mysqltest.php",如果连接成功,则会显示“成功!”如:

    到此,php+mysql+apache环境就配置完成了,其他版本也基本如此,当然方法也还有很多,但是本质上都差不多,大同小异,只要掌握了其中的要点,一样可以配置。感兴趣的可以到网上找找其他配置方法。

     

    展开全文
  • <p><strong>There was a little improvement on performance in Nginx than Apache but it was not a major difference where it's worth to change all my server architecture from Apache to Nginx. And when I ...
  • 基于PHP的运行环境大家用的比较多的是以apache做中间件的LAMP(linux+apache+mysql+php)环境和以nginx做中间件的LNMP(linux+nginx+mysql+php)环境,apache是世界排名第一的web服务器,apache可以整合大多数应用,...
  • LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件虽然并不是开开始就设计为一起使用的,但是,这些开源软件都可以很方便的随时获得...
  • GINX+PHP(FASTCGI)好,还是NGINX+APACHE+PHP好?  第一种是利用CGI让NGINX和PHP进行通信 第二种是静态NGINX 动态让APACHE里的MOD_PHP模块来实
  • PHP最常用的方式是以模块的方式(mod_php)运行在Apache中,也是Apache运行PHP的默认方式。但是在Nginx中,Nginx又使用的是PHP-FPM。  这篇文章就对这些概念做个介绍,如有不对的地方,请多多批评指教。  什么是PHP...
  • 网站搭建Apache+Tomcat+PHP+MySQL

    千次阅读 2008-04-23 17:21:00
    自己通过查资料实践进行的归纳总结,有点乱,将就着看.1.安装前的准备工作下载JDK,下载地址:http://java.sun.com/javase/downloads/index_jdk5.jsp下载 JDK 5.0 Update xx下载Apache,下载地址...下载 apache_2.2.x-win3
  • <br />[LAMP平台]  LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件虽然并不是开开始就设计为一起使用的,但是,这些...
  • LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化计世网特约撰稿 曹江华来源:http://www.ccw.com.cn/server/yyjq/htm2006/20060627_193322.htm 目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为...
  • 构建安全的apache+mysql+php的web服务器

    千次阅读 2007-11-29 11:44:00
    序言 一、系统和服务程序的安装 1. 系统安装 2. 服务程序安装 二、系统安全设置 1. 用户控制 2. 文件访问控制 3. 系统服务和端口控制 4. 日志管理和控制 5. 文件指纹检测 6.... Apache安全设置 2. PHP安全设置 3
  • Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。LAMP 这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的...
  • php+mysql+apache 配置

    2012-09-04 16:40:46
    初学php的朋友,在开始配置环境的时候,可能配了好多次都无法成功,网上的配置方法也看了很多,也照着做了,也还是没有成功,这个时候你一定很郁闷,但请你不要灰心,你可以对比一下这些配置方法,他们有很多地方是...
  • 关于大型论坛系统环境搭建(20万日IP负载平衡实战)–Nginx+Apache2+PHP+MySQL (本文只针对Discuz论坛系统讨论,由于软件包更新速度比较快,你看本贴的时候可能已经是使用新版本的软件包了,安装方法可能不一致,...
  • 但问题出在Apache+Php+MySql的设置中。虽然IIS+Php+MySql设置成功了,测试很顺利。但在Apache+Php+MySql中怎么设置,MySql都不能用,白了头啊! 今天,仔细对比IIS下的phpinfo与Apache下的phpinfo,终于发现
  • 1.踩了几十个坑。 2.希望后的希望,希望后的绝望,绝望后的反抗,绝望后的希望。
1 2 3 4 5 ... 20
收藏数 19,934
精华内容 7,973
热门标签
关键字:

php+对比apache