配置 php-fpm要让 nginx 能够执行 php 文件,需要去安装一下 php-fpm,它直接包含在了 CentOS 资源库里,所以直接使用 yum 命令可以安装它: yum install php-fpm 完成以后,可以检查一下 php-fpm 的运行状态,使用 service 命令: service php-fpm status 返回: php-fpm is stopped(php-fpm 已停止) 启动 php-fpm 同样可以使用 service 命令: service php-fpm start 让 nginx 可以执行 php现在我们应该就可以让 nginx 去执行 php 了。不过你需要修改一下 nginx 的配置文件,之前我们在配置虚拟主机的时候,创建了一个 nginx.ninghao.net.conf 的配置文件,需要去修改下 nginx 的这个配置文件,才能去执行 php 。使用 vim 命令去编辑它: vim /etc/nginx/conf.d/nginx.ninghao.net.conf 注意你的配置文件不一定叫 nginx.ninghao.net.conf,应该是你自己命名的配置文件。打开以后,找到下面这段字样的代码: # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} 这是 nginx 默认给我们的用来执行 php 的配置,从 location 开始取消注释,会让这个配置生效,然后我们还得简单去修改一下: # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # 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; } 注意 root 那里仍然是被注释掉的,还有 SCRIPT_FILENAME 后面修改了一下,把 /scripts 换成了 $document_root 。保存并退出。然后重新启动 nginx: 如果服务器上只放一个网站就直接修改default.conf文件,注意备份原来的文件 service nginx restart 测试是否可以执行 php现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 phpinfo.php,然后在这个文件里输入: <?php phpinfo(); ?> 保存文件并退出。在浏览器里打开刚才创建的这个 php 文件。我这里应该是 http://nginx.ninghao.net/phpinfo.php。打开以后,你应该能看到像下面这样的界面,如果能,说明 nginx 已经可以执行 php 了。 安装 php 扩展现在,我们有了可以提供 web 服务的 nginx ,并且安装了 php-fpm ,配置了 nginx 可以让它去执行 php ,也安装了数据库管理系统。不过在运行真正的网站的时候,我们还需要为 php 安装一些额外的扩展,比如 处理 mysql 数据库的 mysql 扩展,缓存功能的 apc 扩展,处理图像的 gd 扩展等等。安装它们同样可以使用 yum 命令。 yum install php-pecl-apc php-mysql php-gd php-mcrypt php-pear php-mbstring php-xmlrpc php-dom 上面安装了一些 php 的扩展,如果你发现在安装网站的时候提示需要安装其它的扩展,同样可以使用 yum 命令去安装。安装完成以后,需要重启一下 php-fpm : service php-fpm restart (责任编辑:IT) |