2016-03-14 82 views
1

我已經在我的linux mint系統上安裝了LEMP。 nginx被配置爲使用php5-fpm套接字。 當我在我的系統index.php(link:localhost/ci/index.php)中運行codeigniter時出現,但是當我嘗試打開任何控制器時,說博客(link localhost/ci/index.php/blog)nginx給出404錯誤消息。codeigniter不能在nginx(在本地主機上運行),linux mint

以下是放置在文件我nginx的配置的/ etc/nginx的/網站-avaliable /默認

server { 
listen 127.0.0.1:80; 
listen [::]:80 default_server ipv6only=on; 
root /home/scoders/Workspace/public_html; 
index index.html index.htm index.php; 
autoindex on; 

server_name localhost; 

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 

# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests 

location ~ \.php$ { 
    fastcgi_split_path_info ^(.+\.php)(.*)$; 
    fastcgi_param REQUEST_URI $request_uri; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME /home/scoders/Workspace/public_html/ci/index.php; 
    #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 
} 

}

nginx.conf內容如下:

user scoders; 
worker_processes 4; 
pid /run/nginx.pid; 

events { 
    worker_connections 768; 
} 
http { 
    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 

    include /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 

    gzip on; 
    gzip_disable "msie6"; 

    xml+rss text/javascript; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
    include /etc/nginx/sites-enabled/*.conf; 
    server_names_hash_bucket_size 64; 
} 

我的日誌給出了以下錯誤:

2016/03/14 14:38:38 [error] 23239#0: *1 FastCGI sent in stderr: 
"Primary script unknown" while reading response header from upstream, 
client: 127.0.0.1, server: localhost, request: "GET /ci/index.php/ci 
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost" 

我嘗試了這些鏈接,但沒有運氣:

Codeigniter | NGINX

CodeIgniter NGINX Rewrite Rules

+0

是blog.php的或blog.php的文件名應成爲第一個字母大寫。 – user4419336

+0

控制器名稱是Blog.php –

回答

0

要麼/home/scoders/Workspace/public_html/ci/index.php無法訪問因某種原因或SCRIPT_FILENAMEinclude fastcgi_params;

被覆蓋作爲一般規則,你應該之後的include第一個和fastcgi_param

例如:

location ~ \.php$ { 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    include fastcgi_params; 
    fastcgi_param REQUEST_URI $request_uri; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

另外,如果您的默認URI是/ci/index.php而不是/index.php,改變你的location /到:

location/{ 
    try_files $uri $uri/ /ci/index.php?$args; 
} 
+0

只是通過將/ ci前置到/index.php?arargs工作,儘管我已經完成了這兩項更改。謝謝.. –

相關問題