太详细了的apache,我自己都无语了

Apache

1.         http

1.1       http协议(简单介绍)

        1.http协议:超文本传输协议(HyperText Transfer Protocol),所有的www文件必须遵守这个标准。

        2.目的:为了提供一种发布和接收HTML页面的方法.

        3.默认端口:80

1.2       https(简单介绍)

                      1. https:Hyper Text Transfer Protocol overSecure Socket Layer

                      2.安全的http通道。即,http安全版,在http下加入了ssl层,加密的数据传输协议

1.3       http版本

http1.0:使用非持久连接,一个tcp连接只能传输一个web对象

http1.1:使用持久连接,即一个tcp连接能够传输多个web对象

1.4       http请求过程

1.1       http服务请求流程

输入域名—>dns解析域名—>建立TCP连接—>发送请求信息—>http服务器响应,发送html格式文件—>

1.2       http常见状态码(重要介绍错误码)

消息(1字头)

成功(2字头):

           200ok: 服务器成功返回网页

重定向(3字头):

           301Moved Permanently:永久跳转,请求的网页已经永久跳转到新位置

请求错误(4字头重点):

           403Forbidden:服务器已经理解请求,但是拒绝执行,且该请求也不能被重复提交

           404Not Found:请求失败,请求的资源在服务器上没有发现。该错误的原因很大可能是服务器端没有这个页面。

           407Proxy Authentication Required:客户端必须在代理服务器上进行身份验证

           408Request Timeout:请求超时

服务器错误(5字开头):

           500Internal Server Error:服务器出现错误,导致无法完成请求的处理(服务器端源代码出现错误)

           502Bad Gateway:网关或者代理工作的服务器尝试执行请求时,收到无效的响应

           503  Service Unavailable:临时的服务器维护或者过载,服务器当前无法处理请求

           504  Gateway Timeout:网关或者代理工作的服务器尝试执行请求,没有收到响应,例:dns查询超时

           505HTTP Version Not Supported:服务器不支持,拒绝使用的HTTP版本

2.         web服务

2.1       web版本

web1.0:以静态页面为主,早期的门户类新闻页或者静态页面

web2.0:以动态页面为主,以用户为中心,网站由用户参与或者编辑例如:bbs blog sns 微博

web3.0:在web2.0的基础上网站内的信息可以和网站相关信息进行交互,完全基于web,浏览器可实现复杂程序才能实现的系统功能(目前仍然以web2.0为主)

2.2       web架构模式

b/s模式:Browser/Server(浏览器/服务器)仅仅需要web浏览器就行

                  优点:1.无需安装客户端有web浏览器即可,操作系统自带

                           2.可以直接放在广域网,通过一定的控制权限实现多用户访问的目的,交互性较强

                           3.无需升级客户端,直接升级服务器就行

                  缺点:1.需要兼容各种浏览器

                           2.测试人员需要做各种测试(尤其是浏览器兼容测试)

                           3.速度和安全性较差

c/s模式:Client/Server(客户端/服务器)例如一般的系统,qq客户端等等,一般通过socket服务器端才能建立连接

                  优点:1.客户端界面和操作可以很丰富

                           2.安全性能可以很容易保证,多层认证不难

                           3.有一层交互,响应速度很快

                           4.服务器端和客户端能够很好的兼容

                  缺点:1.适用面窄,用于局域网

                           2.用户群固定,需要安装客户端

                           3.维护成本高,一次升级,所有的客户端都需要升级

2.3       静态网页、动态网页和伪静态网页

1.静态网页:纯粹的html格式网页(可以包含图片,JS(前端功能实现),css(样式)等)没有后台数据可以不含php,jsp,net和可交互的网页。格式:.htm .html .xml .jpg图片格式,.avi .flv等视屏格式

                   特点: 1.有固定的URL,并且是html等结尾,地址中没有?和&

                               2.网页保存在网站服务器文件系统中为每个网页都是独立的文件

                                3.优点:静态页面内容相对稳定,容易被搜索引擎收录,加载速度最快,对服务器压力最小

                                4.缺点:没有数据库内容,网站制作和维护工作量大,尤其是信息量特别大,制作比较困难,交互性差,功能方面有较大限制

                                5.服务端不解析,因此可以接收更多的并发访问,数据在浏览器端解析

2.动态网页:通过执行asp,php,jsp,net等程序生成客户端网页代码的网页。可以通过网站后台管理系统对网站内容的更新和管理,格式:.asp .aspx .php .jsp .do .cgi .perl,动态网页URL经常有?和&

                  特点:  1.以数据库技术为基础,可以大大降低网站的维护工作量

                                2.实现更多的功能,例如用户注册,用户管理,发表博文等等

                                3.大多并不是独立存在于服务器的网页文件(php、jsp),只有用户请求时服务器才返回一个完整的网页。

                                4.由于URL存在?和&搜索引擎收录域名是会存在一定的任务,一般搜索蜘蛛不会抓取地址?后面的内容。

                                5.程序在服务器端解析,因此会大量消耗CPU、内存等服务器资源,效率远远不如静态网页

                                6.缺点:效率差,并发低

3.伪静态网页:从URL结构及页面名称看,伪静态和静态页面是一样的,伪静态也是以htm或者html的格式,只是改变了URL的表现形式,便于搜索引擎收录和提升用户体验,使用伪静态页面并不能提升网站的性能。

                                1.动态页面伪静态技术:通过rewrite规则,URL地址重写,消除动态网页中的参数,仅仅改变了地址路径。

                                2.缺点较多,使用伪静态转换技术例如rewrite会消耗更多的服务器资源

2.4       IP PV UV 并发

1.PV:页面浏览量或点击量,是衡量一个网站或网页用户的访问量。pv值:即24小时能用户点击网站的网页多少次,指的是页面刷新的次数,每一次页面刷新,就算做一次pv流量。原理:浏览器发出一个网络服务器的请求,网络服务器接到这个请求后,会将该请求对应的一个网页发送个浏览器从而产生一个pv,无论这个页面是否打开,都算作一个pv。

2.UV:即独立访客数,指访问某个网站或者点击某个网页的不同IP地址人数,在同一天内UV只记录第一次进入网站的具有独立IP的访问者。一般是通过IP和cookie来判断UV。

3.IP:即独立IP数,独立的IP访问用户,指一天内使用不同IP地址的用户访问网站的数量,两台机器访问而使用同一个IP只能算作一个IP访问,IP和UV之间的书记不出差异太大,通常UV量比IP量高一点,每个UV相对于每个IP更准确。

4.并发:指一台服务器同时多少人访问,一般是用日pv/ip/uv来判定(pv较多)

2.5       常用的web服务器(linux)

apache:中小静态web服务,重量级,耦合度大,速度性能不及轻量级搞,消费cpu、内存高,稳定

nginx:大型静态web服务,轻量级,高性能http和反向代理服务器消耗资源低,节省带宽

tomcat:中小企业动态网页,重要是java容器(jsp,do),静态和高并发处理弱

resin:大型动态网页,java容器,可靠,用于集群

php:php程序的解析容器

3.         httpd

3.1       apache的简单介绍

1.apache:开源的web服务器

2.特点:功能强大、配置简单、速度快、应用广泛、性能稳定可靠、可做单利服务器或者负载均衡

3.应用场合:

           1.运行静态HTML网页、图片、(处理静态小文件能力不及nginx)

           2.使用php引擎运行php、perl、python等程序,lamp被称之为经典组合

           3.与tomcat/resin运行jsp,java等程序,成为中小企业首选

           4.作代理服务器,负载均衡,rewrite规则过滤等

3.2       apache的安装

1.安装依赖

[[email protected] ~]# yum -y install gccgcc-c++ pcre pcre-devel openssl openssl-devel

2.安装apr和apr-util

[[email protected] soft]# tar xfapr-1.5.2.tar.gz
[[email protected] soft]# tar xfapr-1.5.2.tar.gz
[[email protected] apr-1.5.2]# ./configure--prefix=/usr/local/apr
[[email protected] apr-1.5.2]# make &&make install
----------------------------------------------------------
[[email protected] soft]# tar xfapr-util-1.5.2.tar.gz
[[email protected] soft]# cd apr-util-1.5.2
[[email protected] apr-util-1.5.2]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[[email protected] apr-util-1.5.2]# make&& make install

3.安装httpd

[[email protected] soft]# tar xfhttpd-2.4.12.tar.gz
[[email protected] soft]# cd httpd-2.4.12
[[email protected] httpd-2.4.12]# ./configure --prefix=/usr/local/apache2--enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin--with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
[[email protected] httpd-2.4.12]# make&& make install

4.启动服务

[[email protected] ~]#/usr/local/apache2/bin/apachectl start
[[email protected] ~]# ps -ef |grep http
root     3041     1  0 13:29 ?        00:00:00 /usr/local/apache2/bin/httpd-k start
daemon   3042  3041  0 13:29 ?        00:00:00 /usr/local/apache2/bin/httpd-k start
daemon   3043  3041  0 13:29 ?        00:00:00 /usr/local/apache2/bin/httpd-k start
daemon   3044  3041  0 13:29 ?        00:00:00 /usr/local/apache2/bin/httpd-k start
root     3129  1050  0 13:31 pts/0    00:00:00 grep http

5.验证

打开浏览器输入192.168.137.8(本机IP)

6.常见命令

/usr/local/apache2/bin/apachectl –t   检查配置文件语法错误

/usr/local/apache2/bin/apachectl graceful平滑重启

3.3    apache常见安装参数


--prefix

指定apache程序安装主目录
--enable-so 开启模块功能,支持DSO(动态共享对象)
--enable-ssl 支持SSL加密

--enable-rewrite

支持地址重写,激活伪静态功能
--enable-expires 让内容在浏览器缓存多久
--enable-modules=most 激活大多数模块
--with-mpm 设置apache工作模式
--with-suexec-bin 支持SUID、SGID
--with-apr 指定apr程序的绝对路径
--with-apr-utils 指定apr-util程序的据对路径

3.4       apache常见目录及文件

/bin:

           ab: http服务器性能测试工具主要是压力测试工具

           apachectl:这是一个脚本,也是apache启动命令

           htcacheclean:清理磁盘缓冲区的命令,一般很少用

           apxs:是apache 服务器编译和安装扩展模块的工具,例如在编译php软件时就用到了此命令,--with-apxs2=/usr/local/apache/bin/apxs

           htpasswd:建立和更新基本的认证文件,如:配置nagios等监控服务时会用到

           httpd:是apache的控制命令程序,apachectl执行时会调用httpd

           rotatelogs:apache自带的轮训命令,常用cronlog

/conf:

           httpd.conf:apache的主配置文件

           extra:这是额外的apache配置文件目录,httpd-vhosts.conf默认在此目录

/htdocs:编译安装时apache的默认网站发布站点

           index.html:默认首页文件,习惯有index.php、index.html、index.jsp等

/logs:apache默认的日志路径,包括错误日志及访问日志

           access_log:apache的访问日志

           error_log:apache的错误日志,如果apache出现启动故障等问题,一定要看这个错误日志

           httpd.pid:httpd的pid文件,httpd启动后,会把所有进程的IP号写到此文件中

/modules:apache的模块目录,比如php,memcache等模块编译后都在这

3.5      apache配置文件介绍

1.apache主配置文件:

ServerRoot:服务的根目录
           Listen80     监听端口
    <IfModule  ...>模块开头</IfModule>
    User daemon     默认用户
    Group daemon  默认组
    ServerAdmin            管理员邮箱
    DocumentRoot        默认网站发布目录
           <Directory />   权限根目录拒绝其他人访问
           Options FollowSymlinks 可以带符号连接
           AllowOverride None              禁止一些功能
           Order deny,allow      不让任何人访问根目录
           Deny from all
           </Directory>    
    <Directory  "/usr/local/apache/htdocs">            自己添加站点必须添加这段内容
           Options Indexs FollowSymlinks                 第一个优化将Indexs前面加个减号或者删掉
           AllowOverride None
           Order allow,deny
           Allow from all
           </Directory>    
           <IfModuledir_moudle>                     指定访问的首页
           DirectoryIndex index.html
    </IfModule>
    <FilesMatch "^\.ht">                  文件匹配
           Order allow,deny
           Deny from all
           Satisfy All
    </FilesMatch>
    ErrorLog "logs/error_log"     错误日志配置              
    LogLevel warn          日志级别警告
    <IfModule log_config_module>        访问日志的类型
           LogFormat "%h %l %u %t\"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\"" combined
           LogFormat "%h %l %u %t\"%r\" %>s %b" common
           <IfModule logio_module>
                  LogFormat"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\" %I %O" combinedio
           </IfModule>
           CustomLog "logs/access_log"common
    </IfModule>
    <IfModule alias_module>                  cgi配置
           ScriptAlias/cgi-bin/ "/usr/local/apache/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>     
    </IfModule>
    <Directory"/usr/local/apache/cgi-bin">
           AllowOverrideNone
           OptionsNone
           Orderallow,deny
           Allowfrom all
    </Directory>
    DefaultType text/plain 文件缺省类型
    <Ifmodule mime_module>
          TypesConfig conf/mime.types
         AddTypeapplication/x-compress .Z
         AddTypeapplication/x-gzip .gz .tgz
         AddTypeapplication/x-httpd-php .php
    </IfModule>
    <IfModule ssl_module>
           SSLRandomSeedstartup builtin
                  SSLRandomSeed connect builtin
           </IfModule>

2.apache扩展配置文件

httpd-vhosts.conf
           NameVirtualHost *:80   基于域名的虚拟主机*为IP地址
           <VirtualHost*:80>
                  [email protected]
                  DocumentRoot"/usr/local/apache/docs/dummy-host.example.com"
                  ServerNamedummy-host.example.com
                  ServerAliaswww.dummy-host.example.com
                  ErrorLog"logs/dummy-host.example.com-error_log"
                  CustomLog"logs/dummy-host.example.com-access_log" common
           </VirtualHost>
    httpd-mpm.conf
           <IfModule !mpm_netware_module>
                  PidFile"logs/httpd.pid" pid文件
           <IfModule>
           <IfModule!mpm_winnt_module>
           <IfModule !mpm_netware_module>
           LockFile "logs/accept.lock"         锁文件
           </IfModule>
           </IfModule>
           <IfModulempm_prefork_module>  mpm的prefork模式
                  StartServers          5
                  MinSpareServers       5
                  MaxSpareServers      10
                  MaxClients          150             并发
                  MaxRequestsPerChild   0
           </IfModule>
           <IfModule mpm_worker_module>   mpm的worker模式
                  StartServers          2
                  MaxClients          150             并发
                  MinSpareThreads      25
                  MaxSpareThreads      75
                  ThreadsPerChild      25
                  MaxRequestsPerChild   0
           </IfModule>
    httpd-defaul.conf
           Timeout 300 连接超时
           KeepAlive On 保持连接状态
           MaxKeepAliveRequests 100 最大连接请求数
           KeepAliveTimeout 5       在等待下一连接的时间
           ServerTokens Full    隐藏apache版本
           ServerSignatureOn

3.6      apache虚拟主机

    1.虚拟主机:部署多个站点,每个站点希望用不同的域名和站点目录,或者不同的端口,或者不同的IP。需要虚拟主机功能,即一个apache服务器配置多个站点,就需要虚拟主机

    2.虚拟主机的分类:基于域名(常用);基于端口;基于IP

    3.配置httpd-vhosts.conf

    基于域名:

<VirtualHost *:80>
ServerAdmin  [email protected]
DocumentRoot"/var/html/www"
ServerNamewww.test1.com
ServerAlias     test1.com
Error"logs/www-error_log"
Customlog"logs/www-access_log" common
</VirtualHost>
<VirtualHost*:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/blog"
    ServerName blog.test2.com
    #ServerAlias      test2.com
    Error "logs/blog_error_log"
    Customlog "logs/blog_access_log"common
</VirtualHost>
 
<VirtualHost*:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/bbs"
    ServerName bbs.test3.org
    #ServerAlias      test3.com
    Error "logs/bbs_error_log"
    Customlog "logs/blog_access_log"common
</VirtualHost>

    基于ip:

        <VirtualHost 192.168.1.11:80>
          ServerName www.test1.com
          DocumentRoot /www/test1/
          <Directory “/www/test1″>
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow From All
          </Directory>
        </VirtualHost>
        <VirtualHost 192.168.1.12:80>
          ServerName www.test1.com
          DocumentRoot /www/test2/
          <Directory “/www/test2″>
             Options Indexes FollowSymLinks
             AllowOverride None
             Order allow,deny
             Allow From All
          </Directory>
        </VirtualHost>
        <VirtualHost 192.168.1.13:80>
          ServerName www.test1.com
          DocumentRoot /www/test3/
          <Directory “/www/test3″>
             Options Indexes FollowSymLinks
             AllowOverride None
             Order allow,deny
             Allow From All
          </Directory>
        </VirtualHost>

基于端口:

    1. 修改配置文件

          将原来的

        Listen 80
             改为
             Listen80
           Listen 8080

      2. 更改虚拟主机设置:

                                   <VirtualHost 192.168.1.10:80>
                                     DocumentRoot /var/www/test1/
                                    ServerName www.test1.com
                                   </VirtualHost>
                                   <VirtualHost 192.168.1.10:8080>
                                      DocumentRoot /var/www/test2
                                     ServerName www.test2.com
                                   </VirtualHost>

    上述完成之后紧接着设置下面参数

    打开主配置文件中调用

    修改本地host文件域名解析

    在主配置文件中配置发布目录

由于虚拟主机本身是非常重要的,在下次,我会单独的写一个文档来讲述虚拟主机!!!

3.7       apache日志轮询

    1.安装轮询工具(cronolog)

    wget下载cronolog安装包

    ./configure
    make&& make install
    ll/usr/local/sbin/cronolog

    查看cronolog工具是否安装在apache的/usr/local/apache2/conf/extra/httpd-vhosts.conf下

    2.在配置主机位置将原来的日志语句注释掉,添加按天轮询语句

  CustomLog "|/usr/local/sbin/cronolog /app/logs/access_www_%Y%m%d.log"  combined

 (combined 组合日志格式)

3.8       apacherewrite

1. Rewirte主要的功能就是实现URL的跳转

2.安装proxy模块

/usr/local/apache2/bin/apxs -c -i -a mod_proxy.c proxy_util.c
/usr/local/apache2/bin/apxs -c -i -a /home/tools/httpd-2.2.15/modules/proxy/mod_proxy_http.c

3.检查安装模块

    查看apache的配置文件有一下两行就行了,modules目录下应该也多了mod_proxy.so和mod_proxy_http.so模块

    LoadModuleproxy_module        modules/mod_proxy.so
    LoadModuleproxy_http_module  modules/mod_proxy_http.so

4.然后配置httpd-vhost.conf

然后配置httpd-vhost.conf

<VirtualHost *:80>
    ServerAdmin ……qq.com
    DocumentRoot "/var/www/ "
    ServerName www.test10.com
     RewriteEngineon
     RewriteCond%{HTTP_HOST} ^www.test1.com [NC]
     RewriteRule^(.*)$  shttp://www.test10.cc$1  [P]
</VirtualHost>

这篇文章由于篇幅太长了,可能不适合于技术文档阅读。而且由于在Apache方面的虚拟主机rewrite重写,日志轮询方面说的不是很详细,在下次会单独写一篇关于他们的文档。。。这篇文章可能会有许多错误,希望大家能够指出,不胜感激,谢谢

时间: 2024-10-06 11:22:57

太详细了的apache,我自己都无语了的相关文章

C#控件一览表 前所未有的震撼(太详细了)

C#控件一览表 前所未有的震撼(太详细了) C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个

超级详细部署java服务器(每个步骤都有截图说明)

此文完全原创,如需转载请说明出处.原文地址http://www.cnblogs.com/yt-Product1203/p/6882440.html  言归正传,下面为我自己总结出来的详细部署步骤,此文中的软件可以对应到官方网站中找到,在这里就不再啰嗦啦. 第一步 :准备需要用到的软件和资源 1.所要部署的项目 2.Tomcat服务器安装包 3.JDK安装包 4.Mysql安装包 5.Navicat安装包(此软件的用处为:方便快捷的操作Mysql数据库) 此说明主要针对win7系统环境.tomca

openssl建立证书,非常详细配置ssl+apache

一,什么是ssl SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主要用来提供对用户和服务器的认证:对传送的数据进行加密和隐藏:确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准.由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了).即通过它可以激活SSL协议,实现数据信息在客

[zz]UITableView进行讲解 真的是太详细了

首先.对UITableView进行讲解,下面有对它进行实际的应用 UITableView  显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应用程序中 TableView Styles UITableView有两个默认的内置风格, 第一个是UITableViewStylePlain(简明风格,简明风格表明表格视图自身没有真正地在你自己实际地提供任何外观之前提供很多的外观,大部分情况下,它会做的唯一的事情是它会给你这些header和foo

Apache配置站点详细讲解(apache目录结构介绍)

apache模块: 查看Apache有哪些参数:/application/apache2.2.34/bin/apachectl 查看Apache安装了哪些模块:/application/apache2.2.34/bin/apachectl -l跟踪apache进程:strace /application/apache2.2.34/bin/apachectl -M 如果解析很慢,打开/etc/hosts/文件在第一行后面加上httpd ############################vi

(转)Apache Commons 里面都有啥?

转载自:https://hacpai.com/article/1499929329929 组件 说明 BCEL 字节码引擎库 - 用来分析,创建和操作 JAVA 类文件 BeanUtils JAVA 反射的简单包装 BSF Bean 脚本框架 - 脚本语言接口,包括 JSR-223 Chain 责任链模式的实现 CLI 命令行参数解析器 Codec 通用的编码 / 解码算法(比如 phonetic, base64, URL) Collections JAVA 集合扩展与增强 Compress 定

(基础篇)正则表达式的语法汇总与详细介绍

用好正则表达式往往会起到事半功倍的效果,以下是对PHP正则表达式的语法汇总和详细介绍. 首先,让我们看看两个特别的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 "^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配

XSS的原理分析与解剖:第四章(编码与绕过)*******************未看**********************

0×01前言 很抱歉,这第四章被我推了几个月,今天是元旦难得有空,就把第四章写下.我先把主要使用的编码说下,介绍完会说下绕过. 本文建议与<杂谈如何绕过WAF>一同阅读. 0×02 URL编码 URL只允许用US-ASCII字符集中可打印的字符(0×20-0x7x),其中某些字符在HTTP协议里有特殊的意义,所以有些也不能使用.这里有个需要注意的,+加号代表URL编码的空格,%20也是. URL编码最长见的是在用GET/POST传输时,顺序是把字符改成%+ASCII两位十六进制(先把字符串转成

看实例学正则表达式

首先,让我们看看两个特别的字符:'^' 和'$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明: "^The": 匹配以"The"开头的字符串; "of despair$": 匹配以"of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配: "notice": 匹配包含notice的字符串: 你可以看见如果你