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. 《Writing Idiomatic Python》前两部分的中文翻译

    汇总了一下这本小书前两部分的内容: 翻译<Writing Idiomatic Python>(一):if语句.for循环 翻译<Writing Idiomatic Python> ...

  2. UESTC 33 Area --凸包面积

    题意: 求一条直线分凸包两边的面积. 解法: 因为题意会说一定穿过,那么不会有直线与某条边重合的情况.我们只要找到一个直线分成的凸包即可,另一个的面积等于总面积减去那个的面积. 怎么得到分成的一个凸包 ...

  3. JavaSE之概述与基本语法

    嘛,这个本来应该发在OOP之前的,无所谓了,补发一下,这篇文章只会对JavaSE的语法做一个基本的概述而已,我会在最近新开一个新坑,也就是JavaEE系列,以后还会有Cpp(相对于C++,我还是更喜欢 ...

  4. NOIP2015聪明的质检员[二分 | 预处理]

    背景 NOIP2011 day2 第二题 描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿 ...

  5. 第9章 用内核对象进行线程同步(3)_信号量(semaphore)、互斥对象(mutex)

    9.5 信号量内核对象(Semaphore) (1)信号量的组成 ①计数器:该内核对象被使用的次数 ②最大资源数量:标识信号量可以控制的最大资源数量(带符号的32位) ③当前资源数量:标识当前可用资源 ...

  6. UNITY在VS中调试

    下载地址:https://visualstudiogallery.msdn.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0 ...

  7. 方便!C++ builder快捷键大全

    Clipboard control (default) Ctrl+Ins Edit|Copy Shift+Del Edit|Cut Shift+Ins Edit|Paste Ctrl+C Edit|C ...

  8. 转:研读代码必须掌握的Eclipse快捷键

    总结的很不错,而且有相应的用法,推荐!!! from: http://www.cnblogs.com/yanyansha/archive/2011/08/30/2159265.html 研读代码必须掌 ...

  9. row_number()over(partition by 字段 order by 字段)ID,修改重复行的字段值。

    案例分析: 现在要查询一个表单里面的运费结果,但是他还有分录,为了显示分录,必须把表头显示出来,问题是,他要查询运费的合计, 但是这样就会导致重复行也加进去了,这样显然数据不准,为此,可以把重复的行设 ...

  10. 让IE10等支持classList2.0(转)

    chrome24+, firesfox26+起支持classList2.0,即让它同时添加或删除多个类名, toggle方法支持第2个参数,用于强制添加或删除 var div = document.c ...