zoukankan      html  css  js  c++  java
  • nginx虚拟主机配置

    nginx虚拟主机配置

     
    虚拟主机的概念

    虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录

    nginx虚拟主机的配置

    nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可

    先看一个最简单的虚拟主机配置示例

    server { 
    listen 80; 
    server_name a.test.com; 

    location / { 
    index index.html; 
    root /home/www/host_a/; 

    }

    listen 80; 

    指定这个虚拟主机监听的是80端口

    server_name a.test.com; 

    指定这个虚拟主机名为a.test.com,当用户访问a.test.com时,就有这个虚机主机进行处理

    虚拟主机名可以有4种格式:

    (1)准确的名字,例如此例中的a.test.com

    (2)*号开头的,例如 *.test.com

    (3)*号结尾的,例如 mail.*

    (4)正则表达式形式,例如 

    server_name ~^wwwd+.test.com$; 

    注意,使用正则表达式形式时,必须以'~'开头

    server_name也可以同时指定多个,例如:

    server_name test.com www.test.com *.test.com;

    这时优先级为:

    (1)确切的名字

    (2)最长的以*起始的通配符名字

    (3)最长的以*结束的通配符名字

    (4)第一个匹配的正则表达式名字

    location / 

    因为所有请求都是/开头的,所以这行表示匹配所有请求

    index index.html; 

    指定此虚拟主机的默认首页为index.html

    root /home/www/host_a/;

    指定此虚拟主机的物理根目录为/home/www/host_a/

    案例

    (1)对两个域名配置相应的虚拟主机,指定不同的目录

    a.test.com -> /home/www/a

    b.test.com -> /home/www/b

    配置

    server { 
    listen 80; 
    server_name a.test.com; 

    #开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启
    autoindex on; 

    index index.html; 
    root /home/www/a/; 
    }

    server { 
    listen 80; 
    server_name b.test.com; 

    index index.html; 
    root /home/www/b/; 

    #禁止对self目录的访问
    location /(self)/ { 
    deny all; 

    }

    (2)对不同访问目录指定不同物理目录

    server {
    listen 80;

    #使用正则格式,这里表示接受任何ip
    server_name ~^d+.d+.d+.d+$;

    index index.html index.htm;
    root /home/lg/www/;

    location /share {
    root /home/lg/Downloads;
    }

    location ^~ /Videos {
    root /home/lg/;
    autoindex on;
    autoindex_exact_size on;
    autoindex_localtime on;
    allow all;
    }

    location ^~ /html5 {
    root /home/lg/workspace/nodejs/;
    index index.html index.htm;
    }

    location = /404.html {
    root /usr/share/nginx/html;
    }
    }

    autoindex_exact_size
    默认为on,显示出文件的确切大小,单位是bytes
    改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

    autoindex_localtime
    默认为off,显示的文件时间为GMT时间。
    改为on后,显示的文件时间为文件的服务器时间

    allow all;
    允许所以访问
  • 相关阅读:
    SuperSocket 1.4系列文档(16) 在SuperSocket中启用传输层加密(TLS/SSL)
    SuperSocket 1.4系列文档(10) SuperSocket中的日志功能
    UIPageControl实现自定义按钮
    ios 某些代码网址,app打包成ipa
    笔记隐藏状态栏,播放音乐,获取文件路径,nsthread,文件文件夹操作,plist 时间
    使用NSTimer实现倒计时,Iphone幻灯片效果+背景音乐,
    如何让你的iPhone程序支持多语言环境(本地化)
    iPhone电子书toolbar的实现
    iphone界面如何实现下拉列表
    使用NSTimer与iphone的简单动画,实现飘雪效果
  • 原文地址:https://www.cnblogs.com/jun1019/p/6260674.html
Copyright © 2011-2022 走看看