Nginx——SeverName配置规则

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

摘要

Nginx作为一个服务器,具有众多转发规则。工作中用到使用Nginx配置一个端口下多个路径转发到html下不同目录。目前知道的有三种方法可以实现,分别是使用root+location、alias、try_files。

一、同一端口的路径访问规则

假设一个场景,目前/var/www/目录下放了两个项目,目录名分别为masrt,backup,现在需要通过访问localhost/test访问test项目,通过访问localhost/demo访问demo项目。

1.1 root+location实现

使用root+location方法实现,只需要将要访问的目录作为location,root设置为项目所在的目录即可,当前场景下,即为配置一个location为/test/,然后将root设置为html,在配置一个location为/api/,然后root设置为html,root配置文件路径的效果即为将请求转发到root路径/location/对应的路径下,root配置时,路径可以以/结尾,也可以不写,都不影响。具体配置如下:

#虚拟主机的配置
server {
	#监听端口
	listen       80;
	#域名,可以有多个,用空格隔开
	server_name  localhost;

	#配置根目录以及默认页面
	location /test/ {
		root   /var/www/master;
		index  index.html index.htm;
	}
	
	#配置根目录以及默认页面
	location /api/ {
		root   /var/www/html;
		index  index.html index.htm;
	}

	#出错页面配置
	error_page   500 502 503 504  /50x.html;
	#/50x.html文件所在位置
	location = /50x.html {
		root   html;
	} 
}

1.2 alias实现

alias的作用,其实就是将配置的alias对应的路径替换location中指定的路径,当前场景下,即为配置一个location为/test/,然后将alias设置为html/test/,在配置一个location为/demo/,然后alias设置为html/demo/,需要特别注意是,alias后面必须要用“/”结束,否则会找不到文件,具体配置如下:

#虚拟主机的配置
server {
	#监听端口
	listen       80;
	#域名,可以有多个,用空格隔开
	server_name  localhost;

	#配置根目录以及默认页面
	location / {
		root   /var/www/master;
		index  index.html index.htm;
	}
	
	#配置根目录以及默认页面
	location /api/ {
		alias   /var/www/html;
		index  index.html index.htm;
	}

	#出错页面配置
	error_page   500 502 503 504  /50x.html;
	#/50x.html文件所在位置
	location = /50x.html {
		root   html;
	} 
}

1.3 try_files实现

try_files的作用类似于转发,作用是尝试在硬盘中查找文件对应到与location中配置匹配的路径。在当前常见下,配置一个location为/api/,然后root配置为html/,然后配置try_files $uri $uri/ /api/index.html;$uri表示的是请求地址,如果请求路径为localhost/test/a.html,nginx会依次查找:

  • 文件/html/test/a.html
  • 文件夹/html/test/a.html/下的index文件($uri/的作用即为查询目录下的index文件,如果配置中没有写$uri/,则不会有这一步)
  • 请求localhost/test/index.html(即为请求try_files中配置的路径)
server {
        listen       80;
        server_name  localhost;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location ^~ /demo/ {
            root   html/;
            try_files $uri $uri/ /demo/index.htm;
        }
		
		location ^~ /test/ {
            root   html/;
            try_files $uri $uri/ /test/index.htm;
        }
 
        #error_page  404              /404.html;
 
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

二、不同端口下的路径访问规则

#虚拟主机的配置
server {
	#监听端口
	listen       80;
	#域名,可以有多个,用空格隔开
	server_name  localhost;

	#配置根目录以及默认页面
	location / {
		root   /var/www/master;
		index  index.html index.htm;
	}

	#出错页面配置
	error_page   500 502 503 504  /50x.html;
	#/50x.html文件所在位置
	location = /50x.html {
		root   html;
	} 
}

#虚拟主机的配置
server {
	#监听端口
	listen       88;
	#域名,可以有多个,用空格隔开
	server_name  localhost;

	#配置根目录以及默认页面
	location / {
		root   /var/www/backup/;
		index  index.html index.htm;
	}

	#出错页面配置
	error_page   500 502 503 504  /50x.html;
	#/50x.html文件所在位置
	location = /50x.html {
		root   html;
	} 
}

三、二级域名配置

四、短网址配置

五、httpdns配置

博文参考

《nginx的高并发架构设计》文章来源地址https://www.toymoban.com/news/detail-523776.html

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

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

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

相关文章

  • Nginx——SeverName配置规则

    Nginx作为一个服务器,具有众多转发规则。工作中用到使用Nginx配置一个端口下多个路径转发到html下不同目录。目前知道的有三种方法可以实现,分别是使用root+location、alias、try_files。 假设一个场景,目前/var/www/目录下放了两个项目,目录名分别为masrt,backup,现在需要通过

    2024年02月12日
    浏览(37)
  • 深入理解nginx server_name

    一、基础概念 nginx是一款轻量级的web服务器,同时也是一款高性能的反向代理服务器。server_name是nginx配置文件中比较重要的参数之一,用于指定虚拟主机的域名或IP地址。如果一个请求的Host头中的值和server_name匹配,则nginx将会使用该虚拟主机配置处理该请求。 例如: 当该服

    2024年02月10日
    浏览(39)
  • 分布式 - 服务器Nginx:基础系列之Nginx静态资源配置指令server_name | listen | location | root | alias | index| error_page

    通过浏览器发送一个HTTP请求实现从客户端发送请求到服务器端获取所需要内容后并把内容回显展示在页面。这个时候,我们所请求的内容就分为两种类型,一类是静态资源、一类是动态资源。静态资源即指在服务器端真实存在并且能直接拿来展示的一些文件,比如常见的ht

    2024年02月04日
    浏览(47)
  • Nginx--server块配置

    server_name:用来设置虚拟主机服务名称。 语法 server name name … 默认值 server_name “” 位置 server 关于server_name的配置方式 1.精确匹配 2.通配符匹配 3.正则表达式匹配 匹配方式一:精确匹配 使用域名需要将本地的host文件 进行更改,否则直接跳转的是官方网站。 匹配方式二:使

    2024年01月19日
    浏览(36)
  • Nginx 常用的安全屏蔽规则_nginx拦截规则(1)

    location ~ .(zip|rar|sql|bak|gz|7z)$ { return 444; } 2.屏蔽非常见蜘蛛(爬虫) ####如果经常分析网站日志你会发现,一些奇怪的 UA 总是频繁的来访问网站,而这些 UA 对网站收录毫无意义,反而增加服务器压力,可以直接将其屏蔽。 if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBo

    2024年04月16日
    浏览(28)
  • Nginx参数配置详细说明【全局、http块、server块、events块】【已亲测】

    本文包含Nginx参数配置说明全局块、http块、server块、events块共计30多个参数配置与解释,其中常见参数包含配置错误出现的错误日志,能让你更快的解决问题。 该文的所有参数大部分经过单独测试,错误都是自己收集出来的,如有疑问可以私聊,文档有误感谢指正,文章对你

    2024年02月04日
    浏览(43)
  • Nginx的server块外层的常见配置语句的解读(主要是http块的配置语句解读)

    自己写的与Nginx有关的几篇重量级博文 详情请参见链接 https://blog.csdn.net/wenhao_ir/article/details/135023881 有下面的Nginx配置: 下面开始研究这些配置的意思。 这条Nginx配置语句 worker_processes auto 用于设置Nginx服务器启动时的工作进程数量。具体作用如下: worker_processes : 这是一个指令

    2024年01月25日
    浏览(42)
  • 【nginx】nginx之location规则详解:

    一、语法规则: 二、优先级: 三、验证: 1、精确匹配: 在conf.d文件夹下创建配置文件test.com.conf,内容如下: 上图中第一个和第二个location匹配条件一样,都是/test.html,但第二个为精准匹配到静态路径,因此第一个不会执行,会执行第二个,www.test.com为本地域名解析,ac

    2024年02月15日
    浏览(43)
  • ERROR:检测到配置文件有错误,请先排除后再操作,/bin/sh: /www/server/nginx/sbin/nginx: No such file or directory

    我的宝塔linux面板上一键安装可道云KODBOX出现错误,通过软件商店已安装,发现没有nginx 所以一键安装可道云的时候会报错。 解决办法:软件商店-运行环境,选择nginx,点击右侧的安装。  安装过程中需要稍等几分钟  安装完之后,点击软件商店-一键安装,点击可道云KODBO

    2024年02月16日
    浏览(42)
  • nginx路由匹配规则解析

    精确匹配 精确匹配使用 = 表示,nginx进行路由匹配的时候,精确匹配具有最高的优先级,请求一旦精确匹配成功nginx会停止搜索其他到匹配项。 配置实例: 精确前缀匹配 精确前缀匹配的优先级仅次于精确匹配,nginx对一个请求精确前缀匹配成功后,停止继续搜索其他到匹配

    2024年02月16日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包