我遵循了Digital Ocean的有关设置Nginx,PHP和phpmyadmin的教程。
但是我仍然无法使用我设置的地址(my-ip-address / phpmyadmin)访问phpmyadmin。
然后,我为在localhost:8010上侦听的node.js应用程序设置了反向代理。
这是/ etc / nginx / sites-available / default文件中的设置:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name "my ip address";
location / {
proxy_pass http://localhost:8010/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
答案 0 :(得分:1)
您正在使用此代码段将所有请求代理到http://localhost:8010:
location / {
proxy_pass http://localhost:8010/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
任何请求都不能发送到phpmyadmin。尝试注释掉该块或将其删除,它应该会按预期工作。
答案 1 :(得分:1)
您需要一个专门用于location /phpmyadmin
的块。由于您已经设置了仅在.php
块上显式扩展为location ~ \.php$ {
时重定向到fastCGI的规则,因此/phpmyadmin
位置将作为对代理应用程序的请求进行处理。您必须添加此:
location /phpmyadmin {
root /path/to/phpmyadmin;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
答案 2 :(得分:0)
我添加了以下代码来访问phpmyadmin:
location /phpmyadmin {
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
}