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. 自学一个月的java了

    不知道这篇博文有不有朋友看到.先自我介绍一下,硕士一年级下学期. 对编程感兴趣,硕士一年级下学期转学计算机专业,目前刚好一个月的时间.接触计算机也是刚好一个月的时间. 学习了java,javaweb. ...

  2. 关于OAUTH2.0的极品好文

    Web Server Flow: web ServerFlow是把oauth1.0的三个步骤缩略为两个步骤 首先这个是适合有server的第三方使用的. 1客户端http请求authorize 2服务 ...

  3. SQL Server 索引设计指南

    https://msdn.microsoft.com/zh-cn/library/jj835095(v=sql.120).aspx#Nonclustered

  4. Hibernate中saveOrUpdate()和merge()的区别

    this.getSession().merge(obj); this.getSession().saveOrUpdate(obj); saveOrUpdate(): saveOrUpdate()基本上 ...

  5. Memcache基本使用

    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...

  6. webpack webpack-dev-server使用指南

    webpack-dev-server插件可以实现webpack的自动编译刷新 项目结构 pockage.js { "name": "webpack", &quo ...

  7. ESXi 6.0 配置

    ESXi 6.0 添加静态路由 首先打开ESXi的SSH服务, 在Configuration -> Security Profile -> Services , start SSH 用管理 ...

  8. Markdown:认识&入门

    来源:http://sspai.com/25137 一.认识 Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处 ...

  9. 兼容利器之X-UA-Compatible

    文档兼容模式 不同浏览器之间经常产生各种奇异的现象,为了解决这些问题,使用以下方法,发现很多问题自动消失不见了 <meta http-equiv="X-UA-Compatible&qu ...

  10. JavaScript继承与原型链

    对于那些熟悉基于类的面向对象语言(Java 或者 C++)的开发者来说,JavaScript 的语法是比较怪异的,这是由于 JavaScript 是一门动态语言,而且它没有类的概念( ES6 新增了c ...