php服务器用IIS好还是用Apache好,其他的服务器怎么样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php服务器用IIS好还是用Apache好,其他的服务器怎么样相关的知识,希望对你有一定的参考价值。

哪种服务器好

看你的项目,apache肯定好于iis的,但是apache和nginx之间也是有区别的。
轻量级,同样起web 服务,比apache 占用更少的内存及资源 ,抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 ,高度模块化的设计,编写模块相对简单,社区活跃,各种高性能模块出品迅速啊
apache 相对于nginx 的优点:
rewrite ,比nginx 的rewrite 强大,模块超多,基本想到的都可以找到,少bug ,nginx 的bug 相对较多,超稳定,存在就是理由,一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。当然,这只是根据网络IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。
---------------------
参考技术A

IIS与Tomcat的区别 
IIS是微软公司的Web服务器。主要支持ASP语言环境. 
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的SJP语言环境容器,严格得说不能算是一个WEB服务器,而是Apache服务适配器。 
tomcat主要的任务不是WEB服务,而是支持JSP语言环境. 
IIS就是也款WEB服务器,支持ASP语言环境 
Apache与Tomcat的区别 
APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页. 但asp,php,cgi,jsp等动态网页的就不行. 
如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页, 而这个jsp解释器就是TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK 整合的好处是:如果客户端请求的是静态页面,则只需要Apache服务器响应请求如果客户端请求动态页面,则是Tomcat服务器响应请求因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 . 
apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展。 
Apache:普通服务器,本身只支持html即普通网页,它是html容器,功能像IIS一样 
tomcat:解释java程序(jsp,serverlet),它是是jsp/servlet容器,用于发布JSP及JAVA的 
apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),tomcat就是一个桶(装像JAVA这样的水),而这个桶也可以不放在卡车上。 
IIS与 Apache的区别 
对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属Apache与IIS了。那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题。

参考技术B 一,在apache中php以模块的方式与apache结合的即PHPIniDir "E:\phpsite\php"(这部是设置php.ini的位置) LoadModule php5_module "E:/phpsite/php/php5apache2_2.dll"
二,在用IIS整合php时,有两种方式:ISAPI(.exe可执行文件【php.exe,php-cgi.exe】)与CGI(.dll动态链接库)模式,这两种方式,我们都可以看到phpinfo页面,但是使用ISAPI模式,无法读取环境变量,所以通过环境变量PHPRC设置的php.ini路径无法找到。使用CGI就可以,这样就不必把好多文件拷到系统文件下。
三,配置文件(PHP 3 中是 php3.ini,自 PHP 4 起是 php.ini)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 CGI 和 CLI 版本,每次调用都会读取。
php.ini 的搜索路径如下(按顺序):
* SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令 行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)
*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)
*PHPRC 环境变量
*当前工作目录(对于 CLI)
*web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)
*Windows 目录(C:\windows 或 C:\winnt),或 --with-config-file-path 编译时选项指定的位置

我在Server2003+php4的环境下遇见了这个问题,解决的方法是在前面写PATH环境变量的时候,添加一个PHPRC,指向x:\php4\php.ini,重新启动即可,如果实在还是不行的,最后还有一招就是安装zend,php加速器,因为安装zend的时候,会指定php.ini的路径,也会指定所使用的服务器是IIS还是Apache,起本质是对注册表做了修改,但是我不知道修改了哪个位置,所以我在上面的操作还是无效的情况下,最后安装Zend,终于成功解决问题了。

四,IIS下PHP的ISAPI和FastCGI比较 (2009-8-2)
1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用 户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。
2、ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接 口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的 用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。

3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载 是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。

以 ISAPI 模式运行 PHP 的,这种方式最大的缺点就是稳定性不好,当 PHP 出错的时候,Apache进程也死掉了

FastCGI 模式运行 PHP 的优点:
以 FastCGI 模式运行 PHP 有几个主要的好处。首先就是 PHP 出错的时候不会搞垮 Apache,
只是 PHP 自己的进程当掉(但 FastCGI 会立即重新启动一个新 PHP 进程来代替当掉的进程)。
其次 FastCGI 模式运行 PHP 比 ISAPI 模式性能更好

最后,就是可以同时运行 PHP5 和 PHP4

FastCGI 模式的一些缺点:
说完了好处,也来说说缺点。用 FastCGI 模式更适合生产环境的服务器。
但对于开发用机器来说就不太合适。因为当使用 Zend Studio 调试程序时,
由于 FastCGI 会认为 PHP 进程超时,从而在页面返回 500 错误
参考技术C 如果你是使用windows系统的服务器,建议是IIS,因为这种web环境在windows下跑php是性能最好的,而且功能很多。
如果你是使用Linux服务器,比如CentOS和Ubuntu之类的,我建议是用Apache和nginx,这两个在Linux下性能最佳,本身来说Linux类服务器安全性和资源消耗都比windows低,而且安全性好。
至于Apache和nginx的选择,如果要方便配置,快速搭建,需要很多功能,可以选择Apache。如果要性能极佳,稳定性,追求速度,自身有技术的,可以选择nginx。
总得来说。
php不建议在windows服务器运行,iis也只支持windows服务器,Apache和nginx在windows都比较卡顿。所以我建议你使用Linux服务器,并根据自身要求从Apache和nginx之间选择。追问

Linux跟Windows有啥区别,是专门做服务器的系统吗

追答

Linux和windows都可以是专门做服务器的系统,但是就论php运行而言,在Linux下可以得到更快的速度,稳定性,和安全性。
这是一个适合不适合的问题,php适合Linux,和系统的优劣无关。如果你是.net项目,就是适合windows不适合Linux

参考技术D 1、稳定性
稳定性是web服务器不间断运行的根本。对于一个网站来说也是尤为重要的。在正常的运载过程中,IIS的稳定性稍逊于Apache,如果保持长时间的运行而不重启的情况下,偶尔会出现500错误,甚至还有可能出现莫名的假死情况。要解决这一问题用户可以不定期的重启一下,这种情况将会有所好转。反观Apache则表现的非常稳定。
2、安全性
安全性是所有服务应用的重中之重。而且当前各种莫名的攻击大肆侵略着各种不同的服务器。早期的IIS在安全性上有所欠缺,不过随着微软公司的完善,各种补丁更新的升级,尽可能的提高了网站安全性上。Apache得益于先天的优势,一般用户都会在Linux环境下运行Apache,所以安全性自然也没得说。安全性的话,Apache和IIS可以说是旗鼓相当。
3、难易度
一款软件应用的上手难度直接影响着用户群体的大小。IIS自然不用多说,微软公司一直都是以易操作的图形化深得人心。上手操作、发布网站比较简单快捷。但是,要想精通的话还是挺困难的。APACHE则比IIS难上许多,首先一定要具备基础的计算机及互联网知识。所以说,IIS在这个环节上优势巨大。这也是这两者拉开差距的最大因素。
4、扩展性
IIS只能在windows环境下运行,拓展性可想而知,脱离的windows它将一事无成。不过运行ASP和.net非常优秀。而Apache自然无需多说,开放的源代码,拓展能力极强。支持几乎所有的语言。这个环节Apache完胜。

wordpress用啥主机好?

我想要用wordpress做个网站,用什么主机好?win好还是linux?IIS是什么?apache呢?备案是不是很麻烦,都好乱,不知道是什么,求详细解答

楼主,我一个个的回答你吧!
IIS和apache 都是一种互联网信息服务类型,而IIS是按照打开一个页面占用一个IIS,也就是并发,一般IIS的主机都是限制IIS并发的,而apache则是限制流量或者CPU!以我做网站经验,建议选择apache吧!
win和linux的话,用WP建议用linux,在linux下设置伪静态比较简单,只需要后台设置,而win系统需要用别的方法,比如404方法来设置wp的伪静态!所以推荐linux系统!
备案的话,如果觉得麻烦,可以买香港,或者美国的,也可以韩国的,速度来说是:
香港最好,韩国其次,美国比较慢
用什么主机?买香港的主机的话,我推荐去迅科互联,他们是恒创那边的代理商!做的还不错!
可以看看 www.xukhost.com
参考技术A 这里给大家推荐一款高性价比的WordPress主机—BlueHost主机。作为WordPress官方推荐主机BlueHost,位于各大顶级数据中心,提供免费CDN加速功能,能够进一步提升网站访问速度。BlueHost承诺提供99.9%以上的正常运行时间,最大程度地保证了WordPress主机空间的正常运行。
WordPress建站的话建议选择Linux操作系统,BlueHost主机一键安装功能将搭建WordPress网站的过程变得非常简单,只需登录控制面板并选择自动安装即可,几分钟就能完成WordPress程序的安装过程。
BlueHost是国外主机,无需备案的,所以无需担心。BlueHost主机硬件配置相对较高,但BlueHost主机的租用价格却不贵。BlueHost为大家提供了三种方案,而且通过主机侦探优惠链接在中文站购买还可以享受30%的优惠,BlueHost主机使用指南上有关于WordPress建站具体介绍。
参考技术B wordpress建议用php主机 当然技术不好的话 也可以用windows主机

iis是windows平台的 apache是linux平台的 不明白的可以 新麦互联

以上是关于php服务器用IIS好还是用Apache好,其他的服务器怎么样的主要内容,如果未能解决你的问题,请参考以下文章

云服务器用windows还是linux系统比较好?

批量连接服务器用什么工具好

wordpress用啥主机好?

linux mpm模式用prefork好还是worker好

nginx和apache有啥区别,我该用哪种?

NGINX+PHP好,还是NGINX+APACHE+PHP好