核心内容摘要
糖心小欣奈:一口甜,满心欢
什么是虚拟主机虚拟主机是一种特殊的软硬件技术它可以将网络上的每一台计算机分成多个虚拟主机每个虚拟主机可以独立对外提供www服务这样就可以实现一台主机对外提供多个web服务每个虚拟主机之间是独立的互不影响的。
如下图通过nginx可以实现虚拟主机的配置nginx支持三种类型的虚拟主机配置
基于ip的虚拟主机
基于域名的虚拟主机
基于端口的虚拟主机实际使用的过程中我们一般常用的是用域名或是端口来区分web服务。
这里为了讲的全面一点会把三种配置都讲一讲。
Nginx配置文件的结构nginx的配置文件结构如下......events{.......}http{.......server{.......}server{.......}}每个server就是一个虚拟主机。
基于ip的虚拟主机配置Linux操作系统允许添加IP别名就是在一块物理网卡上绑定多个lP地址。
这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。
应用场景一台nginx服务器绑定两个ip
192.
168.
78.
132、
192.
168.
7
133访问不同的ip请求不同的html目录即访问http://
192.
168.
7
132将访问html132目录下的html网页访问http://
192.
168.
7
133将访问html133目录下的html网页i. 准备环境创建
192.
168.
7
132 的虚拟机保证本地电脑和虚拟网络通畅。
在
192.
168.
7
132上安装nginx。
这个之前讲过nginx 的源码安装可以去看看这篇文章https://mayantong.blog.csdn.net/article/details/157505562?spm
1011.
2415.
3
5331ii. 绑定多ip
修改网络配置文件进入到/etc/sysconfig/network-scripts,编辑ifcfg-ens33文件如下TYPEEthernetPROXY_METHODnone BROWSER_ONLYno # BOOTPROTOdhcp 注意区别 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes IPV6_DEFROUTEyes IPV6_FAILURE_FATALno IPV6_ADDR_GEN_MODEstable-privacy NAMEens33 UUID26c2f3f
c
e2-ca394cfd43da DEVICEens33 ONBOOTyes ZONEpublic# 注意区别 IPADDR
0192.
168.
7
132PREFIX024IPADDR
1192.
168.
7
133PREFIX
保存修改,重启网络 systemctl restart network[rootbogonnetwork-scripts]# systemctl restart networkiii. 创建两个web网站进入/usr/local/nginx 目录将原来nginx的html目录拷贝两个目录 “html132”和“html133”为了方便测试需要修改每个目录下的index.html内容使之个性化。
cd/usr/local/nginx cp-r html html132 cp-r html html133iv. 配置虚拟主机修改/usr/local/nginx/conf/nginx.conf文件添加两个虚拟主机如下#user nobody;worker_processes1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events{worker_connections1024;}http{include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout65;#配置虚拟主机
192.
168.
7
132server{#监听的ip和端口配置
192.
168.
7
132:80listen80;#虚拟主机名称这里配置ip地址 server_name
192.
168.
7
132;#所有的请求都以/开始所有的请求都可以匹配此location location/{#使用root指令指定虚拟主机目录即网页存放目录 #比如访问http://ip/test.html将找到/usr/local/html3/test.html #比如访问http://ip/item/test.html将找到/usr/local/html3/item/test.html root/usr/local/nginx/html132;#指定欢迎页面按从左到右顺序查找 index index.html index.htm;}}#配置虚拟主机
192.
168.
7
133server{listen80;server_name
192.
168.
7
133;location/{root/usr/local/nginx/html133;index index.html index.htm;}}}v. 测试重新启动nginx观察端口监听状态访问http://
192.
168.
7
132/访问http://
192.
168.
7
133/
最后以上就把nginx 基于ip的配置虚拟主机讲完了。
后面会继续讲基于域名和端口的配置。
历史文章Nginx如何安装Nginx详细教程