在实际环境中单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端 口。 每一个虚拟主机能够是一个独立网站、能够具备独立域名,同一台物理机上面的虚拟主机相互之间是独立。
虚拟主机的类型
基于IP的虚拟主机html
能够在一块物理网卡上绑定多个IP地址。这样就可以在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主 机。设置IP别名也很是容易,只须配置系统上的网络接口,让它监听额外的IP地址。
基于端口的虚拟主机
基于端口的虚拟主机配置,使用端口来区分,浏览器使用域名或ip地址:端口号访问。
基于域名的虚拟主机
基于域名的虚拟主机是最多见的一种虚拟主机。只需配置你的DNS服务器,将每一个主机名映射到正确的IP地址,然 后配置Nginx服务器,令其识别不一样的主机名就能够了。这种虚拟主机技术,使不少虚拟主机能够共享同一个IP地 址,有效解决了IP地址不足的问题。因此,若是没有特殊要求使你必须用一个基于IP的虚拟主机,最好仍是使用基 于域名的虚拟主机。nginx
nginx.conf 配置文件默认配置块浏览器
nginx 默认配置块 配置的括号都是成对出现,丢失会报错。缓存
events {} #内核的参数服务器
http {} #http 网站配置参数,能够嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的 配置 网络
server {} #被包含在http段中,用来配置虚拟主机,每个server段表明一个虚拟主机 app
location {} #被包含在server段中,用来匹配域名请求和调用第三方模块测试
upstream {} #被包含在http段中,转发的配网站
配置基于域名的虚拟主机3d
(1)配置nginx 配置文件(每一个配置项后面都有一个;号,不可丢失,不然报错)
[root@localhost conf]# cat nginx.conf worker_connections 1024; } include mime.types; default_type application/octet-stream; '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; keepalive_timeout 65; server { #被包含在http段中,用来配置虚拟主机,每个server段表明一个虚拟主机 listen 80; #端口 server_name www.test1.com; #域名,能够配置多个 access_log logs/test1.com.log main; #网站日志 root html/test1; #用来存储网站网页 index index.html index.htm; #网站默认打开的索引页(首页) } } server { listen 80; server_name www.test2.com; access_log logs/test2.com.log main; root html/test2; index index.html index.htm; } |
检查nginx 配置文件是否正确
/usr/local/nginx/sbin/nginx -t
(2)建立www.test1.com和www.test2.com网页访问目录
[root@localhost nginx]# mkdir /usr/local/nginx/html/test{1,2}
[root@localhost nginx]# echo "www.test1.com" > /usr/local/nginx/html/test1/index.html
[root@localhost nginx]# echo "www.test2.com" > /usr/local/nginx/html/test2/index.html
(3)从新启动nginx
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -s reload
(4)将主机映射写入hosts文件
(5)Windows测试访问