nginx设置位置错误下载

时间:2013-04-27 00:59:54

标签: wordpress nginx phpmyadmin php

我在Ubuntu 12.04LTS上使用php5-fpm为wordpress和phpMyAdmin设置了nginx。

我的phpMyAdmin位于/var/www/phpMyAdmin,wordpress位于/home/user/workspace/wordpress,MySQL位于/var/run/mysqld/mysqld.sock

我想将/映射到wordpress,/phpmyadmin映射到phpMyAdmin,那么我该如何实现呢?

Wordpress似乎没问题,但在访问/phpmyadmin时,浏览器会将请求“下载”为文件...... ??

这是我目前的nginx.conf:

server {
    listen 8000;
    root /home/user/workspace/wordpress;
    index index.html index.htm index.php;\

    location ~* /phpmyadmin { #TODO: shall here be a  tailing slash??
        #TODO: root or alias???
    }

    location ~ \..*/.*\.php$ {
        return 403;
    }
    location / {
        #TODO: show the following line be un-commented??
        #try_files $uri $uri/ /index.php?q=$uri&$args;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;#TODO: could this being removed??
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    #FIXME: and how to block all access to /home/user/workspace/wordpress/server.d/*
    #This doesn't work??
    location /sever\.d {
        autoindex on;
        deny all;
    }

并且,如果所有服务器都以wordpress/运行,我应该为目录phpMyAdmin/www-data:www-data设置什么权限? 目前我将它们设置为755 user:www-data,这是正确的吗?

我还没有在linux下设置服务器,我在WinXP下使用这些服务器,所以我正在尝试。

1 个答案:

答案 0 :(得分:1)

在您之间添加此

location /phpmyadmin {
           root /usr/share/;
           index index.php index.html index.htm;
           location ~ ^/phpmyadmin/(.+\.php)$ {
                   try_files $uri =404;
                   root /usr/share/;
                   fastcgi_pass 127.0.0.1:9000;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }
    location /phpMyAdmin {
           rewrite ^/* /phpmyadmin last;
    }

之间的任何地方 也 你缺少一个服务器名称。键入server_name example.com;