引言:Nginx服务器通过设置alias别名可以使特定的目录(phpmyadmin目录)不出现在网站根目录下面,即使网站根目录被攻破,也不会影响到phpmyadmin目录里面的文件。
说明:
站点:http://192.168.0.62/,如下图
站点根目录:/usr/local/nginx/html/
Nginx运行账户:www
Nginx运行账户组:www
phpmyadmin目录:/home/phpmyadmin
MySQL用户名:root
密码:zaqQWE,./!@#$l;..)88&**%123
实现目的:通过http://192.168.0.62/phpmyadmin访问这个地址,实现对MySQL数据库的管理。
操作步骤
1、下载phpmyadmin
cd /home
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.zip #下载
unzip phpMyAdmin-4.6.4-all-languages.zip #解压
mv phpMyAdmin-4.6.4-all-languages phpmyadmin #更改文件夹名字为phpmyadmin
未修改nginx配置文件之前,访问http://192.168.0.62/phpmyadmin如下图,提示404错误,找不到文件
2、修改nginx配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.confbak #备份配置文件
vi /usr/local/nginx/conf/nginx.conf #修改配置文件,在
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
下面添加以下内容:
location /phpmyadmin {
alias
/home/phpmyadmin;
index
index.php;
}
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
/home/phpmyadmin/$valid_fastcgi_script_name;
}
:wq! #保存,退出
3、设置/home/phpmyadmin目录权限
chown www.www /home/phpmyadmin -R #修改目录所有者为www账号
service nginx restart #重启nginx
service php-fpm restart #重启php-fpm
4、现在可以使用域名+phpmyadmin来访问了
http://192.168.0.62/phpmyadmin/,出现下面的界面
输入MySQL的账号密码,点执行,即可登录到phpmyadmin的管理界面,如下图
至此,Nginx设置alias别名目录访问phpmyadmin教程完成