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. Zookeeper的学习材料

    https://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ https://www.zhihu.com/question/351 ...

  2. js中控制小数点的显示位数的技术整理

    js中自带方法控制小数点的显示位数(四舍五入) alert((12.9299).toFixed(2)); //12.93 alert((12.9243).toFixed(2)); //12.92 小数 ...

  3. javascript获取元素的方法[xyyit]

    1. javascript默认的方法: <div id=”div_id” class=”div_class” name=”div_name”></div> //1. 根据id ...

  4. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  5. http协议(八)请求首部字段

    请求首部字段 定义:请求首部字段是从客户端到服务器发送请求报文中所使用的字段,里面包含了附加信息.客户端信息以及对响应内容相关的优先级等内容 1.Accept 通知服务器用户代理可处理的媒体类型及媒体 ...

  6. js双层动画幻灯

    js双层动画幻灯 点击下载

  7. 【转】TestFlight APP测试(IOS如何让上架前给其他人测试)

    原文网址:http://blog.csdn.net/dexin5195/article/details/43966571 大家都知道, 以前iOS项目要测试只需要上传到testflightapp.co ...

  8. Meet Github

    Source: http://www.liaoxuefeng.com/ Here only the local part. Install on windows download: https://g ...

  9. Linux commands frequently used

    touch <filename>.sh gedit <filename>.sh bash <filename>.sh & ps auxw|grep < ...

  10. SPM FDR校正

    来源: http://blog.sciencenet.cn/blog-479412-572049.html,http://52brain.com/thread-15512-1-1.html SPM8允 ...