如何在nginx中设置大量dynamic的虚拟主机如这里所看到的除了使用docker作为主机?
我目前有这样的设置:
# default.conf server { root /var/www/html/$http_host; server_name $http_host; }
并在我的Dockerfile
COPY default.conf /etc/nginx/sites-enabled/default.conf
而我build立的形象和运行后:
docker run -d 80:80 -v www/:/var/www/html
但是,当我在我的主机文件中指向一个新的域(example.dev)并且创build一个www / example.dev / index.html。 它根本不起作用。
该设置是正确的,它在我的系统上测试。 唯一的问题是你在错误的路径上复制文件。 Docker镜像默认情况下不使用sites-enabled
路径。 默认配置加载/etc/nginx/conf.d
所有内容。 所以你需要复制到那个路径,并休息所有的伟大作品
COPY default.conf /etc/nginx/conf.d/default.conf
确保正确映射您的卷。 在测试时,我使用下面的docker命令测试了它
docker run -p 80:80 -v $PWD/www/:/var/www/html -v $PWD/default.conf:/etc/nginx/conf.d/default.conf nginx
以下是命令行上的输出
vagrant@vagrant:~/test/www$ mkdir dev.tarunlalwani.com vagrant@vagrant:~/test/www$ cd dev.tarunlalwani.com/ vagrant@vagrant:~/test/www/dev.tarunlalwani.com$ vim index.html vagrant@vagrant:~/test/www/dev.tarunlalwani.com$ cat index.html <h1>This is a test</h1>
在浏览器上输出