文章

Nginx虚拟主机

Nginx虚拟主机

原本一台服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务

listen 和server_name的组合唯一

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

	server {
        listen       80;
        server_name  vod.cloud.top;
        location / {
            root   vod;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       80;
        server_name  www.cloud.top;
        location / {
            root   www;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


}

servername匹配规则

我们需要注意的是servername匹配分先后顺序,写在前面的匹配上就不会继续往下匹配了。

完整匹配

我们可以在同一servername中匹配多个域名

server_name vod.mmban.com www1.mmban.com;

通配符匹配

server_name *.mmban.com

通配符结束匹配

server_name vod.*;

正则匹配

server_name ~^[0-9]+\.mmban\.com$;

server_name可以 把所有的请求全都接到一个server里边,然后server去通过反向代理的方式把请求转到我们的后端的业务逻辑的服务器上,可以进行加减乘除访问数据库,再去匹配不同的用户,给他展示不同的页面。

License:  CC BY 4.0