网站首页 > 精选教程 正文
虚拟主机是指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一台虚拟主机,每台虚拟主机都可以独立对外提供Web服务,且互不干扰。
一、基于端口号配置虚拟主机
基于端口号配置虚拟主机的方式是Nginx中配置虚拟主机最简单的方式,它的原理就是一个Nginx监听多个端口,根据不同的端口,来区分不同的网站;
范例:
设置当前 ip 31主机分别监听8001和8002端口,来实现根据不同端口号配置虚拟主机的功能;
修改nginx.conf配置文件,在http块中添加如下两个server配置:
在html目录中创建html8001,html8002目录中,并在两个目录中创建index.html;
打开8001,8002端口通过浏览器访问http://ip:port,结果如下;
二、基于IP配置Nginx虚拟主机
在Linux上,IP别名的设置有两种方式,
一种是修改网络配置文件ifcfg-eth0(每个系统文件名不一定相同);
一种是通过ifconfig和route命令进行设置;
第一种方式:修改网络配置文件
进入到/etc/sysconfig/network-scripts/目录中;
复制两份ifcfg-ens33(文件名不一定一样),分别命名:ifcfg-ens33:1,ifcfg-ens33:2;
cp ifcfg-ens33 ifcfg-ens33:1;
cp ifcfg-ens33 ifcfg-ens33:2;
修改DEVICE,和IPADDR值,对应IP;
重启网卡,检查是否能ping刚修改的IP,ping成功代表配置成功
修改nginx.conf配置:
在html文件中创建34,35两个目录并在其中创建index.html文件
重启Nginx,通过浏览器访问对应IP
第二种方法:ifconfig和route命令
配置IP完成后,后续配置和第一种方式一样;
----------------------------------------------------------------------------------------------------------------------------
[root@nginx network-scripts]# ifconfig ens33:1 192.168.44.34
broadcast 192.168.44.255 netmask 255.255.255.0 up
[root@nginx network-scripts]# route add -host 192.168.44.34 dev ens33:1
[root@nginx network-scripts]# ifconfig ens33:2 192.168.44.35
broadcast 192.168.44.255 netmask 255.255.255.0 up
[root@nginx network-scripts]# route add -host 192.168.44.35 dev ens33:2
----------------------------------------------------------------------------------------------------------------------------
注意:
通过ifconfig和route命令执行的相关操作,在重启网卡 ,重启系统后就会自动消失,
可以将ifconfig和route命令添加到/etc/rc.local文件中,使系统开机时就会自动运行相关操作;
三、基于域名配置虚拟主机
为了方便测试利用系统提供的hosts文件来设置一个虚拟的域名,并将域名解析到指定IP地址;
修改本机(Windows)hosts文件:
修改nginx.conf配置,创建index-test.html文件,重启Nginx服务;
通过域名访问结果如下:
server_name指定除了精确配置外,还可以通过通配符(*)与正则表达式设置域名,实现域名的解析。
server_name *.test.com;
server_name www.*;
server_name ~^(?.+)\.domain\.com$;
四、设置目录列表
Nginx默认不允许列出整个目录的,所以,当用户访问某一个站点或目录,且站点或目录下没有index指令设置的默认索引文件就会报403错误。
但开启了目录列表功能后,出现上述的情况就可以让该站点或目录下的文件已列表的形式展示;
开启目录列表功能只需要配置autoindex指令即可;
1、配置虚拟主机,且该虚拟主机的站点根目录下没有指定的默认索引文件:
访问结果如下:
修改配置增加:autoindex on;
重启Nginx再次访问结果如下:
设置显示文件的时间格式与大小,增加如下配置:
autoindex_exact_size off:以kb/MB/GB为单位显示文件的大概大小;
autoindex_localtime on:显示的时间为文件的服务器时间;
为了测试我们上传一个大文件然后再次查看:
五、子配置文件的引入
由于一个Nginx服务可以运行多个虚拟主机,如果所有虚拟主机配置全部放在nginx.conf文件中,则会造成文件过大,可读性差等,
为了方便管理维护Nginx提供了include指令用于组织和管理Nginx相关配置信息;
格式:include file | mask;
mask用于指定某一路径下的文件,可以是绝对路径,也可以是相对路径;
相对路径是相对于Nginx安装路径下的conf目录:/usr/local/nginx/conf;
在conf目录下创建vhost目录并在新建目录下创建test.conf文件
配置文件中添加如下配置:
通过include引入刚刚加的配置文件,也可以使用通配符:vhost/*.conf;
通过浏览器访问结果如下:
上篇:4、Nginx日志文件
猜你喜欢
- 2024-10-07 服务器部署:利用WebHook实现PHP自动部署Git代码
- 2024-10-07 Tengine笔记2:通过IP、域名、端口实现虚拟主机
- 2024-10-07 如何在 Debian 11 上使用 Nginx 安装 HTTP Git 服务器
- 2024-10-07 6、Nginx+Apache环境配置——Apache安装配置
- 2024-10-07 使用shell脚本一键部署虚拟主机 建立shell脚本
- 2024-10-07 在Docker内安装Nginx教程 docker内安装docker
- 2024-10-07 Nginx 部署的虚拟主机如何使用 Let's Encrypt 来进行加密 https
- 2024-10-07 CentOS7.2与Nginx配置虚拟主机 nginx虚拟主机作用
- 2024-10-07 Nginx 配置虚拟主机、pathinfo和URL重写
- 2024-10-07 4、Nginx的虚拟主机的实现-基于ip地址
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)