【03】Nginx:location / root / alias】的更多相关文章

写在前面的话 前面我们谈了 nginx 基础的 WEB 服务配置以及定制我们的日志显示格式,接下来我能更加详细的说说 server 字段. location 字段 在 Server 中,如果我们只是一个 WEB 服务,其实是不需要先前的 location 匹配的. 所以在之前的 demo.conf 中,我们完全可以直接写成: # 80 端口测试 server { listen 80; server_name localhost; root /data/www/demo-80; index ind…
写在前面的话 我们前面已经谈了编译安装,基本语法,日志处理,location 匹配,root / alias 的不同效果.这里我们主要谈谈 rewrite(重写)功能,顺便说说 nginx 中自带的变量.在谈日志格式的时候我们已经聊了一些,这里做个补充. 指令:rewrite rewrite 的实现依赖于我们编译的时候的 PCRE 库,我们可以通过 rewrite 功能实现将 URL 重写的功能. 总的来说,rewrite 能够实现以下: 1. 用户请求到达某个 server ,如果满足 ser…
原文:http://seanlook.com/2015/05/17/nginx-location-rewrite/ 1. location正则写法 location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] }   location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] }   location /documents/ { # 匹…
原文:http://blog.csdn.net/bjash/article/details/8596538 location /img/ { alias /var/www/image/; } #若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件 location /img/ { root /var/www/image; } #若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下…
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格). ~ 开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到. 多个location配置…
写在前面的话 在 nginx 中,我们很多时候都有一个疑问,在 proxy_pass 或者 root 或者 location 后面需不需要加上 /,加和不加有啥区别. root  / alias 后面的 / root 和 alias 都是指向目录,所以后面是否存在 / 没有影响: server { listen 8082; server_name localhost; location ^~ /root/ { root /data/www/root/; index index.html inde…
写在前面的话 nginx 中主要的内容在前面的章节其实已经差不多了,接下都是一些小功能的实现以及关于 nginx 的优化问题.我们一起来探讨以下,如何把我们的 nginx 打造成为企业级应用. 安全优化:隐藏版本号和服务名称 我们在使用 curl 命令请求 nginx 的时候,甚至我们在访问出现 404 的时候,都会打印出我们的服务名称/版本号,如图: WEB 访问: 这肯定是不好的,知道了版本号意味着黑客就能通过指定版本的漏洞对我们的服务器进行攻击,甚至知道了你是啥服务也能够针对性攻击,如果是…
写在前面的话 上一节我们谈了关于 nginx 服务器的一些简单的安全优化问题,能够帮助我们解决一部分线上服务存在的安全隐患.但是想要提升用户体验这是原因不够的,我们还需要从服务的优化方面入手. 本节更多的还是偏理论的东西,会给出相应的配置.可能有些就无法立即做测试. 访问优化:静态压缩 我们知道一个网站总会有一些 CSS/JS 等静态文件需要加载,如果用户每次请求都需要去服务器下载一遍,比如 Jquery 这种根本不会变的.明显会造成带宽的浪费.同时由于用户可能本身网速还不好,就容易给用户带来不…
写在前面的话 在我们日常的工作中,不可能所有的服务都是简单的 HTML 静态网页,nginx 作为轻量级的 WEB 服务器,其实我们将它用于更多的地方还是作为我们网站的入口.不管你是后端接口,还是前端页面,我们让用户的请求都到这个服务.原因大致有以下几个: 1. 集中管理更便于管理. 2. 对外服务都是需要公网 IP 的,需要带宽,如果每台机器都专门配置公网 IP 和带宽,实在是太浪费,可以看看最近我整理的几个云服务商带宽收费情况: 带宽越高,费用越高,这种高还不是成几何式增长. 3. 我们的服…
写在前面的话 Nginx 在安装完成后自动为我们生成了一个展示欢迎页的虚拟主机,除此之外,还附带了很多基础的配置,我们先来看看这些配置有什么用,顺便添加一些常用但是配置文件中并未初始化进去的配置来专门谈谈. 基础配置 以下是默认配置文件中的内容,并做了简单的调整: # Nginx 默认运行 worker 的用户为 nobody,而 Master 用户为 root user nobody; #工作进程,也就是 worker 数量,一般为 CPU 核数,可以写 auto worker_process…
写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他是一个轻量级,高性能的web,反向代理,邮箱(IMAP/POP3)代理服务器. 和传统的服务不同,Nginx 不依赖线程来处理请求.下面是它的 logo,没啥特色: 本文将主要谈谈 1.16 版本 Nginx 的编译安装以及编译参数的问题! 编译安装 我们可以前往 Nginx 的官网下载我们的源码安…
写在前面的话 经过上一节,我们顺利将 K8S 集群搭建了起来,在其中我也简单的谈了一下关于 K8S 的网络.那么这一节我们主要谈谈如何来简单的使用 K8S 的命令.当然这些命令有很多,我们只是通过一个小例子来操作讲解.是不全面的. 但是其实更多的目的是为了介绍一种方法.在后期的应用中,我们也会和 docker 一样,慢慢的摒弃掉这种纯手敲命令的形式,而且换成更为直观的资源清单(yaml 文件)的形式. 而且本章节我们会好好谈谈在 K8S 中非常重要的几个概念中的一部分,主要包括:Pod 和 Se…
写在前面的话 在公司内部一般都会存在 FTP / SAMBA 这样类似的文件服务器,虽然这类的程序都可以对用户的权限进行控制,但我们有时候其实只需要一个简单的下载页面,类似软件仓库.用户不管在哪里打开网页就能直接下载那种.nginx 就能够直接完成这样的工作. 文件下载 我们这里的文件下载使用的是系统默认的页面和方法,如果你想要更好的体验直接跳到后面的:文件下载美化. 前往 nginx 的 vhosts 目录创建配置文件:file-download.conf server { listen 10…
写在前面的话 在 nginx 中,有些时候我们希望能够知道目前到底有多少个客户端连接到了我们的网站.我们希望有这样一个页面来专门统计显示这些情况.这个需求在 nginx 中是可以实现的,我们可以通过简单的配置来实现. 状态统计 nginx 自带模块中包含了 http_stub_status_module 模块,我们在之前的编译中也将其编译到了程序中,所以我们可以直接使用它: 在 vhosts 中新建:nginx-status.conf server { listen 10002; server_…
写在前面的话 SonarQube 这个服务有些人熟悉,有些人陌生.对于我们这样的运维人员,我们需要了解的是,SonarQube 是一个代码质量管理平台,懂得怎么安装配置,这其实就差不多足够了.我们在 Jenkins 这里专门提到这个东西,其原因就在于 Jenkins 有这么个插件,这个插件还被相当多的公司用到.所以得提出了聊聊他. SonarQube 的安装 目前这样的服务大多都已经提供了 docker 安装的方式,如果你对于 docker 很熟悉且你本身在使用,那么你可以使用.我这里还是使用比…
写在前面的话 远程执行可以说是我们使用 Saltstack 最为基础的目的.所以在这里专门作为单独的一篇来详细的聊聊. 远程执行命令 示例命令: salt '*' cmd.run 'w' 命令分析: salt 是命令本身,* 是执行目标,cmd.run 是 Saltstack 自带的模块,目前几百个. 其中一个重要的组成就是执行目标,这是我们执行命令的目的.关于目标,一般有两种选择方式: 1. 基于 Minion ID 的选择方式. 2. 基于 Minion 属性的选择方式. 和 Minion…
写在前面的话 在写代码的时候,我们的代码不可能总是一行一行语句的堆叠,有些时候我们需要对一个事物进行判断,或者很大一组数据需要循环挨个处理.这些不可能让我们一步一步的去写.所以有了接下来的分支结构和循环结构. 分支结构 语法格式: if 条件1: 执行1 elif 条件2: 执行2 else: 执行3 示例: x = 3 y = 2 if x == 1: print("这是第一种情况") elif x == 2: print("这是第二种情况") else: if…
[转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { proxy_pass http://127.0.0.1:8008; } Apache2的反向代理的配置是: ProxyPass /ysz/ http://…
[常见面试问题总结目录>>>] [面试][MySQL常见问题总结][03] 2016-05-29 22:20 阅读(8244) 评论(2) [面试][MySQL常见问题总结][02] [面试][MySQL常见问题总结][01] [BAT(百度,阿里,腾迅)面试题] 原文:http://blog.csdn.net/DERRANTCM/article/details/51534411 061 如何删除表? 答案:运行命令 drop table table_name; 062 创建索引 对于查…
上一篇:[ Keepalived ]Nginx or Http 主-备模式 在此基础上进行修改并实现 Keepalived主-主模式 首先,需要理解的是:主-备模式是一个VIP在工作,主-主模式则需要两个VIP来工作.一旦其中一台主机出现问题,则两个VIP都会绑定到同一台主机上,待到故障解除,重新启动httpd服务,恢复正常. ka1 配置文件: ! Configuration File for keepalived global_defs { notification_email { root…
这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下     root&alias文件路径配置nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上.[root]语法:root path默认值:root htm…
原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储模式等.维度是多维数据集中使用的实际维度组.所有维度都必须先在数据库的维度集合中定义,然后才能在多维数据集中引用.度量值组是多维数据集中的度量值集.度量值组是具有常见数据源视图和维度集的度量值的集合.度量值组是度量值的处理单元:可先对度量值组进行单独处理,然后再浏览.这个概念MSND解释的非常清楚,…
在添加nginx服务之后,大家会希望开机伴随启动nginx,避免手动路径输入启动: nginx官方提供了启动脚本:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/ nginx 安装可以参考[Web]Nginx下载与安装 配置步骤 1.添加nginx服务,进入/etc/init.d/目录,新添加nginx脚本文件,内容就是官方起启动脚本(/etc/init.d/nginx),如下: #!/bin/…
[03]图解原型和原型链 一图胜前言             请先结合图解原型和原型链这张图. 可以分为4种情况. 情况1: Object有: constructor:是Function. __proto__:是Function.prototype prototype(是一个对象.) constructor:Object __proto__:Null 情况2: Function有: constructor:Function自身 __proto__:Function.prototype proto…
[03]const 魔芋总结: 1,声明的是常量,一经声明,不得修改.必须声明的同时并赋值.否则报错. 2,只在声明所在的块级作用域内有效. 3,const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用. 4,也与let一样不可重复声明. 5,对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址.(指针的概念.) const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心.   6,ES5只有两种声明变量的方法:va…
[03] Chrome提示印象笔记剪藏插件"已停用不支持的扩展程序"怎么办? 刚好也遇上了这个问题,百度了一下,以下是解决方法,亲测可行: 1.首先把需要安装的第三方插件,后缀.crx 改成 .rar,然后解压,得到一个文件夹 2.再打开chrome://extensions/谷歌扩展应用管理,点击右上角的开发者模式,就可以看到"加载正在开发的扩展程序"这一选项. 3.选择刚才步骤1中解压好的文件夹,确定 4.确认新增扩展程序,点击添加,成功添加应用程序. **…
[03]github的markdown语法 https://guides.github.com/features/mastering-markdown/(下图)(魔芋:已录入)   http://markdown.tw/(一个繁体版本) **…
[03]   <论道html5>   共320页. 魔芋:已看完.   读后感:html5各个新特性的介绍.介绍了canvas,web socket,audio,video,web worker,离线应用和移动端的一些例子. 适合想学习html5的前端工作人员. 算是入门级别的基础普及书籍.关键还是要练习才能掌握.   Q:如何彻底掌握这些html5的新特性? A:最佳的是:开发涉及到这些功能的产品. 其次,自己找需求,做一个具体产品,作为自己的作品. 再其次,对照视频,实打实的跟着视频打一遍…
[03]   Html书写规范   1.推荐使用html5的文档声明 <!DOCTYPE HTML> 2.必须申明文档的编码charset,且与文件本身编码保持一致,推荐使用UTF-8编码 <metacharset="utf-8"> 3.title 不可缺少,控制在25个字.50个字节以内.“二级栏目 - 一级栏目 - 网站名称”. 4.keywords很重要,关键词,针对SEO. 注意: 5个左右,单个8汉字以内:禁忌堆砌,与网站主题无关. 5.descrip…
[01]emmet系列之基础介绍 [02]emmet系列之HTML语法 [03]emmet系列之CSS语法 [04]emmet系列之编辑器 [05]emmet系列之各种缩写   单位: 有几个常用值别名: p % e em x ex example: 输入: w100p  输出: width:100%   example: 输入: m10p30e5x  输出: margin:10%30em5ex   example: 输入: h10p+m5e 输出: height:10%;margin:5em;…