1 nginx虚拟主机的概念

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

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

2,常见的虚拟主机类型

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

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

3基于IP的虚拟主机配置

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

 一个基于域名的虚拟主机配置
worker_processes ;
error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on
keepalive_timeout ;
server {
listen ;
server_name www..com;
location / {
root /data/bbb/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
检测:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload(或者重新启动)
然后创建
mkdri -p /data/bbb/
在网站跟目录追加文件
echo "http://www.123/com" >> /data/bbb/index.html
在linux客户端测试
需要在linux客户端下的hosts文件下加入
echo "ip www.123.com"
echo "192.168.0.3 www.23.com"
测试
[root@ bbb]# curl www..com
http://www.123.com

3.1配置多个域名

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

完整配置如下:

 一个基于域名的虚拟主机配置
worker_processes ;
error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on
keepalive_timeout ;
server {
listen ;
server_name www..com;
location / {
root /data/bbb/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
server {
listen ;
server_name bbs..com; #域名
location / {
root /data/bbs/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
server {
listen ;
server_name blog..com;
location / {
root /data/blog/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
} 检测:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload(或者重新启动)
然后创建
mkdri -p /data/bbb/
mkdri -p /data/bbs/
mkdri -p /data/blog/
在网站跟目录追加文件
echo "http://www.123.com" >> /data/bbb/index.html
echo "http://bbs.123.com" >> /data/bbs/index.html
echo "http://blog123.com" >> /data/blog/index.html
在linux客户端测试
需要在linux客户端下的hosts文件下加入
echo "ip www.123.com"
echo "192.168.0.3 www.123.com"
echo "192.168.0.3 bbs.123.com"
echo "192.168.0.3 blog.123.com"
测试
[root@ data]# curl bbs..com
http://bbs.123.com
[root@ data]# curl blog..com
http://blog123.com
[root@ data]# curl www..com
http://www.123.com
[root@ data]#

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

简化nginx.conf的配置文件

如下:

 worker_processes  ;
error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on
keepalive_timeout ;
include vhosts/www.conf
include vhosts/bbs.conf
include vhosts/blog.conf

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

 server {
listen ;
server_name www..com;
location / {
root /data/bbb/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}

www.conf

 server {
listen ;
server_name bbs..com; #域名
location / {
root /data/bbs/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}

bbs.conf

 server {
listen ;
server_name blog..com;
location / {
root /data/blog/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}

blog.conf

测试:

 [root@ data]# curl bbs..com
http://bbs.123.com
[root@ data]# curl blog..com
http://blog123.com
[root@ data]# curl www..com
http://www.123.com

测试

4基于端口号的配置

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

具体配置如下:

 一个基于域名的虚拟主机配置
worker_processes ;
error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on
keepalive_timeout ;
server {
listen ;
server_name www..com;
location / {
root /data/bbb/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
server {
listen ;
server_name bbs..com; #域名
location / {
root /data/bbs/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
}
server {
listen ;
server_name blog..com;
location / {
root /data/blog/; #网站根目录
index index.html index.htm;
}
location = /50x.html {
root html;
}
} 检测:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload(或者重新启动)
然后创建
mkdri -p /data/bbb/
mkdri -p /data/bbs/
mkdri -p /data/blog/
在网站跟目录追加文件
echo "http://www.123.com" >> /data/bbb/index.html
echo "http://bbs.123.com" >> /data/bbs/index.html
echo "http://blog123.com" >> /data/blog/index.html
在linux客户端测试
需要在linux客户端下的hosts文件下加入
echo "ip www.123.com"
echo "192.168.0.3 www.123.com"
echo "192.168.0.3 bbs.123.com"
echo "192.168.0.3 blog.123.com"
测试
[root@ data]# curl bbs..com:
http://bbs.123.com
[root@ data]# curl blog..com:
http://blog123.com
[root@ data]# curl www..com:
http://www.123.com
[root@ data]#

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

nginx配置实战1----配置虚拟主机的更多相关文章

  1. nginx笔记 安装nginx 配置 反向代理 多虚拟主机

    1,检测linux上是否 通过yum安装了nginxrpm   -qi  nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...

  2. 【nginx运维基础(2)】Nginx的配置文件说明及虚拟主机配置示例

    配置文件说明 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为当前主机的CPU总核心数. worker_processes 8; #全局错误日志定义类型, ...

  3. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  4. nginx配置基于域名的虚拟主机

    其实基于域名和基于ip的虚拟主机配置是差不多的,在配置基于ip的虚拟主机上我们只需要修改几个地方就能变成基于域名的虚拟主机,一个是要修改域名,一个是host文件直接看代码 [root@localhos ...

  5. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...

  6. Nginx(http协议代理 搭建虚拟主机 服务的反向代理 在反向代理中配置集群的负载均衡)

    Nginx 简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开 ...

  7. ubuntu apache2配置详解(含虚拟主机配置方法)

    ubuntu apache2配置详解(含虚拟主机配置方法) 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get inst ...

  8. ubuntu下安装配置apache2(含虚拟主机配置)

    在Ubuntu14.14中安装apache 安装指令: sudo apt-get install apache2 安装结束后: 产生的启动和停止文件是: /etc/init.d/apache2 启动: ...

  9. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

随机推荐

  1. VIJOS1476旅游规划[树形DP 树的直径]

    描述 W市的交通规划出现了重大问题,市政府下决心在全市的各大交通路口安排交通疏导员来疏导密集的车流.但由于人员不足,W市市长决定只在最需要安排人员的路口安放人员.具体说来,W市的交通网络十分简单,它包 ...

  2. 如何查看文件是dos格式还是unix格式的?

    一.背景 由于windows和linux对换行的标识不一样,不同系统的代码传递导致代码格式的改变中可能会带来程序无法正常编译通过的问题.因此根据一些编译的错误提示,可以定位到是文件格式的问题,要对程序 ...

  3. centos7下彻底卸载LibreOffice方法【转载】

    http://linux.it.net.cn/CentOS/course/2014/0720/3211.html你可以尝试 yum erase libreoffice\* 或者 yum remove ...

  4. PAT 1004. 成绩排名 (20)

    读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生 ...

  5. 《深入理解Bootstrap》勘误

    感谢大家 感谢大家仔细阅读本书,并给本书指出了那么多的错误,下次重印时,一定会修正. 勘误列表 ID 发行人 章节 原文 更新文 备注 1 剑衣清风(微博) 1.5选择器(p7) [att$=valu ...

  6. mac里git项目删除.DS_Store文件

    用mac开发项目,每次提交文件时都生成修改文件的.DS_Store文件,提交时会不会觉得比较烦?别急,下面给出解决方案.我们需要用到.gitignore文件去配置Git目录中需要忽略的文件. .git ...

  7. 一道int与二进制加减题

    int dis_data = 32769; if( dis_data > 0x7fff)  dis_data -= 0xffff; printf("%d\n",dis_dat ...

  8. Vue系列:通过vue-router如何传递参数

    使用vue-router 来实现webapp的页面跳转,有时候需要传递参数,做法如下: 参考文献:http://router.vuejs.org/en/named.html  主要有以下几个步骤: ( ...

  9. HDU2444-The Accomodation of Students-判断是否为二分图+ISAP

    要先判断是不是二分图.用黑白染色法. 遇到已经染过的跟当前的颜色相同时就说明不是二分图,也即出现了奇环 /*---------------------------------------------- ...

  10. HomeKit 与老旧设备

    苹果推了HomeKit,已经有很多厂商在做,可以达到Siri控制所有设备的功能. 但是Siri也不是万能的,对人类的语义理解也会产生差错,不过我相信未来这个问题会解决掉.     如果家里有老旧的电视 ...