vhost和dns与nginx

时间:2016-05-29 20:33:55

标签: nginx dns hosts

我设置了一个带有干净安装的ubuntu 16的虚拟机。安装了nginx,php7,mysql都没关系。计算机名称是:汞

我已经设置了一个文件夹,该文件夹将成为我所有网络项目的根目录:/ var / www

我希望能够拥有一个动态虚拟主机,我可以在其中创建一个文件夹(例如:/ var / www / project1),并且我可以通过浏览器轻松访问它:project1。汞 我能实现这个目标吗?在我的浏览器中:水银/加载很好(/var/www/index.html),但是一旦我使用子域它就会崩溃并给我一个dns错误:无法找到服务器DNS地址

这是我的:/etc/nginx/nginx.conf文件

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
worker_rlimit_nofile 30000;

events { worker_connections 1024; }

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        server_tokens off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
        proxy_connect_timeout 60;
        proxy_read_timeout 60;
        proxy_send_timeout 60;


        gzip on;
        gzip_disable "msie6";
        gzip_types text/plain text/xml text/css text/comma-separated-values;
        upstream app_server {
            server 127.0.0.1:8080 fail_timeout=0;
        }

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

的/ etc / nginx的/ /默认启用位点-:

server {
    listen 80;
    server_name  ~^(?P<subdomain>.+)\.mercury$;
    location / {
         root /var/www/$subdomain;
    }
}

更新:

所以这个配置有效,但我需要手动更新我的Windows主机文件并指定具有相同IP地址的子域:

192.168.1.101 project1.mercury

如果我不这样做,我会收到一个dns错误。

如何在不必每次都在hosts文件中手动添加条目的情况下实现这一目标?

0 个答案:

没有答案