Nginx--虚拟主机

配置Nginx虚拟主机

nginx 虚拟主机是web服务的虚拟站点,这个站点有对应独立的域名。(ipor端口),有独立的程序资源及目录,相当于apache的<VirtualHost></VirtualHost> 模块、 而nginx的虚拟站点在server{}模块内,一个web服务器可以有多个虚拟主机标签,支持多个虚拟站点。

1.虚拟主机类型分为三类:

1.基于域名:通过不同的域名来区分不同的虚拟主机。也是应用最广泛的。

2.基于端口:通过不同的端口来区分不同的虚拟主机。例如www.etiantian.org:8001

3.基于ip :通过不同的ip来区分不同的虚拟主机。一般的业务场景在负载均衡上实现vip绑

定,而不是在web上进行绑定。

2.下面进行虚拟主机实战:

{自己是在原有的配置文件中添加的虚拟主机,可根据需求自己定义}

首先进行编辑服务器主配置文件Nginx.conf

events {

worker_connections 1024;

}

 

 

http {

include mime.types;

default_type application/octet-stream;

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

 

#gzip on;

 

 

#第一个虚拟主机也是本机自带的,server模块为配置虚拟主机

server {

listen 80;

server_name localhost;

location / {

root /www/html/;

index index.html index.htm;

}

 

error_page 404 /404.html;

location = /404.html {

root /www/html;

}

 

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

 

}

 

#此server模块为自己添加的虚拟主机。

server {

listen 80;

server_name www.etiantian.org;

location / {

root /titi/www/html/;

index index.html index.htm ;

}

}

}

========================================================================

下面的为虚拟主机详解:server{}

 

server {

listen 80;

#监听的端口 80 可自行定义端口。

server_name www.etiantian.org;

#网站域名,提供对外访问的域名。自行设定。

location / { # location区块,网站资源的定义。

root /titi/www/html/; # 定义网站根目录,默认html ,即nginx安装目录下的html目录

index index.html index.htm ; #网站默认页面,即你定义的目录下的index.html

}

 

# mkdir -p /titi/www/html

#echo "this is www.etiantian.org" > /titi/www/html/index.html

# nginx -t (检查配置文件是否正确,nginx为我做的软连接。)

#ln -s /usr/local/nginx/sbin/nginx /bin/nginx (软连接,第一个参数为源文件,第二个为创建的软连接文件)

#nginx -s reload (nginx平滑重启)

测试

由于环境是本地搭建,只能进行本地测试。开启另一台linux 进行访问测试

1.首先编辑hosts文件。设置对应的域名解析,

例如:虚拟主机ip为192.168.1.251 需要添加以下:

192.168.1.251 www.etiantian.org

保存退出

2.#curl www.etiantian.org

this is www.etiantian.org

 

##windows进行测试的话也需要编辑hosts文件

添加多个虚拟主机

server {

listen 80;

server_name www.tiantian.com;

location / {

root /html/bbs/ ;

index index.html index.htm ;

}

}

#添加第二个和第一个一样,需要注意的是,在配置文件中注意server{}模块的格式

#路径可以指定为相同的,端口也可以,他是根据域名来区分不同的虚拟站点的,域名对应网站根目录。

 

##########################################################

基于端口相对更加简单,只需在server模块中 listen 中更改即可。在location中在重新指定新的网站根目录即可。

server {

listen 8001;

server_name www.tiantian.com;

location / {

root /html/bbs/ ;

index index.html index.htm ;

}

}

更改完成后检查配置文件 nginx -t

平滑重启 nginx -s reload

在测试中需要指定端口 : curl www.tiantian.com:8001

 

#############################################################################

使用include 规范虚拟主机配置文件

思路:1.在nginx主目录or其他目录下创建存放虚拟server目录

2.将不同的虚拟主机(server字段)打印到创建的虚拟server目录下,已.conf 文件结尾。

3.events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

include vserver/www.conf; #虚拟server目录1,默认在conf目录下创建

include vserver/org.conf; #虚拟server目录2 ,默认在conf目录下创建

}

4.nginx -t 检查配置文件

5.nginx -s reload 平滑重启

在进行访问的时候 会通过include 调用虚拟server。这样会使nginx配置文件更加简洁。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值