我之前在论坛上问过,但没有得到答复,所以我打算再试一次。
我正在尝试使用 PHPMyAdmin 设置 NGINX,并希望通过两个子域和一个 IP 地址访问该网站。以下 URL 均指向同一个根文件夹:-
- phpmyadmin.localhost(仅可通过主机访问)
- phpmyadmin.ubuntu-pc.lan(可通过其他 LAN 机器访问)
- 192.168.0.123/phpmyadmin(可通过其他 LAN 机器访问)
这是我当前的服务器块
# PHPMyAdmin
#
server {
listen 80;
listen [::]:80;
#listen 443 ssl;
#listen [::]:443 ssl;
root /var/www/html/phpmyadmin;
index index.php index.html index.htm index.nginx-debian.html;
server_name 192.168.1.123 phpmyadmin.localhost phpmyadmin.ubuntu-pc.lan;
location / {
try_files $uri $uri/ $uri/index.php =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
有人能告诉我如何实现这个目标吗?
更新
我遇到的问题是,当从 LAN 上的另一台设备访问 Ubuntu 机器时,我无法访问尾随目录 192.168.xxx.xxx/phpmyadmin 或子域 phpmyadmin.ubuntu-pc.lan 的 IP 地址。
相反,它们都可以在不经过尾随目录和子域的情况下访问。
答案1
您需要server
为您的配置设置单独的块。
server {
listen 127.0.0.1:80;
server_name phpmyadmin.localhost;
...
}
server {
listen 192.168.1.123:80;
server_name 192.168.1.123 phpmyadmin.ubuntu-pc.lan;
...
}