nginx中配置pathinfo模式示例

 更新时间:2014年08月22日 11:32:03   投稿:junjie  
这篇文章主要介绍了nginx中配置pathinfo模式示例,本文详细记录了摸索过程和成功的配置案例,需要的朋友可以参考下

缘由

很久不使用apache了,渐渐对apache感到陌生,因为朋友有个ZendFramework框架从apache移到nginx下,需要pathinfo模式支持。

网上海搜

于是开始搜索nginx+pathinfo相关文章,一开以为很容易就会配置好。因为搜索后发现有大量文章介绍nginx开启pathinfo模式,感觉不是什么难事。但是经过几个小时下来,还是没有配置好。并且大量文章的内容都极其相似,基本都是转载的。
开始有点急了!因为一天过去了没有配好。

继续摸索

没办法,继续搜索。为了验证方便,我用a.com下载thinkphp框架搭了个环境。并且加了UserAction.class.php控制器类,在类里加了一个app方法并输出一行文字。
于是,我开始不断地改写nginx.conf文件重启nginx,不断的刷新a.com/index.php/User/app 地址。结果要么是地址损坏提示、502、Access defind.
又是一天过去了,开始感觉有点彷徨。

最后坚持

按理说我感觉应该有nginx+thinkphp的先例,只是我没有搜索到答案而已。突然间感觉网上好迷茫,一个小小的问题寻求不到解答。今晚,又试着使用nginx thinkphp关键字搜索,我一下点到十多页以后,找到一处代码

复制代码 代码如下:

location / {       
    if (!-e $request_filename) {
        rewrite  ^/(.*)$  /index.php/$1  last;
                break;
        }
}
 
location ~ \.php {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fcgi.conf;
    set $real_script_name $fastcgi_script_name;
    if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
        set $real_script_name $1;
        set $path_info $2;
    }
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;
}

保存修改,重启nginx,刷新浏览器
意想不到的页面出现了

居然能访问了,终于松了一口气,实在太不容易了。
贴出nginx.conf代码:

复制代码 代码如下:

user  www www;
 
worker_processes 2;
worker_cpu_affinity 01 10;
 
error_log  /data1/logs/nginx_error.log  crit;
 
pid        /usr/local/webserver/nginx/nginx.pid;
 
worker_rlimit_nofile 65535;
 
events
{
  use epoll;
  worker_connections 65535;
}
 
http
{
  include       mime.types;
  default_type  application/octet-stream;
 
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
 
  sendfile on;
  tcp_nopush     on;
 
  keepalive_timeout 60;
  tcp_nodelay on;
 
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;
 
  server
  {
    listen 80;
    server_name a.com;
    index index.php;
    root /data0/htdocs/a.com/www;
 
        location / {       
        if (!-e $request_filename) {
            rewrite  ^/(.*)$  /index.php/$1  last;
                    break;
            }
    }
    
    location ~ \.php {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fcgi.conf;
        set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
            set $real_script_name $1;
            set $path_info $2;
        }
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
    }
  }
}

养成好习惯

1、虽然最终还是解决问题了,但平日要记录一下重要的东西,网络不是万灵
2、就算出现问题也要大概知道什么原因?能不能实现?如何实现?
3、常遇到的问题要反思,举一反三,思考。

相关文章

  • nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总

    nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总

    这篇文章主要介绍了nginx、Apache、IIS三种服务器解决413 Request Entity Too Large问题的方法集合,需要的朋友可以参考下
    2014-05-05
  • Nginx报404错误的详细解决方法

    Nginx报404错误的详细解决方法

    最近打开网站看看结果提示:nginx 404 not found,所以这篇文章主要给大家介绍了关于Nginx报404错误的简单解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Nginx实现基于请求头的访问控制配置的示例

    Nginx实现基于请求头的访问控制配置的示例

    在Nginx中,可以使用"allow"和"deny"指令来实现IP访问限制,本文给大家介绍Nginx实现基于请求头的访问控制配置,感兴趣的朋友一起看看吧
    2023-11-11
  • Nginx tp3.2.3 404问题解决方案

    Nginx tp3.2.3 404问题解决方案

    这篇文章主要介绍了Nginx tp3.2.3 404问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Nginx+IIS简单的部署教程

    Nginx+IIS简单的部署教程

    这篇文章主要为大家详细介绍了Nginx+IIS简单的部署教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Nginx中default_server指令问题详解

    Nginx中default_server指令问题详解

    nginx 的 default_server 指令可以定义默认的 server 出处理一些没有成功匹配 server_name 的请求,下面这篇文章主要给大家介绍了关于Nginx中default_server指令问题的相关资料,需要的朋友可以参考下
    2022-12-12
  • Nginx简要安装配置方法图文教程

    Nginx简要安装配置方法图文教程

    这篇文章主要以图文结合的方式为大家详细介绍了Nginx简要安装配置方法教程,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Laravel的Nginx重写规则实例代码

    Laravel的Nginx重写规则实例代码

    这篇文章主要介绍了Laravel的Nginx重写规则实例代码,需要的朋友可以参考下
    2017-09-09
  • 如何利用nginx处理DDOS进行系统优化详解

    如何利用nginx处理DDOS进行系统优化详解

    防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈,下面这篇文章主要给大家介绍了关于如何利用nginx处理DDOS进行系统优化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • Nginx 搭建域名访问环境的详细过程

    Nginx 搭建域名访问环境的详细过程

    这篇文章主要介绍了Nginx 搭建域名访问环境的详细过程,通过示例代码讲解了Nginx 搭建转发网关进行负载均衡的相关操作,感兴趣的朋友跟随小编一起看看吧
    2024-06-06

最新评论