zoukankan      html  css  js  c++  java
  • nginx配置实战1----配置虚拟主机

    1 nginx虚拟主机的概念

    虚拟主机是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能,所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能,

    简单来说就是:在web服务里面就是一个独立的网站站点。

    2,常见的虚拟主机类型

    1基于域名的虚拟主机,就是通过域名来区分不同的虚拟主机,企业最常用。

    2基于端口的虚拟主机配置,通过不同的端口来区分虚拟主机

    3基于IP的虚拟主机配置

    3基于域名的虚拟主机配置

     1 一个基于域名的虚拟主机配置
     2 worker_processes  1;
     3 error_log  logs/error.log;
     4 pid        logs/nginx.pid;
     5 
     6 events {
     7     worker_connections  1024;
     8 }
     9 
    10 http {
    11     include       mime.types;
    12     default_type  application/octet-stream;
    13     sendfile        on
    14     keepalive_timeout  65;
    15     server {
    16         listen       80;
    17         server_name  www.123.com;
    18         location / {
    19             root   /data/bbb/;   #网站根目录
    20             index  index.html index.htm;
    21         }
    22         location = /50x.html {
    23             root   html;
    24         }
    25     }
    26 检测:
    27 /usr/local/nginx/sbin/nginx -t
    28 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)    
    29 然后创建
    30 mkdri -p /data/bbb/
    31 在网站跟目录追加文件
    echo "http://www.123/com" >> /data/bbb/index.html

    32 在linux客户端测试 33 需要在linux客户端下的hosts文件下加入 34 echo "ip www.123.com" 35 echo "192.168.0.3 www.23.com" 36 测试 37 [root@66 bbb]# curl www.123.com 38 http://www.123.com

     3.1配置多个域名

    只需要在多加几个server模块即可,同时加上对应的域名即可

    完整配置如下:

     1 一个基于域名的虚拟主机配置
     2 worker_processes  1;
     3 error_log  logs/error.log;
     4 pid        logs/nginx.pid;
     5 
     6 events {
     7     worker_connections  1024;
     8 }
     9 
    10 http {
    11     include       mime.types;
    12     default_type  application/octet-stream;
    13     sendfile        on
    14     keepalive_timeout  65;
    15     server {
    16         listen       80;
    17         server_name  www.123.com;
    18         location / {
    19             root   /data/bbb/;   #网站根目录
    20             index  index.html index.htm;
    21         }
    22         location = /50x.html {
    23             root   html;
    24         }
    25     }
    26     server {
    27         listen       80;
    28         server_name  bbs.123.com;  #域名
    29         location / {
    30             root   /data/bbs/;   #网站根目录
    31             index  index.html index.htm;
    32         }
    33         location = /50x.html {
    34             root   html;
    35         }
    36     }
    37     server {
    38         listen       80;
    39         server_name  blog.123.com;
    40         location / {
    41             root   /data/blog/;   #网站根目录
    42             index  index.html index.htm;
    43         }
    44         location = /50x.html {
    45             root   html;
    46         }
    47     }
    48     
    49 检测:
    50 /usr/local/nginx/sbin/nginx -t
    51 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)    
    52 然后创建
    53 mkdri -p /data/bbb/
    54 mkdri -p /data/bbs/
    55 mkdri -p /data/blog/
    56 在网站跟目录追加文件
    57 echo "http://www.123.com" >> /data/bbb/index.html 
    58 echo "http://bbs.123.com" >> /data/bbs/index.html 
    59 echo "http://blog123.com" >> /data/blog/index.html 
    60 在linux客户端测试
    61 需要在linux客户端下的hosts文件下加入
    62 echo "ip  www.123.com"
    63 echo "192.168.0.3 www.123.com"
    64 echo "192.168.0.3 bbs.123.com"
    65 echo "192.168.0.3 blog.123.com"
    66 测试
    67 [root@66 data]# curl bbs.123.com
    68 http://bbs.123.com
    69 [root@66 data]# curl blog.123.com
    70 http://blog123.com
    71 [root@66 data]# curl www.123.com
    72 http://www.123.com
    73 [root@66 data]# 
    View Code

    上面的配置多个域名写法比较繁琐,我们可以拆开来写,方便以后扩展
    加入include vhosts/*.conf;

    简化nginx.conf的配置文件

    如下:

     1 worker_processes  1;
     2 error_log  logs/error.log;
     3 pid        logs/nginx.pid;
     4 
     5 events {
     6     worker_connections  1024;
     7 }
     8 
     9 http {
    10     include       mime.types;
    11     default_type  application/octet-stream;
    12     sendfile        on
    13     keepalive_timeout  65;
    14     include vhosts/www.conf
    15     include vhosts/bbs.conf
    16     include vhosts/blog.conf

    然后在vhosts目录下加上上面的三个文件

     1 server {
     2         listen       80;
     3         server_name  www.123.com;
     4         location / {
     5             root   /data/bbb/;   #网站根目录
     6             index  index.html index.htm;
     7         }
     8         location = /50x.html {
     9             root   html;
    10         }
    11     }
    www.conf
     1 server {
     2         listen       80;
     3         server_name  bbs.123.com;  #域名
     4         location / {
     5             root   /data/bbs/;   #网站根目录
     6             index  index.html index.htm;
     7         }
     8         location = /50x.html {
     9             root   html;
    10         }
    11     }
    bbs.conf
     1 server {
     2         listen       80;
     3         server_name  blog.123.com;
     4         location / {
     5             root   /data/blog/;   #网站根目录
     6             index  index.html index.htm;
     7         }
     8         location = /50x.html {
     9             root   html;
    10         }
    11     }
    blog.conf

    测试:

    1 [root@66 data]# curl bbs.123.com
    2 http://bbs.123.com
    3 [root@66 data]# curl blog.123.com
    4 http://blog123.com
    5 [root@66 data]# curl www.123.com
    6 http://www.123.com
    测试

     4基于端口号的配置

    只需要在在上边的基础上修改listen的监听端口

    具体配置如下:

     1 一个基于域名的虚拟主机配置
     2 worker_processes  1;
     3 error_log  logs/error.log;
     4 pid        logs/nginx.pid;
     5 
     6 events {
     7     worker_connections  1024;
     8 }
     9 
    10 http {
    11     include       mime.types;
    12     default_type  application/octet-stream;
    13     sendfile        on
    14     keepalive_timeout  65;
    15     server {
    16         listen       80;
    17         server_name  www.123.com;
    18         location / {
    19             root   /data/bbb/;   #网站根目录
    20             index  index.html index.htm;
    21         }
    22         location = /50x.html {
    23             root   html;
    24         }
    25     }
    26     server {
    27         listen       82;
    28         server_name  bbs.123.com;  #域名
    29         location / {
    30             root   /data/bbs/;   #网站根目录
    31             index  index.html index.htm;
    32         }
    33         location = /50x.html {
    34             root   html;
    35         }
    36     }
    37     server {
    38         listen       82;
    39         server_name  blog.123.com;
    40         location / {
    41             root   /data/blog/;   #网站根目录
    42             index  index.html index.htm;
    43         }
    44         location = /50x.html {
    45             root   html;
    46         }
    47     }
    48     
    49 检测:
    50 /usr/local/nginx/sbin/nginx -t
    51 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)    
    52 然后创建
    53 mkdri -p /data/bbb/
    54 mkdri -p /data/bbs/
    55 mkdri -p /data/blog/
    56 在网站跟目录追加文件
    57 echo "http://www.123.com" >> /data/bbb/index.html 
    58 echo "http://bbs.123.com" >> /data/bbs/index.html 
    59 echo "http://blog123.com" >> /data/blog/index.html 
    60 在linux客户端测试
    61 需要在linux客户端下的hosts文件下加入
    62 echo "ip  www.123.com"
    63 echo "192.168.0.3 www.123.com"
    64 echo "192.168.0.3 bbs.123.com"
    65 echo "192.168.0.3 blog.123.com"
    66 测试
    67 [root@66 data]# curl bbs.123.com:80
    68 http://bbs.123.com
    69 [root@66 data]# curl blog.123.com:81
    70 http://blog123.com
    71 [root@66 data]# curl www.123.com:82
    72 http://www.123.com
    73 [root@66 data]#
    View Code

    5基于ip的配置
    这个很少用,不在介绍

  • 相关阅读:
    [译]6.1. Data Structures Featured in This Chapter 本章涉及到的数据结构
    Linux中进程结构描述符
    How to uninstall GRUB
    [每日一点]msgsnd函数代码跟踪
    开始从代码入手学习内核
    剖析MagicAjax
    Castle实践6-TypedFactory Facility
    移植MSPetShop3到Castle MonoRail -Model与DAL层的移植(AR)
    热血江湖外挂之【热血江湖自补器 Version 0.1】
    对 "闭包closure" 的一些见解
  • 原文地址:https://www.cnblogs.com/Dicky-Zhang/p/5952917.html
Copyright © 2011-2022 走看看