nginx+php linux下配置

此篇文章是转发别人的,记录linux下配置nginx+php环境的方法,只是记录在博客里供参考: 

1) 安装 Ubuntu Server

安装 Ubuntu Server. 请到 Ubuntu 的官网下载最新版本的 ISO 文件, 例如 :12.04.3-server-amd64.iso.

安装依赖软件:

 Ubuntu 下安装软件可以用 aptitude 命令这是一个类似图形界面的软件启动后按 “/” 输入软件名进行搜索选中后按 “+”, 再按 “g” 即可安装.

需要安装的依赖软件包是: libxml2-dev.

 

2)源码安装 Nginx

编译 Nginx

到 Nginx 的官网下载最新版本的 Nginx 源码,  2013-11-11 最新版本是 1.5.6, 未来会有升级所以下载的 wget 只是一个示例你应该替换成最新的版本.

wget http://nginx.org/download/nginx-1.5.6.tar.gz
tar xzf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure --without-http_gzip_module
make
sudo make install

Nginx 会被安装在 /usr/local/nginx 目录下.

启动 Nginx

sudo /usr/local/nginx/sbin/nginx

停止 Nginx

sudo /usr/local/nginx/sbin/nginx -s stop

验证 Nginx 是否已经启动

打开浏览器访问 http://127.0.0.1/ 看看网页是否能打开如果你在另一台机器上访问 127.0.0.1 换成 Ubuntu 服务器的 IP 地址即可如下图

图

更多的 Nginx 配置文件的修改等我们安装完 PHP 之后再关心先使用默认的配置文件运行起来默认的配置文件在 /usr/local/nginx/conf/nginx.conf 文件.

3)源码安装 PHP fpm fastcgi

编译 PHP

同样到 PHP 的官网下载最新版本的 PHP 源码.

wget http://us1.php.net/get/php-5.5.5.tar.bz2/from/cn2.php.net/mirror
tar xjf mirror
cd php-5.5.5
./configure --enable-fpm
make
sudo make install

PHP 的可执行文件(php, php-cgi)会被安装到 /usr/local/bin 目录下配置文件是 /usr/local/lib/php.ini, 这个文件并不存储你需要自己创建.

验证 PHP 是否已经安装成功

php -v

上面的命令应该有版本信息输出.

创建 php.ini 配置文件

sudo cp php.ini-production /usr/local/lib/php.ini

不过现在你还用不上等用的时候再修改这个文件.

修改 Nginx 配置文件支持 PHP

编译 Nginx 的配置文件 /usr/local/nginx/conf/nginx.conf, 加入下面的内容原配置文件里有类似的内容你加在那段内容的紧跟后面即可.

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

然后重启 Nginx

sudo /usr/local/nginx/sbin/nginx -s reload

这时候, Nginx + PHP 还不能工作你还需要启动 php-cgi 进程.

启动 php-cgi

/usr/local/bin/php-cgi -b 9000

验证 Nginx + PHP 已经正常工作

首先你需要创建一个 PHP 脚本新建一个文件 /usr/local/nginx/html/index.php, 这个文件的内容只有一行:

<?php phpinfo();

然后用浏览器访问 http://127.0.0.1/index.php 你应该能看到 PHP 的信息如下图

图

4)用 fpm 方式启动 php-cgi 进程

刚才的一行命令虽然启动了 php-cgi, Nginx + PHP 也正常工作了但这不是正式环境的做法只是一种临时方法正式的生产环境一般用 fpm 方式启动 php-cgi 为守护进程.

php-fpm 程序安装在 /usr/local/sbin/php-fpm.

创建 php-fpm.conf

PHP 默认安装了一个 php-fpm.conf.default 的模板文件需要将它改名:

sudo cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

然后将

user = nobody
group = nobody

修改成

user = work
group = work

work 是你的用户名你应该改成实际的用户名然后启动 php-fpm

sudo /usr/local/sbin/php-fpm

这时候, php-cgi 已经作为守护进程启动了.

5)单独编译安装 PHP 模块

上面编译的 PHP 可能没有包含一些你需要的模块不过别担心你可以不必重新编译整个 PHP, 而是只编译和安装缺少的那个模块这也是 PHP 模块化的好处下面以单独安装PHP  sockets 模块为例.

进入你的 PHP 源码的 ext/sockets 目录. ext 目录是所有模块的总目录然后执行

/usr/local/bin/phpize
./configure
make
sudo cp modules/sockets.so /usr/local/lib/php/extensions/no-debug-non-zts-20121212/

然后修改 php.ini 配置文件找到

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

在其后面加上

extension=sockets.so

然后重启 php-fpm. 这样, sockets 模块就已经安装成功了.

posted @ 2014-06-09 15:22  zizi_come  阅读(190)  评论(0编辑  收藏  举报