nginx配置phpmyadmin
phpmyadmin是常用的mysql web可视化管理软件,经常作为站点辅助程序一起发布。nginx是优秀的高性能web代理和反向代理软件,是web服务器的主流软件。
为了能在浏览器上访问站点的phpmyadmin管理界面,需要在nginx上配置访问规则。根据nginx的语法,相对还是比较简单的。根据phpmyadmin的文件类型分类解析即可。下面是一个常用配置:
location ~ /phpmyadmin/.+\.php$ { if ($fastcgi_script_name ~ /phpmyadmin/(.+\.php.*)$) { set $valid_fastcgi_script_name $1; } include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/phpmyadmin/$valid_fastcgi_script_name; } location ~ /phpmyadmin/.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { root /var/www/; expires 30d; try_files $uri =404; }
在这个配置中,我们把phpmyadmin配置到了/phpmyadmin这个二级目录下。这个可以根据需求自定义,比如可是替换成dbman之类,显得没那么敏感。然后根据请求进来的是php文件还是静态文件,转发给相应的程序处理。
如果我们希望/phpmyadmin是全局性的该怎么做呢?apache httpd里面可以通过设置alias的方式设置全局性的二级子目录,这样在服务器上的多个站点就可以共享配置了。很可惜根据nginx的文档,nginx现在还不能提供这样的功能。为了在多个站点的域名都有phpmyadmin,只能写到各个配置文件里了。
当然另外一个更为优雅的方法是将以上配置单独写到一个文件里,然后在主配置文件中include这个文件即可。相对于在每个域名下重复书写,这是更好的解决办法。我的常用做法是在/etc/nginx/conf.d目录下建立global.d目录,把上述内容存放到global.d里保存为phpmyadmin.conf。然后在配置文件里添加:
include /etc/nginx/conf.d/global.d//*.conf;
这样如果还有其他全局性的配置,也可以一并放到这里。同时也省去了每个配置文件里都需要重复一大段的麻烦。
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知