Nginx虚拟主机配置详解

Nginx虚拟主机配置详解

一、虚拟主机介绍

虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

二、虚拟主机分类

nginx下,一个server标签就是一个虚拟主机。

1、基于IP的虚拟主机(几乎不用)

实现基于ip的虚拟主机,可以在一块物理网卡上绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。设置IP别名也非常容易,只须配置系统上的网络接口,让它监听额外的lP地址。

2、基于域名的虚拟主机(经常使用)

基于域名的虚拟主机是最常见的一种虚拟主机。只需配置你的DNS服务器或者编辑/etc/hosts加入虚拟域名,将每个主机名映射到正确的lP地址,然后配置Nginx服务器,令其识别不同的主机名就可以了。这种虚拟主机技术,使很多虚拟主机可以共享同一个lP地址,有效解决了lP地址不足的问题。所以,如果没有特殊要求使你必须用一个基于lP的虚拟主机,最好还是使用基于域名的虚拟主机。

3、基于端口的虚拟主机(很少使用)

基于端口的虚拟主机配置,使用端口来区分,浏览器使用域名或ip地址后面加上端口号访问。一般用于公司内部网站,外部网站的管理后台)

三、虚拟主机的配置方法

1、基于域名的虚拟主机配置

需要配置的域名:www.long.com  blog.long.com

对应的目录为:www和blog

创建虚拟主机目录

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/blog

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/www

创建一个简单的网页文件

[[email protected] ~]# echo 'www.long.com' >/usr/local/nginx-1.12.1/html/www/index.html

[[email protected] ~]# echo 'blog.long.com' >/usr/local/nginx-1.12.1/html/blog/index.html

添加/etc/hosts域名解析

[[email protected] ~]# vim /etc/hosts

192.168.10.10  www.long.com

192.168.10.10  blog.long.com

修改nginx主配置文件,在http大括号中添加虚拟主机

[[email protected] ~]# vim /usr/local/nginx-1.12.1/conf/nginx.conf

server {

root   html/www;

listen       80;

server_name  www.long.com;

index  index.html index.htm;

}

server {

root   html/blog;

listen       80;

server_name  blog.long.com;

index  index.html index.htm;

}

重新加载nginx,然后测试

[[email protected] ~]# /usr/local/nginx-1.12.1/sbin/nginx -s reload

[[email protected] ~]# curl www.long.com

www.long.com

[[email protected] ~]# curl blog.long.com

blog.long.com

2、基于端口的虚拟主机配置

需要配置的端口:8080和8081

对应的网页目录:8080和8081

创建虚拟主机目录

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/8080

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/8081

创建一个简单的网页文件

[[email protected] ~]# echo 'this is 8080' >/usr/local/nginx-1.12.1/html/8080/index.html

[[email protected] ~]# echo 'this is 8081' >/usr/local/nginx-1.12.1/html/8081/index.html

修改nginx主配置文件,在http大括号中添加虚拟主机

[[email protected] ~]# vim /usr/local/nginx-1.12.1/conf/nginx.conf

server {

root   html/8080;

listen       8080;

server_name  www.long.com;

index  index.html index.htm;

}

server {

root   html/8081;

listen       8081;

server_name  www.long.com;

index  index.html index.htm;

}

重新加载nginx,然后测试

[[email protected] ~]# /usr/local/nginx-1.12.1/sbin/nginx -s reload

[[email protected] ~]# curl 192.168.10.10:8080

this is 8080

[[email protected] ~]# curl 192.168.10.10:8081

this is 8081

3、基于IP的虚拟主机配置

需要配置的IP地址:192.168.10.10和192.168.10.11

对应的网页目录:192.168.10.10和192.168.10.11

创建虚拟主机目录

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/192.168.10.10

[[email protected] ~]# mkdir /usr/local/nginx-1.12.1/html/192.168.10.11

创建一个简单的网页文件

[[email protected] ~]# echo '192.168.10.10' >/usr/local/nginx-1.12.1/html/192.168.10.10/index.html

[[email protected] ~]# echo '192.168.10.11' >/usr/local/nginx-1.12.1/html/192.168.10.11/index.html

配置一个子网IP地址

[[email protected] ~]# ifconfig eno16777736:1 192.168.10.11/24

 

修改nginx主配置文件,在http大括号中添加虚拟主机

[[email protected] ~]# vim /usr/local/nginx-1.12.1/conf/nginx.conf

server {

root   html/192.168.10.10;

listen       192.168.10.10:80;

server_name  www.long.com;

index  index.html index.htm;

}

server {

root   html/192.168.10.11;

listen       192.168.10.11:80;

server_name  www.long.com;

index  index.html index.htm;

}

重新加载nginx,然后测试

[[email protected] ~]# /usr/local/nginx-1.12.1/sbin/nginx -s reload

[[email protected] ~]# curl 192.168.10.10

192.168.10.10

[[email protected] ~]# curl 192.168.10.11

192.168.10.11

 

以上就是三种虚拟主机的配置方法。

原文地址:http://blog.51cto.com/longlei/2127832

时间: 2024-10-14 19:07:11

Nginx虚拟主机配置详解的相关文章

wampserver2.5下载、安装、虚拟主机配置详解

1,下载wampserver2.5 wampserver2.5 64位下载 wampserver2.5 32位下载 2,安装wampserver2.5 一直点击next就可以安装成功了,安装后电脑右下角会出现如下图标 红色框内显示绿色代表安装完成并成功启动了,默认是英文的现在我们切换为中文的=>右键点击绿色图标=>Language=>chinese. 3,wampserver虚拟主机配置 (这是我的安装目录)打开E:\wamp\bin\apache\apache2.4.9\conf\ht

apache2.2 虚拟主机配置详解

一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. 1 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. 1 #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置 二.修改httpd-vho

Apache虚拟主机配置详解

1.配置环境说明 系统环境:CentOS7 Apache环境:编译安装的httpd-2.4.7 系统限制:关闭了防火墙和selinux hosts文件中配置以下域名解析 192.168.115.150    www.web1.com 192.168.115.150    www.web2.com 2.Apache虚拟主机简介 虚拟主机是指在一个机器上运行多个网站(例如:www.web1.com和www.web2.com).每个站点希望用不同的域名和站点目录,或者是不同端口.不同的IP就需要虚拟主

nginx一些参数配置详解

nginx的配置:    正常运行的必备配置:       1.user username [groupname];           指定运行worker进程的用户和组       2.pid /path/to/pidfile_name nginx的pid文件 3.worker_rlimit_nofile #;            一个worker进程所能够打开的最大文件句柄数:       4.worker_rlimit_sigpending #;            设定每个用户能够

nginx的安装配置详解

title: nginx的安装配置详解tags: nginx,虚拟服务器,curl nginx的安装配置详解 1. 介绍各个常用的服务端口 21 ftp :22 ssh:25 smtp:3306 mysql:873 rsync:3389 远程桌面:161 snmp:111 rpcbind:80 www http:443 https:110 pop3:53 dns:514 rsyslog 我们常用的nslookup和dig查询域名解析工具的安装包为bind-utils,如yum install b

RHEL7下Nginx虚拟主机配置(三)

RHEL7下Nginx虚拟主机配置 前面两节讲过安装和配置文件了,这里写出配置文件,大家根据内容修改配置文件就可以了. http { server{ listen    80; server_name   192.168.1.20; access_log        log/192.168.1.20 main; location / { index    index.html; root      /application/nginx/html/; } } server{ linsten  8

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二) 一.虚拟主机别名介绍 虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能.在生产环境中,以www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的. 二.实施方法 第一种方法:Nginx虚拟主机的别名配置 更改wtf.conf配置文件

Nginx虚拟主机配置实践(一)

Nginx虚拟主机配置实践(一) 一.虚拟主机的概念 在Web服务里虚拟主机就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立的对外提供服务供用户访问. 二.虚拟主机的类型 基于域名的虚拟主机 基于端口的虚拟主机 基于IP的虚拟主机 说明:实际生产中用的最多的就是基于域名的虚拟主机,其他两种了解即可. 三.基于一个域名虚拟主机的配置 Nginx主配置文件结构 创建一个最简化的Nginx主配置文件 [[email protected] conf

Nginx虚拟主机配置实例

Nginx虚拟主机 结合上篇文章:手工编译NginxNginx虚拟主机的搭建过程,虚拟主机的概念在之前的Apache虚拟主机搭建实验时已讲述过有关知识点,原文链接:Apache web 虚拟主机 结合上篇文章的配置进行下面的配置操作(Nginx服务是开启状态) [[email protected] named]# netstat -natp | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 79214/nginx: master Nginx虚拟主机配置 1