1

我在 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下使用那些服务器,所以我正在尝试。

4

1 回答 1

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;

于 2013-04-28T17:40:00.987 回答