当前位置: 首页 > news >正文

3.location的写法

location的写法

  • 一、location的写法
    • 1、= 精确匹配
    • 2、~ 以正则表达式匹配请求,区分大小写
    • 3、~* 以正则匹配请求,不区分大小写
    • 4、^~ 不以正则的方式匹配请求
  • 二、stub_status模块显示工作状态
  • 三、url地址重写 rewrite模块
    • 1、语法
    • 2、针对项目结构有变化
    • 3、网站改名的情况
    • 4、https自动跳转
  • 四、LNMP平台
    • 1、核心区别
    • 2、部署LNMP平台
      • 2.1 安装平台所需的软件
      • 2.2 启动php-fpm、数据库
      • 2.3 将nginx和php融合
      • 2.4 测试

一、location的写法

作用: 匹配客户端响应

location [ = | ~ | ~* | ^~ ] uri { … }

优先级: =, ^~, ~, ~*, location /

1、= 精确匹配

location = /upload {
}
http://x.x.x.x/upload

2、~ 以正则表达式匹配请求,区分大小写

location ~ /test {
}
http://x.x.x.x/upload/test
http://x.x.x.x/test/a/b/c
location ~ \.(jpg|jpeg|gif|png)$ {
}
location ~ \.php$ {
}

3、~* 以正则匹配请求,不区分大小写

location ~* /download {
}
http://x.x.x.x/test/download/
http://x.x.x.x/DownLoad/test

4、^~ 不以正则的方式匹配请求

location ^~ /test {
}
http://x.x.x.x/test

二、stub_status模块显示工作状态

    location /status {stub_status;access_log off;allow 192.168.140.1;deny all;}
Active connections: 1 				// 当前的活跃连接数
server accepts handled requests2809 2809 2937 
Reading: 0 Writing: 1 Waiting: 0accepts:接收的连接数
handlerd:处理的连接
requests:请求数 

三、url地址重写 rewrite模块

让服务器接收到请求后,根据需求改写地址,以改写的地址给客户端响应

1、语法

rewrite  旧uri地址   新uri地址; 注意:
1、旧uri匹配请求时,是不包含请求的参数,不包括?后面的内容 
2、旧uri地址支持正则表达式
3、避免循环匹配,否则会产生5xx的错误 

2、针对项目结构有变化

rewrite ^/audio/  http://music.linux.com/mp3/;
rewrite ^/audio/(.*)  http://music.linux.com/mp3/$1;

3、网站改名的情况

rewrite ^/  https://www.jd.com;

4、https自动跳转

if ($host = secure.linux.com) {rewrite ^/(.*)  https://secure.linux.com/$1;
}

四、LNMP平台

1、核心区别

将httpd换为nginx,高并发、高性能
nginx通过fastCGI机制调用PHP,处理动态资源
php以fpm的方式运行,有自己独立的进程、服务

2、部署LNMP平台

2.1 安装平台所需的软件

[root@localhost ~]# yum install -y mariadb-server php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml 

2.2 启动php-fpm、数据库

[root@localhost ~]# systemctl enable --now mariadb[root@localhost ~]# systemctl enable --now php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@localhost ~]# 
[root@localhost ~]# netstat -tunlp | grep php
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      7986/php-fpm: maste 

2.3 将nginx和php融合

[root@localhost conf.d]# vim vedio.conf location ~ \.php$ {root           /vedio;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}
[root@localhost conf.d]# /usr/local/nginx/sbin/nginx -t[root@localhost conf.d]# /usr/local/nginx/sbin/nginx -s reload

2.4 测试

<?phpphpinfo();
?>
<?php$link=mysqli_connect("localhost", "root", "");if($link)echo "ok";elseecho "error";
?>
http://www.lryc.cn/news/360548.html

相关文章:

  • AndroidStudio设置允许APP获取定位权限
  • Spring Boot 统一数据返回格式
  • Android 项目Gradle文件讲解(Groovy和Kotlin)
  • python-最接近target的值
  • 转换张量形状:`nlc_to_nchw` 函数详解
  • 「架构」云上自动化运维及其应用
  • 分布式和集群的区别
  • 最新h5st(4.7.2)参数分析与纯算法还原(含算法源码)
  • Spark大数据 掌握RDD的创建
  • Chrome谷歌浏览器如何打开不安全页面的禁止权限?
  • 3D目标检测入门:探索OpenPCDet框架
  • JS异步编程
  • 多元联合分布建模 Copula python实例
  • 单号日入50+,全自动挂机赚钱
  • LabVIEW老程序功能升级:重写还是改进?
  • chrome谷歌浏览器开启Gemini Nano模型
  • C语言王国——内存函数
  • 【计算机组成原理】1.1计算机的软硬件组成(记录学习计算机组成原理)
  • Qt xml学习之calculator-qml
  • 低代码开发系统是什么?它有那些部分组成?
  • 2024年西安交通大学程序设计竞赛校赛
  • 【学习Day5】操作系统
  • 学习小记录——python函数的定义和调用
  • RHEL7.9修改分区
  • 【Linux】命名管道
  • IMX6Q基于linux4.1.15调试音频芯片tas2505
  • 卷积常用网络
  • Firebase Local Emulator Suite详解
  • 计算机组成原理·存储系统疑点归纳
  • 在 GPU 上实现全规模文件系统加速