nginx二级目录配置phpmyadmin
很多时候,开发人员都希望可以直接操作mysql,不是所有的服务器都适合直接开3306给他们访问,这个时候就可以整个phpmyadmin给他们使用(这里我们只讨论怎么给开发人员使用,mysql的权限控制和phpmyadmin的安全等,不在本文讨论之中)
系统:centos 7(64位)
环境:网站的根目录是/data/www/vhosts,phpmyadmin的目录是/data/www/wwwroot(要求是既可以访问网站目录/data/www/wwwroot里的内容,又可以使用phpmyadmin)
nginx配置文件:
server { listen 80; server_name blog.slogra.com; root /data/www/vhosts; index index.php index.htm index.html; location /phpmyadmin { alias /data/www/wwwroot/phpmyadmin; index index.php index.html index.htm; } location ~ /phpmyadmin/(?<after_ali>(.*)\.(php|php5)?$) { root /data/www/wwwroot/phpmyadmin; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/${after_ali}; } location ~ /phpmyadmin/.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { root /data/www/wwwroot; expires 30d; try_files $uri =404; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; } } location /favicon.ico { access_log off; } }
ps:
/phpmyadmin/(?<after_ali>(.*)\.(php|php5)?$) 表示正则匹配的内容,赋值给 after_ali 变量(仅nginx 1.1以上版本支持),然后改写script_filename 系统变量,不然默认的话会在/data/www/wwwroot/phpmyadmin/phpmyadmin下面找动态文件.
在浏览器上既可以访问http://blog.slogra.com,又可以使用phpmyadmin,如http://blog.slogra.com/phpmyadmin,剩下的就是安全和权限控制,这里就不讨论了.
参考链接:
https://tlanyan.me/nginx-configure-phpmyadmin/
参考链接:
https://tlanyan.me/nginx-configure-phpmyadmin/
评论: