Nginx 虚拟主机

这篇具有很好参考价值的文章主要介绍了Nginx 虚拟主机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

优质博文 IT-BLOG-CN

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

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

虚拟主机的配置主要有以下三种:

一、基于域名的虚拟主机

进入conf/nginx.conf配置文件中添加server属性,示例如下:一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。

server {
    #检测默认的80端口
	listen       80;
    #我们测试的是域名映射,所以这个配置是重点,也是外部访问的地址
	server_name  virtual.test.com;
	
    #如果配置的默认/,则访问项目时,输入虚拟域名即可
	location / {
        #默认访问的是nginx根目录下的virtual.test/html目录中的index.html
	    root   virtual.test/html;
	    index  index.html;
	}
}

测试前准备:
1)、添加本地域名映射,修改HOSTS(C:\Windows\System32\drivers\etc)文件,在文件未添加IP域名(举例:192.168.88.130 virtual.test.com
2)、在nginx根目录下创建root所配置的文件夹virtual.test/html(全路径展示:/usr/install/nginx/virtual.test/html
3)、在此目录下创建index.html文件即可。

<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
            <h2>虚拟主机测试页面-index</h2>
        </body>
</html>

4)、访问http://virtual.test.com/

Nginx 虚拟主机

二、基于端口的虚拟主机

只需将server中的listen属性设置为目标端口即可:

server {
    #主要配置属性
	listen       8089;
	server_name  virtual.test.com;
	
	location / {
	    root   virtual.test/html;
	    index  index.html;
	}
}

通过http://virtual.test.com:8089/也可以访问目标文件:

Nginx 虚拟主机

三、基于IP的虚拟主机

server_name修改为虚拟机的IP地址即可:

server {
    listen       8089;
    #修改为虚拟机的IP地址
    server_name  192.168.88.130;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

通过IP地址访问目标项目测试如下:

Nginx 虚拟主机

四、Nginx代理

根据项目名称,将请求发送给对应的服务器,匹配规则如下:
【1】=严格匹配:如果这个查询匹配,那么将停止搜索并立即处理此请求;
【2】~为区分大小写匹配(可用正则表达式);
【3】!~为区分大小写不匹配
【4】~*为不区分大小写匹配(可用正则表达式)
【5】!~*为不区分大小写不匹配
【6】^~如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

示例:

server {
	listen       9001;
	server_name  localhost;

	location ~ /edu/ {           
		proxy_pass http://localhost:8101;
	}
		
	location ~ /oss/ {   
		proxy_pass http://localhost:8102;
	}
}

总结:在 Nginx下配置虚拟主机 vhost 非常方便。主要在 Nginx 的配置文件 nginx.conf 中添加一个 server 即可。使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问。由于基于IP地址的虚拟主机需要添加网络接口 使用不广泛。文章来源地址https://www.toymoban.com/news/detail-402904.html

到了这里,关于Nginx 虚拟主机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx基于端口如何配置虚拟主机

    在 Nginx 中配置基于端口的虚拟主机(也称为服务器块)与配置基于域名的虚拟主机类似,但是你需要指定监听的端口。以下是基于端口的虚拟主机配置示例: 假设我们要配置两个不同的虚拟主机,一个监听 8080 端口,另一个监听 9090 端口。 创建站点配置文件 : 在 /etc/ngin

    2024年02月11日
    浏览(39)
  • CentOS7---Nginx安装并配置虚拟主机

    源码包的获取:http://nginx.org/download/ 实验环境:和企业环境类似,关闭防火墙,禁用selinux,使用静态IP地址 Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了 很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,

    2023年04月16日
    浏览(37)
  • Linux学习之nginx虚拟域名主机,lsof和netstat命令查看端口是否被监听

    需要先参考我的博客《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装好 Openresty 。 虚拟域名可以使用让不同的域名访问到同一台主机。 cd /usr/local/openresty 切换当前访问目录到 /usr/local/openresty 。 在 /usr/local/openresty/nginx/co

    2024年02月11日
    浏览(39)
  • windows虚拟主机和linux虚拟主机的区别有哪些?

    很多个人站长和中小企业在做网站的时候,会选择虚拟主机。虚拟主机用的操作系统多为Windows系统,很多人一提到操作系统立马联想到Windows系统。其实除了Windows系统外,还有很多的操作系统。其中Linux系统是其中的佼佼者。 1、操作系统 windows虚拟主机则是由windows系统的服务

    2024年01月20日
    浏览(34)
  • 对于主机ping不通虚拟机,虚拟机可以ping通主机之解决方法

    看了一下主机win10的防火墙关了,公用网络也设置成了私有网络,也重启了vmnet8,ip地址也手动设置了,但是无法ping通,经过查阅,发现是虚拟机的防火墙还没有设置,于是将win7的防火墙关闭:   再次通过主机Ping虚拟机即可:     

    2024年02月12日
    浏览(37)
  • 虚拟机可以ping通主机,主机无法ping通虚拟机的解决方法

    关闭虚拟机防火墙 关闭防火墙后就可以ping通了 如何还无法ping通,将虚拟机重新启动后再尝试。 再次要ping 虚拟机的时候又ping不通了,搞了好久终于发现,只要将网络连接中的VMnet8禁用再重启就可以了。

    2024年02月13日
    浏览(34)
  • 关于虚拟机能ping通主机,而主机不能ping通虚拟机的问题

            Ping不通虚拟机或者主机这个问题恐怕让很多同学头疼吧?如果你是关于标题的问题,可以参考一下,如果是其他问题请移步其他博客。当然也欢迎大家前来阅读指正!第一次写,写的不好的地方大家多包涵!         这个问题是我在安装完Vmware虚拟机(15版本或

    2023年04月08日
    浏览(39)
  • ESXI克隆虚拟主机

    目录 一、通过命令克隆主机 二、通过网页端克隆主机 一、通过命令克隆主机 1、启用esxi的ssh 2、ssh登录esxi 3、找到虚拟机所在目录 4、建立新虚拟机目录 5、拷贝vmx文件 6、克隆vmdk 7、修改vmx文件 8、esxi导入克隆完成的虚拟机 本文示例在esxi中克隆虚拟机hadoop-1(已存在), 克

    2024年02月07日
    浏览(35)
  • 第8章 虚拟主机

    虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。 Nginx提供虚拟主机的功能,就是为了让我们不需要安装多个Nginx,就可以运行多个域名不同的网站。 Nginx下,一个server标签就

    2024年02月03日
    浏览(34)
  • 三、ngxin虚拟主机

    多个域名 再一个服务器上 理论上 端口 域名 主机ip网卡 有一个不一样,则就可以做为一个新的页面 server 要写在http 模块中 listen 90; 就是指定端口号 server_name localhost; 指定了访问的主机 localhost 这里访问的是本地主机 root /www/html/my90;指定了 访问的目录 index index.html index.htm; 指

    2024年01月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包