主机无法访问客机上的nginx虚拟主机
问题:如何创建简单的nginx配置文件,将文件夹结构作为域读取(test.local,myblog.local)并显示该文件夹中的页面,包括PHP?主机无法访问客机上的nginx虚拟主机
信息: 的Windows 10的x64建立
流浪1.9.5
的VirtualBox 5.0.22(最新)
来宾操作系统:Ubuntu的Xenial 64最新
所以,我想创建简单的nginx的配置,即将重新创建文件夹结构。请参阅pastebin上的 my config file。
此处还有一个Vagrantfile配置,它使用SMB安装文件夹。
文件夹的结构:
├───devhost.local
│ ├───log
│ └───public
│ index.html
│ index.php
│
└───test.local
├───log
└───public
index.html
为devhost的文件和文件夹权限:
[email protected]:~$ ls -la /var/www/html/devhost.local/
total 4
drwxr-xr-x 2 ubuntu www-data 0 Jun 7 11:17 .
drwxr-xr-x 2 ubuntu www-data 4096 Jun 7 12:44 ..
drwxr-xr-x 2 ubuntu www-data 0 Jun 7 11:17 log
drwxr-xr-x 2 ubuntu www-data 0 Jun 6 14:13 public
我的hosts文件在Windows:
192.168.33.10 devhost.local
所以,当我有我的sites-enabled
文件夹中的默认配置,我可以通过打开访客机器3210和我看到nginx的html页面,但是当我删除这个默认配置并启用我的通配符配置(请参阅链接我的配置文件),所以我无法访问我的域名。 sudo nginx -t
表示一切正常,我也尝试重新启动我的访客机器,重新加载/重新启动nginx服务。此外,我禁用Windows 10防火墙(我不知道它的完全禁用,但说它禁用)。此外,日志文件是空的,甚至没有创建,访问日志和错误日志。
我的错误在哪里?如果需要更多信息,请问我,我会给。
非常感谢!
下面的nginx设置应该有所帮助。
server {
listen 80 default_server;
root /var/www/html/$host;
index index.html index.php;
location ~ \.php {
# ... fastcgi details
}
}
问题是一样的。 Chrome说那个ERR_CONNECTION_REFUSED。此外,我禁用ufw,但它没有帮助解决问题。 –
我找到了解决方案。我的nginx没有监听端口80,我检查了sudo netstat -ntlp | grep LISTEN
,但是没有端口80.所以我Google,并且在*上发现了另一个问题(请参见最后的链接) 。
解决方案:重新创建simlink到我的文件与配置,之后,当我运行sudo nginx -t
我看到一些错误。所以它似乎在这个文件是空的或类似的东西之前,但我没有注意到这一点,因为我编辑文件直接在sites-available
文件夹。
感谢大家!
这个问题可以帮助我解决这个问题:nginx not listening to port 80
你不能没有的dnsmasq实现这一目标或手动添加的每个域到hosts文件 – spiil
是的,我加入的主机manualy每个域文件,这是不行的? –