2016-09-21 95 views
0

所以我在我的Ubuntu系统上成功配置了Nginx。如何在Nginx上配置PHPMYadmin(Ubuntu 14.04)

并且还成功安装了PHP和PHpMyadmin。但是,当我尝试打开phpMyAdmin的登录面板返回403禁止

我的Nginx服务器的配置看起来像这样

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /var/www/html/; 
    index index.html index.htm; 

    # Make site accessible from http://localhost/ 
    server_name localhost; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    location = /phpmyadmin/ { 
     root /usr/share/phpmyadmin/; 
    } 

    location ~ .php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include fastcgi_params; 
     } 


    location ~ /\.ht { 
     deny all; 
    } 
} 

我配置phpMyAdmin的一部分这样

location = /phpmyadmin/ { 
     root /usr/share/phpmyadmin/; 
    } 

可以在任何一个帮我设置

回答

0

这里是正确的设置

#你可以在这里你 #服务器{ #... #}# 报表为每个虚拟主机添加到该文件

## 
# You should look at the following URL's in order to grasp a solid understanding 
# of Nginx configuration files in order to fully unleash the power of Nginx. 
# http://wiki.nginx.org/Pitfalls 
# http://wiki.nginx.org/QuickStart 
# http://wiki.nginx.org/Configuration 
# 
# Generally, you will want to move this file somewhere, and start with a clean 
# file but keep this around for reference. Or just disable in sites-enabled. 
# 
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. 
## 

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /var/www/html/; 
    index index.html index.htm; 

    # Make site accessible from http://localhost/ 
    server_name localhost; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ =404; 
     # Uncomment to enable naxsi on this location 
     # include /etc/nginx/naxsi.rules 
    } 


    # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests 
    #location /RequestDenied { 
    # proxy_pass http://127.0.0.1:8080;  
    #} 

    #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 /usr/share/nginx/html; 
    #} 

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
    # 

    location /phpmyadmin { 
       root /usr/share/; 
       index index.php index.html index.htm; 
       location ~ ^/phpmyadmin/(.+\.php)$ { 
         try_files $uri =404; 
         root /usr/share/; 
         fastcgi_pass unix:/var/run/php5-fpm.sock; # or 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; 
     } 

    location ~ .php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include fastcgi_params; 
     } 

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


# another virtual host using mix of IP-, name-, and port-based configuration 
# 
#server { 
# listen 8000; 
# listen somename:8080; 
# server_name somename alias another.alias; 
# root html; 
# index index.html index.htm; 
# 
# location/{ 
#  try_files $uri $uri/ =404; 
# } 
#} 


# HTTPS server 
# 
#server { 
# listen 443; 
# server_name localhost; 
# 
# root html; 
# index index.html index.htm; 
# 
# ssl on; 
# ssl_certificate cert.pem; 
# ssl_certificate_key cert.key; 
# 
# ssl_session_timeout 5m; 
# 
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; 
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; 
# ssl_prefer_server_ciphers on; 
# 
# location/{ 
#  try_files $uri $uri/ =404; 
# } 
#} 
0

1- 403误差必须引起你​​的文件你正在访问没有适当的许可,给它。检查错误日志(如果还没有,则需要切换error_log on)以确定哪些文件正在被访问并引发错误。

2-将index.php定义为您的index文件之一。

3-在index.php的location块中添加try_files指令。

4-尝试从phpmyadmin位置移除尾随/,就像那样。

尝试下面的代码,

server { 
    ... 
    index index.php index.html index.htm; 
    ... 
    location ~ /phpmyadmin { 
     root /usr/share/phpmyadmin/; 
     try_files $uri /index.php; 
    } 
} 

*上面的代码没有经过测试,尝试检查错误日志中的任何错误的情况下。