阿里云ECS每天一件事D8:整合nginx和php
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,或者就是转发到默认路由。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。