Nginx+php(FastCGI)+Memcached+Mysql+APC 是目前主流的高性能服务器搭建方式!适合大中型网站,小型站长也可以采用这种组合!
Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括国内最大的电子地图MapBar、新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站,更多的网站都在使用Nginx配置。
下载所需的安装包:这里采用源码包编译安装:本博客集成下载
http://wgkgood.gicp.net/download/nginx-0.7.61.tar.gz
http://wgkgood.gicp.net/download/pcre-8.01.tar.gz
http://wgkgood.gicp.net/download/memcache-2.2.5.tgz
http://wgkgood.gicp.net/download/libevent-1.4.12-stable.tar.gz
http://wgkgood.gicp.net/download/APC-3.1.4.tgz
下载到 /usr/src下
另外还有两个包mysql-5.1.41.tar.gz、php-5.3.5.tar.gz 【其他相似版本也可以!】可以在官网下载。
一、正式安装Nginx、【安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等】
cd /usr/src tar xzf pcre-8.01.tar.gz cd pcre-8.01 ./configure –prefix=/usr/local/pcre make make install |
(2)、然后再安装nginx :
useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-openssl=/usr/ –with-pcre=/usr/src/pcre-8.01 –user=www –group=www &&make &&make install |
【nginx注意* –with-pcre=/usr/src/pcre-8.01指向的是源码包解压的路径,而不是安装的路径,否则会报
make[1]: *** [/usr/local/pcre/Makefile] Error 127 错误】
二、接下来安装mysql
cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install |
(2)、mysql安装完毕,创建mysql用户和组并初始化数据库,并启动数据库。
cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db –user=mysql && chown -R mysql:mysql var/ && ./bin/mysqld_safe –user=mysql & |
即可。【如果mysql启动报错,请检查 /usr/local/mysql/var 目录,mysql是否有权限】
三、安装 php :
cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/u sr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-li bxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-sockets && make &&make install |
安装完毕!【注意这个参数在此可以不加–enable-fastcgi;其他之前版本需要加上,以上安装根据自己的选择添加,如果报错,根据具体报错找原因】
四、整合Nginx和php(FastCGI)安装完php-5.3.5后支持fastCGI
user www www;
worker_processes 8; error_log /usr/local/logs/nginx/error.log crit; pid /usr/local/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. events http #charset gb2312; server_names_hash_bucket_size 128; sendfile on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; gzip on; #limit_zone crawler $binary_remote_addr 10m; server #limit_conn crawler 20; location ~ .*\.(php|php5)?$ location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ location ~ .*\.(js|css)?$ log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘ } |
Nginx配置完毕!启动nginx ;/usr/local/nginx/sbin/nginx 即可,重启nginx命令如下/usr/local/nginx/sbin/nginx –s reload
此配置文件仅供参考,感谢张宴老师!
(2)、配置fcgi.conf文件如下
fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REMOTE_ADDR $remote_addr; # PHP only, required if PHP was built with –enable-force-cgi-redirect |
五、配置php配置文件:
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf |
然后根据提示修改php-fpm.conf里面的选项。
配置完毕后,启动php-fpm
以下cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm |
然后启动 /etc/init.d/php-fpm start 即可。
六、安装apc配置:
cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4
/usr/local/php5/bin/phpize ./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php5/bin/php-config &&make&& make install |
安装完后会生成一个apc.so在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/里面。
七、安装memcached,使fastcGI支持memcached
首先安装libevent,
cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install |
然后安装memcached
tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached –with-libevent=/usr/local/libevent –with-php-config=/usr/local/php5/bin/php-config &&make &&make install |
安装完后,会在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/里生成一个memcache.so 这个模块:
八、接下来修改php.ini
默认的php.ini在/usr/local/php5/lib/php.ini 你也可以指定:
extension_dir = “./” |
修改为
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626″ |
把下面这些添加到最后:
extension = apc.so
extension=memcache.so //这里引用缓存模块 [APC] apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 64M apc.optimization = 1 apc.num_files_hint = 0 apc.ttl=7200 apc.user_ttl=7200 apc.gc_ttl = 3600 apc.cache_by_default = on |
安装到此已经完成!
重新启动nginx和php-fpm ,用测试页面访问。
此文章仅供参考!有不妥之处欢迎指正!共同学习!