小知识:nginx配置虚拟主机的详细步骤

虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

%小知识:nginx配置虚拟主机的详细步骤-猿站网-插图

利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

配置虚拟主机有三种方法:

基于域名的虚拟主机 : 不同的域名、相同的IP(此方式应用最广泛) 基于端口的虚拟主机 : 不使用域名、IP来区分不同站点的内容,而是用不同的TCP端口号 基于IP地址的虚拟主机 : 不同的域名、不同的IP ( 需要加网络接口 ,应用的不广泛) 基于IP地址

%小知识:nginx配置虚拟主机的详细步骤-1猿站网-插图

方式一:多网卡多IP

两个物理网卡,两个IP

# 两张物理网卡ens32和ens34 [root@nginx networkscripts]# ifconfig ens32 | awk NR==2 {print $2} 192.168.126.41 [root@nginx networkscripts]# ifconfig ens34 | awk NR==2 {print $2} 192.168.126.42

编辑配置文件,基于每个IP创建一个虚拟主机

# 为防止 /etc/nginx/conf.d/default.conf 配置文件影响,对其进行重命名 [root@nginx ~]# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default [root@nginx ~]# vim /etc/nginx/conf.d/ip.conf # ens32网卡对应的虚拟主机 server { listen 192.168.126.41:80; location /{ root /ip_ens32; index index.html; } } # ens34 网卡对应的虚拟主机 server { listen 192.168.126.42:80; location /{ root /ip_ens34; index index.html; } }

创建虚拟主机的网页文件目录及文件

[root@nginx ~]# mkdir /ip_ens32 [root@nginx ~]# mkdir /ip_ens34 [root@nginx ~]# echo “ens32”>/ip_ens32/index.html [root@nginx ~]# echo “ens34”>/ip_ens34/index.html

检查配置文件的语法

[root@nginx ~]# nginx t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

重载nginx服务

[root@nginx ~]# systemctl reload nginx

测试

[root@nginx ~]# curl 192.168.126.41 ens32 [root@nginx ~]# curl 192.168.126.42 ens34

%小知识:nginx配置虚拟主机的详细步骤-2猿站网-插图%小知识:nginx配置虚拟主机的详细步骤-3猿站网-插图

方式二:单网卡多IP

为一个物理网卡配置多个ip

ip addr add IP/MASK dev 网卡名 # 删除 ip addr del IP/MASK dev 网卡名

其余步骤同上面多网卡多IP的配置

基于端口

%小知识:nginx配置虚拟主机的详细步骤-4猿站网-插图

多使用于公司内部,无法使用域名或没有域名时

配置

[root@nginx ~]# vim /etc/nginx/conf.d/port.conf server { listen 81; location /{ root /port_81; index index.html; } } server { listen 82; location /{ root /port_82; index index.html; } } [root@nginx ~]# mkdir /port_{81..82} [root@nginx ~]# echo “81”>/port_81/index.html [root@nginx ~]# echo “82”>/port_82/index.html [root@nginx ~]# nginx t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@nginx ~]# systemctl reload nginx

测试

[root@nginx ~]# curl 192.168.126.41:81 81 [root@nginx ~]# curl 192.168.126.41:82 82

%小知识:nginx配置虚拟主机的详细步骤-5猿站网-插图%小知识:nginx配置虚拟主机的详细步骤-6猿站网-插图

基于域名

%小知识:nginx配置虚拟主机的详细步骤-7猿站网-插图

配置

一般一个域名对应一个配置文件,便于管理

[root@nginx ~]# vim /etc/nginx/conf.d/test1.dxk.com.conf server { listen 80; server_name test1.dxk.com; location /{ root /test1; index index.html; } } [root@nginx ~]# vim /etc/nginx/conf.d/test2.dxk.com.conf server { listen 80; server_name test2.dxk.com; location /{ root /test2; index index.html; } } [root@nginx ~]# mkdir /test{1..2} [root@nginx ~]# echo “test1”>/test1/index.html [root@nginx ~]# echo “test2”>/test2/index.html [root@nginx ~]# nginx t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@nginx ~]# systemctl reload nginx

测试

# 配置域名解析 [root@nginx ~]# echo e “192.168.126.41 test1.dxk.com\n192.168.126.41 test2.dxk.com”>>/etc/hosts [root@nginx ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.126.41 test1.dxk.com 192.168.126.41 test2.dxk.com [root@nginx ~]# curl test1.dxk.com test1 [root@nginx ~]# curl test2.dxk.com test2

%小知识:nginx配置虚拟主机的详细步骤-8猿站网-插图 %小知识:nginx配置虚拟主机的详细步骤-9猿站网-插图 %小知识:nginx配置虚拟主机的详细步骤-10猿站网-插图

这里有个问题:

如果在配置域名解析时由于写错了,那么访问该错误域名(未配置该错误域名的虚拟主机)时竟然还会返回网页内容。

[root@nginx ~]# vim /etc/hosts 192.168.126.41 test1.dxk.com 192.168.126.41 test3.dxk.com # 这里本应该是 test2.dxk.com ,但是由于写错了,而且对应test3.dxk.com域名的虚拟主机并不存在

访问该错误域名

[root@nginx ~]# curl test3.dxk.com test1 # 可以看到,还是会返回网页信息

因为在配置域名解析时,虽然域名写错了,但是IP是对的,那么此时服务端默认会返回满足是该IP且端口为80的排在第一个的虚拟主机的网页信息给客户端

[root@nginx ~]# ll /etc/nginx/conf.d/ rwrr–.1 root root 112Jul321:23 test1.dxk.com.conf rwrr–.1 root root 112Jul321:22 test2.dxk.com.conf

这是需要注意的

到此这篇关于nginx虚拟主机的文章就介绍到这了,更多相关nginx虚拟主机内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_45880055/article/details/118442616

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:nginx的zabbix 5.0安装部署的方法步骤

2023-3-24 0:55:55

建站知识

小知识:nginx请求限制配置方法

2023-3-24 1:14:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索