新建一个配置文件 .. 名字可以是 php_hello.conf .. 用一个 server 区块定义一个服务器 .. listen 的是 80 端口 .. 绑定的 server_name 是 php.hello.dev .. 我已经让这个主机名指向了我的服务器的 IP 地址 ..
它的 root 是 /mnt/app/php ... 再添加一个 location .. 匹配的是地址里面是 php 结尾的请求 .. 用一个 ~ 修饰符 ..表示匹配的时候区分大小写 ..
在这个 location 区块里面,先用一个 fastcgi_pass .. 这个指令的值就是 fastcgi 服务的位置 ... 设置成 127.0.0.1:9000 ... 9000 是 php-fpm 默认使用的端口号 ..
另起一行 .. 再用一个 fastcgi_index ... 设置一下默认的索引文件 ... 一般就是 index.php ... 然后要添加一个 fastcgi_param .. 添加一条参数 .. 参数的名字是 SCRIPT_FILESNAME ... 请求的脚本文件的位置 ... 它的值先用一个 $document_root .. 这个参数表示的是 root 指令的值 ... 后面接着再用一个 $fastcgi_script_name... 它表示请求的那个脚本文件的名字 ...
然后再用一个 include 指令,包含进来一个 fastcgi_params 文件 ... 它的位置是在 nginx 配置的根目录的下面 .. 里面设置了一些 fastcgi 的参数 ..
回到终端.. 新建一个目录 .. 位置是在 /mnt/app/hello/php .. 在这个目录的下面新建一个 php 文件 ... 名字是 index.php ... 添加一组 php 的标记 .. 再用一个 echo ... 输出 hello ~ ...
重新加载 nginx ...
回到浏览器 .. 访问一下 php.hello.dev ... 这里出现了一个 403 错误 .. 在这个地址后面添加一个具体的脚本文件的名字 ... index.php ...
这里显示的就是使用了 php 的 echo 输出的一个 hello .. 说明我们的服务器已经可以处理对 php 脚本的请求了 ... 再回到这个配置文件 ...
这里我们可以再定义一个 location 区块 .. 匹配的是 / ... 里面用一下 index 设置一下默认打开的文件 .. 添加一个 index.php 再添加一个 index.html ..
重新加载一下 nginx ...
回到浏览器 .. 直接打开 php.hello.dev ... 没有指定具体的脚本文件 ... 默认会打开 index.php ... nginx 收到这个请求以后,先匹配了这个 location / ... 这里用了 index 指令设置了默认打开的文件 .. 然后继续去匹配带正则表示式的 location ... index.php 用的是 .php 结尾的,所以会匹配下面的这个 location ...
nginx 会把请求交给 php-fpm 去处理 .. 得到了结果以后,再把结果再交给发出请求的客户 ...