phpmyadmin文件位于/usr/share/phpmyadmin/
而我有这个服务器块代码,只允许我从http://vps-ip/访问phpmyadmin:
server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /usr/share/phpmyadmin/; index index.php index.html index.htm; server_name ein; location / { root /usr/share/phpmyadmin/; index index index.php; try_files $uri/ $uri /index.php?q=$uri&&$args; port_in_redirect off; } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; log_not_found off; expires max; root /usr/share/phpmyadmin/; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini fastcgi_pass php; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 360; fastcgi_read_timeout 360; fastcgi_buffer_size 128k; fastcgi_buffers 8 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location ~ /.htaccess { deny all; log_not_found off; access_log off; } location ~ /.htpasswd { deny all; log_not_found off; access_log off; } location = /favicon.ico { allow all; log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } }
为了从http://vps-ip/phpmyadmin访问http://vps-ip/phpmyadmin并从http://vps-ip/ ?访问我的网站,我需要做什么修改。
好的,我find了这个解决scheme:
location ^~ /phpmyadmin/ { alias /usr/share/phpmyadmin/; location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass php; } }
这样做的行为被称为别名,基本上设置的东西去别的地方。 我个人没有NGINX的经验,但根据这篇文章 ,你应该使用:
location /phpmyadmin/ { alias /usr/share/phpmyadmin/; }
希望这有助于。 🙂
你需要改变你的根。 现在你把它作为root /usr/share/phpmyadmin/ 。 这意味着nginx认为http://vps-ip/应该从/usr/share/phpmyadmin/ 。 你想分享的文件是在http://vps-ip/位于/usr/share/ ? (这对他们来说似乎是一个非常奇怪的地方,你应该为你的网站做一个文件夹)。