码迷,mamicode.com
首页 > Web开发 > 详细

阿里云ECS每天一件事D8:整合nginx和php

时间:2015-04-02 20:33:15      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

nginx本身的并不能解析php或者jsp,要转发给后端的php或者tomcat以及其他类似的应用程序服务器来提供服务。

 

首先我需要完成的配置是实现与php的整合,典型的配置信息如下:

 1 server {
 2     listen      80;
 3     server_name domain;
 4     root        /data/web/domain;
 5 
 6     location ~ \.php($|/) {
 7       fastcgi_index index.php;
 8       fastcgi_pass 127.0.0.1:9000;
 9 
10       fastcgi_split_path_info ^(.+\.php)(.*)$;
11       fastcgi_param   PATH_INFO $fastcgi_path_info;
12 
13       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
14       include fastcgi_params;
15     }
16 
17     if (!-e $request_filename) {
18       rewrite ^/(.*)$  /error.php?a1=$1&a2=$2&a3=$3 last;
19       rewrite ^/(.*)$  /index.php/$1 last;
20       break;
21     }
22 
23     location ~* \.(gif|jpg|png)$ {
24       access_log off;
25       expires 4h;
26     }
27 
28     location ~ /\.ht {
29       deny all;
30     }
31 }

解释:

Line6-Line15:典型的php转发配置,将php请求,fastcgi方式转发至9000端口的php-fpm监听程序处理;

Line17-Line21:CI框架的特殊配置重写规则,即当文件不存在时,转发至CI的首页处理。此段配置,务必在Line15行之后。前段时间,一直将这两段分数搞反了,以至于很长一段时间,CI运行都不正常,只能识别出默认的路由,或者就是404,或者就是转发到默认路由。

 

阿里云ECS每天一件事D8:整合nginx和php

标签:

原文地址:http://www.cnblogs.com/bashenandi/p/4388101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!