CI在CentOS中的部署与实践LNMP

1. 平台:lnmp CentOS6.4 (64bit) nginx1.2.4+php5.5.7配置过程中遇到的问题与处理方式:

1. 404错误:

   原因:nginx中的配置请求路径的问题

2. 405错误:nginx在post到静态文件时出现的错误。

log_format ci3_main '$remote_addr - $remote_user [$time_local] "$request" '
                                  '$status $body_bytes_sent "$http_referer" '
                                  '"$http_user_agent" "$http_x_forwarded_for"';
server {
        listen       8089;
        server_name  www.ainux.com;

        #charset koi8-r;


        access_log  logs/www.ainux.com.log  ci3_main;


        location / {
            root   /data/ci3;
            index  index.php index.html index.htm;
            error_page 405 =200 $uri;
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php {
            root           /data/ci;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /data/ci/$fastcgi_script_name;
            include        fastcgi_params; }
     location ~ ^/Nginxstatus/ {
            stub_status on;
            access_log off;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
         location ~ /.ht {
            deny  all;
        }
    }

解决后的配置内容为:

        log_format ci3_main '$remote_addr - $remote_user [$time_local] "$request" '
                                  '$status $body_bytes_sent "$http_referer" '
                                  '"$http_user_agent" "$http_x_forwarded_for"';
server {
        listen       8089;
        server_name  www.ainux.com;

        #charset koi8-r;


        access_log  logs/www.ainux.com.log  ci3_main;


        location / {
            root   /data/ci3;
            index  index.php index.html index.htm;
            error_page 405 =200 $uri; //此处解决405的错误,在post静态文件时出现的错误
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php {
                root /data/ci3;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME /data/ci3/$fastcgi_script_name;
                include        fastcgi_params;
                fastcgi_split_path_info ^(.+.php)(.*)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
        }
     location ~ ^/Nginxstatus/ {
            stub_status on;
            access_log off;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
         location ~ /.ht {
            deny  all;
        }
    }


原文地址:https://www.cnblogs.com/hubing/p/4759948.html