我想从同一网络中连接的手机或平板电脑访问我的开发工作站(Arch Linux)上的虚拟主机。
我的nginx.conf虚拟主机规范如下所示:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 16M;
# Domain site1.dev
server {
server_name site1.dev;
listen 80;
root /path/to/dir;
location / {
root /path/to/dir;
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path/to/dir/$fastcgi_script_name;
include fastcgi_params;
}
}
}
我的/ etc / hosts文件包含:
127.0.0.1 localhost localhost.localdomain site1.dev
192.168.1.11 site1.dev
这适用于localhost,但我无法通过同一网络中连接的手机或平板电脑访问site1.dev。它仅使用IP地址192.168.1.11 是否有某种方法可以使用 site1.dev 名称使其工作?
答案 0 :(得分:1)
仅当您从开发工作站开发工作站的/etc/hosts
文件>。如果您通过移动设备访问网络,开发工作站的/etc/hosts
将被忽略。
如果您想从手机或平板电脑上192.168.2.11
site1.dev
,则应在每台设备上创建一个/etc/hosts
- 条目(与工作站上的相同)。
当您的路由器支持本地DNS功能时,其他可能性是使用您的路由器。
或者一个复杂的解决方案(非常丑陋的黑客攻击)是将DNS服务器安装到您的工作站并将路由器的DNS设置为您工作站的IP。
答案 1 :(得分:0)
如果您正在开发某个网站或后端进行测试,则只需用IP地址替换server_name site1.dev,否则您需要配置DNS
我只是尝试一下,就像:
server_name 192.168.1.11;
,您无需将其放在hosts文件中。