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/


评论: