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. Vijos1053 Easy sssp[spfa 负环]

    描述 输入数据给出一个有N(2 <= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图. 要求你写一个程序, 判断这个有向图中是否存在负权回路. 如果从一 ...

  2. JProfiler

    1  前言 回答之前先让我们来看看什么是jProfiler:JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对Java EE和Java SE应用程序开发的.它允许两个内存剖面 ...

  3. poj3281 Dining

    Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14316   Accepted: 6491 Descripti ...

  4. js的client详解

    clientWidth:可视区宽       说明:样式宽+padding clientHeight:可视区高       说明:样式高+padding elem.clientWidth //获取元素 ...

  5. HOJ 2713 Matrix1

    Matrix1 My Tags   (Edit)   Source : Classical Problem   Time limit : 5 sec   Memory limit : 64 M Sub ...

  6. C#输出log信息

    在写程序的过程中,有时候我们需要添加一些log信息,这个时候,可以采用下面的方法来实现. public static void WriteLog(string ExtraMsg, Exception ...

  7. FFT的物理意义

    来源:学步园 FFT(Fast Fourier Transform,快速傅立叶变换)是离散傅立叶变换的快速算法,也是我们在数字信号处理技术中经常会提到的一个概念.在大学的理工科课程中,在完成高等数学的 ...

  8. 让Bootstrap轮播插件carousel支持左右滑动手势的三种方法

    因为最近开发的项目涉及到移动设备上的 HTML5 开发,其中需要实现轮播效果.然后最快捷的方式,你知道的(Bootstrap),然后原生的 Bootstrap 的 carousel.js 插件并没有支 ...

  9. 关于在线预览word,excel,ppt,pdf的需求处理方法。

    参考文档:http://www.cnblogs.com/wolf-sun/p/3574278.html 我选用的方案:先用office com组件生成pdf,然后使用pdf.js在线预览pdf文档.在 ...

  10. [资料]自动化e2e测试 -- WebDriverJS,Jasmine和Protractor

    1. http://sentsin.com/web/658.html 2. http://www.tuicool.com/articles/AnE3Mb 3. http://www.doc88.com ...