PHP开发工程师@温州。博客关于:技术、生活、读书、互联网。

Nginx + php构建高性能web服务器

很早就搭建过了,这里就做个笔记吧。


nginx : 一个高性能的 HTTP 和 反向代理 服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强。

官网:http://nginx.org/


php : 最流行的web开发语言。

官网:www.php.net/


安装前装备: 

1. 去官网下载最新版本 PHP-5.5.5.tar.gz和nginx-1.4.3.tar.gz

2. 安装一些相关的依赖库 

brew install zlib libmcrypt mcrypt libxml  libpng   jpeg freetype gd2

brew install zlib-devel openssl openssl-devel pcre-devel

注:有些系统已经自带了一些库有些没有,以上并不包含全部。


安装php

tar -zxvf PHP-5.5.5.tar.gz

cd PHP-5.5.5

./configure --prefix=/usr/app/php55 --enable-fpm --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --enable-zip  --enable-soap --enable-opcache --with-mcrypt  --with-openssl --with-curl --enable-mbstring --enable-sockets  --with-freetype-dir --with-jpeg-dir --with-png-dir  --with-gd

make && make install

不出意外,上面的命令就可以将php安装到/usr/app/php55目录下了,然后拷贝php的配置。

cp php.ini-development /usr/app/php55/lib/php.ini


配置PHPFastCGI,如监听端口等,可以不用配置保持默认。

vi /usr/app/php55/etc/php-fpm.conf


启动PHPFastCGI,监听127.0.0.1的9000端口

sudo /usr/app/php55/sbin/php-fpm


安装nginx

tar -zxvf nginx-1.4.3.tar.gz

./configure --prefix=/usr/app/nginx  --with-http_ssl_module  --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module

make && make install

上面的命令将nginx安装到/usr/app/nginx目录下。


配置nginx,主要是server部分:   /usr/app/nginx/conf/nginx.conf

server {

    listen 80;

    server_name foo.com;

    root /usr/app/www;

    index index.html index.php;

    location / {

        try_files $uri $uri/ /index.php;/index.php?$query_string;

    }

    location ~ \.php$ {

        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME /usr/app/www$fastcgi_script_name;

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

    }

}

上面的配置意思就是nginx监听80端口,网站根目录为/usr/app/www ,并将所有以php为后缀的文件都交给127.0.0.1:9000来处理,而这里的IP地址和端口就是PHPFastCGI进程监听的IP地址和端口。


最后,启动nginx

/usr/app/nginx/sbin/nginx


好了,nginx+php高性能web服务器初步完成。


评论
热度 ( 1 )

© yuankeqiang | Powered by LOFTER