Nginx下,一个server标签就是一个虚拟主机。
1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
3、基于ip的虚拟主机,几乎不用。
基于域名配置虚拟主机步骤:
需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析;对应域名网站目录下新增index.html文件;
nginx.conf配置文件新增如下代码:
server {
listen 80;
server_name ;
index index.html;
root /data/www;
}
server {
listen 80;
server_name bbs.linuxidc.com;
index index.html;
root /data/bbs;
}
验证结果,使用curl测试,或者浏览器输入域名访问;
# curl -xlocalhost:80
this is linuxidc linux
# curl -xlocalhost:80 bbs.linuxidc.com
this is linuxidc bbs
基于端口的虚拟主机配置: 使用端口来区分,浏览器使用域名或ip地址:端口号 访问;
server
{
listen 8000;
server_name ;
root /data/www;
}
server
{
listen 8001;
server_name ;
root /data/bbs;
}
验证结果,使用curl测试,或者浏览器输入域名访问;
# curl :8000
this is linuxidc linux
# curl :8001
this is linuxidc bbs
基于ip地址的虚拟主机配置: 通过ip来访问,需要配置多个ip;
# ifconfig eth0:1 192.168.22.21
server
{
listen 192.168.20.20:80;
server_name ;
root /data/www;
}
server
{
listen 192.168.20.21:80;
server_name ;
root /data/bbs;
}
验证结果,使用curl测试,或者浏览器输入域名访问;
# curl 192.168.22.20
this is linuxidc linux
# curl 192.168.22.21
this is linuxidc bbs
更多Nginx相关教程见以下内容:
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块