我读过许多关于Apache优化的文章。 在阅读时,两个名字重复了一遍又一遍, nginx和php-apc 。
我试着去了解哪一个可能对我有帮助,但是我找不到明确的答案。 我需要我的服务器支持大约10k连接。 服务器有5GB RAM和4个CPU。
APC和nginx ? nginx会不会从Web服务器上删除任何function? Apache信息:
[root@web conf]# httpd -V Server version: Apache/2.2.3 Server built: Sep 3 2009 17:38:51 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
谢谢!
编辑
该网站将用于蒸汽video使用Flash-rtmp蒸汽video和PHP(蛋糕)和JS的一切。
apc充当PHP模块,wnile nginx是web服务器,通过cgi界面使用php。 简而言之,Web服务器configuration不是一件容易的事情,select的平台依赖于主要的东西。 10k连接 – 这是什么意思,10k并行下载? 如果video是作为同一台服务器的文件传递的 – 应该不会有问题的Apache。 更好地考虑磁盘IO和networking,如果你正在处理video – 我确定CPU无法处理。 如果你正在运行这个php站点来支持videostream,由其他服务器处理 – 可能不会有大量的php相关的请求,所以你可以做任何事情,即使没有硬优化。
我的问题是我应该使用哪一个?
我是否需要更改我的代码以更好地使用APC和nginx?
使用nginx会不会从Web服务器上删除任何function?
我错过了什么? 有什么基本的,我已经错过了?
这远离configuration细节 – 有很多事情要configuration,包括进程重生等
APC是PHP的字节码cachingtypes的事务,而nginx是一个完全独立的networking服务器。 可能有助于澄清你打算运行什么样的网站。