2011年10月29日星期六

精品博客

精品博客


在 Nginx 平台上运行 PHP 的两种方法

Posted: 28 Oct 2011 07:53 AM PDT

安装完 NginxPHP 之后,如何将它们结合起来使得 VPS 可以运行 WordPress 呢?

如先前所说的,Nginx 安装完之后,唯一须要修改的就是 nginx.conf 文件,而该文件的配置方式主要有以下两种:

一、直接法

在终端应用程序上输入以下命令:

vi /usr/local/nginx/conf/nginx.conf

打开 nginx.conf 文件之后,输入 "dG" 删除文件里面所有的内容,按下 "I" 键并插入以下内容:


user nobody;
worker_processes 2;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 65;

server {
listen 80 default;
server_name localhost;

access_log /usr/local/nginx/logs/test.access.log;
root /usr/local/nginx/html;

location / {
index index.html index.htm index.php;
}

location ~ \.php$ {
include /usr/local/nginx/conf/fastcgi.conf;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}

如果安装 PHP 的时候,你采用的是自定义用户 (例如 www-data), 那么用户名 "nobody" 也要跟着修改。

另外,如果以上 access_log、root 和 include 的路径跟你的不一样,也要改成你的。接着,按下 "ESC" 键,再输入 ":wq" 保存文件,然后你的 VPS 就可以运行 PHP 网页了。

二、间接法

由于直接法把所有的内容都放在 nginx.conf 文件里,一旦该文件有什么差错,那么所有依赖 Nginx 的服务都将受到影响,所以,更加流行的方法是将该文件拆分,即创建一个 "sites-enabled" 文件夹,然后再在该文件夹里分别为每一个网站创建一个配置文件,具体做法如下:

1、编辑 Nginx.conf 文件

在终端应用程序上输入以下命令:

vi /usr/local/nginx/conf/nginx.conf

接着输入 "dG" 并删除里面所有的内容,再按下 "I" 键,然后插入以下内容:


user nobody;
worker_processes 2;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 65;

include /usr/local/nginx/conf/sites-enabled/*;

}

2、创建 "sites-enabled" 文件夹

相比默认的 Nginx.conf 文件,间接法只是修改了 "user" 和 "worker_processes" 的数值,并增加了以下一行:

include /usr/local/nginx/conf/sites-enabled/*;

这行命令使得 Nginx 执行 "sites-enabled" 文件夹里面的所有配置文件,而每个配置文件都是独立的,其中一个出错并不会影响到其他的。创建该文件夹的命令如下:

mkdir /usr/local/nginx/conf/sites-enabled

事实上,该文件夹的路径可以是任意的。

3、创建一个测试用的配置文件

输入以下命令:

nano /usr/local/nginx/conf/sites-enabled/test

并粘贴以下内容:


server {
listen 80;
server_name localhost;

access_log /usr/local/nginx/logs/test.access.log;
root /usr/local/nginx/html;

location / {
index index.html index.htm index.php;
}

location ~ \.php$ {
include /usr/local/nginx/conf/fastcgi.conf;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

保存之后,你的 VPS 就可以运行 PHP 网页了。

检测以上两种配置方法是否正确

我们可以通过创建一个简单的 PHP 网页来检测以上的配置方法是否正确。首先,输入以下命令:

nano /usr/local/nginx/html/test.php

接着输入以下内容:

<?php phpinfo() ?>

保存之后,在浏览器上输入 你的.VPS.IP.地址/test.php,如果出现一个类似以下的页面:

Run Nginx with PHP

那么就证明你的配置是正确的。

附注:

1、关于 nginx.conf 文件里面所涉及的变量,你可以参考官方的 CoreModule 网页。

3、关于 "test" 文件里面的内容,你可以参考 Nginx 官方网站以便获得更详细的说明。

相关博文:

  1. 如何在 VPS 上安装 Nginx
  2. 如何在 VPS 上安装 PHP
  3. Twitter 推出地区趋势

没有评论:

发表评论