首页 > 系统相关 >2023.8.20 - nginx子域名简单判断案例

2023.8.20 - nginx子域名简单判断案例

时间:2023-08-20 23:45:03浏览次数:41  
标签:www 2023.8 20 doc wwwroot nginx 域名 lvyehao com

server
    {
        listen 80;
        server_name lvyehao.com;
        index index.html index.htm index.php;
        # 设置子域名目录
        set $doc "lvyehao.com";
        if ($host ~ ^(\w+)\.lvyehao\.com) {
            set $doc $1;
        }
        # 设置此时域名对应的root
        root /www/wwwroot/$doc;
        error_page   404   /404.html;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }
include /www/server/panel/vhost/nginx/*.conf;
}

注意点:

  • DNS添加的是cname的解析记录指向当前服务的IP
  • 由于我主域名放的是我另一个资源 lvyehao.com,所以我 $doc 初始值为 "lvyehao.com",否则为 "" 即可
  • if 为匹配规则,root 为服务器对应路径资源,我资源都放在 /www/wwwroot/ 的目录下,大家根据自己服务器真实路径进行配置即可
    这段nginx配置的作用是根据请求的域名设置对应的子域名目录,并将此时域名对应的root设置为/www/wwwroot/$doc

具体分析如下:

  1. set $doc "lvyehao.com"; 这行代码定义了一个变量$doc,初始值为"lvyehao.com"。

  2. if ($host ~ ^(\w+)\.lvyehao\.com) { 这行代码使用正则表达式匹配请求的域名,如果域名满足^(\w+)\.lvyehao\.com的格式,则进入if语句。

  3. set $doc $1; 这行代码将匹配到的第一个子模式(\w+)的值赋给变量$doc。注意,使用了括号将子模式包裹起来,并使用$1引用子模式的值。

  4. root /www/wwwroot/$doc; 这行代码将变量$doc的值拼接在/www/wwwroot/后面作为请求的根目录。

综合起来,这段配置的作用是根据请求的域名,设置对应的子域名目录,然后将请求的根目录设置为/www/wwwroot/$doc。例如,如果请求的域名为test.lvyehao.com,则将根目录设置为/www/wwwroot/test

标签:www,2023.8,20,doc,wwwroot,nginx,域名,lvyehao,com
From: https://www.cnblogs.com/yehuda/p/17644882.html

相关文章

  • [NOI2015] 荷马史诗
    题目链接洛谷LOJ题目分析哈夫曼编码模板题。使用k进制,即编码时将k个点合并为一个。最后要求的就是哈夫曼编码的长度,以及哈夫曼树最深的节点的深度。注意最后合并的时候可能会出现不满一层的情况,所以要在刚开始补成能恰好合并的哈夫曼树。最后剩下一个节点,即需要合并掉......
  • 2023/8/20读书笔记
    QT事件机制qt的事件机制是非常重要的,下面来慢慢解析。C++程序还记得第一个程序helloworld吗?如下#include<iostream>intmain(){ std::cout<<"helloworld"<<std::endl; return0;}当执行时代码从上到下执行。然后程序就执行完毕了。QT窗口程序#include"widg......
  • [2023 上半年] [软件设计师] [下午题] 题解报告
    2023年下午题整体难度有所上升,取消了简单和困难难度,全部设置为中等难度。第一题数据流图随着农业领域科学种植的发展,需要对农业基地及农事进行信息化管理,为租户和农户等人员提供种植相关服务。现欲开发农事管理服务平台,其主要功能是:(1)人员管理。平台管理员管理租户;租户管理农户并......
  • day01-运维介绍与虚拟机安装-20230820
     1.解释我们正在使用哪些互联网行业的软件,移动端?PC端? (1)平台不一样视觉范围更广,可设计的地方更多,设计性更强,相对来说容错度更高一些。操作局限性大,在设计上可用空间显得尤为珍贵,避免原件过小过近。(2)操作系统不一样对于会员系统、视频和音乐、购物支付等功能都进行了精简,使......
  • [SWPUCTF 2021 新生赛]hardrce
    [SWPUCTF2021新生赛]hardrce题目来源:nssctf题目类型:web涉及考点:rec1.上来直接代码审计<?phpheader("Content-Type:text/html;charset=utf-8");error_reporting(0);highlight_file(__FILE__);if(isset($_GET['wllm'])){$wllm=$_GET['wllm'];......
  • CCPC 2023 网络赛 J. Find the gap 另(不可行)解
    题面\(n\)个三维点\((x_i,y_i,z_i)\),求两个距离最近的平行平面夹住所有点。输出距离。精度\(10^{-9}\)。\(1\len\le50,1\lex_i,y_i,z_i\le10^4\)。原题可行解两种case:答案平面平行于一个三点定平面;答案平面平行于一对异面直线的公共平行面(例如:正四面体)。前一种......
  • nginx+supervisor+flask
    #!/bin/bash#1.升级openSSLyuminstall-yzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgccmakelibffi-develyuminstallwget-ywgethttps://www.openssl.org/source/openssl-1.1.1q.tar.gz--no-check-certifica......
  • Photoshop2023(Beta) PS AI版本安装爱国使用教程
    所需准备creative-cloudAdobe-GenP开始什么是creative-cloud你可以把它当成苹果的AppStore或者安卓的PlayStore,这是Adobe自家的应该程序商店,商城,资源管理中心,可以下载Adobe的所有软件,也能购买相关服务。下载creative-cloud官网地址:https://creativecloud.adobe.com/app......
  • python学习日记 2023年8月20日
    fromPILimportImage##pipinstallpillowimportosim=Image.open('./1.jpg')w,h=im.sizeimage_row=3image_column=5names=os.listdir('./img_f')new_img=Image.new('RGB',(image_column*w,image_row*h))foryinra......
  • 【愚公系列】2023年08月 WPF控件专题 CheckBox控件详解
    (文章目录)前言WPF控件是WindowsPresentationFoundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见......