1. last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异。
注意一点就是,他们会跳过所有的在他们之后的rewrite 模块中的指令,去选择自己匹配的location
2. last 和 break 当出现在location 内部时,两者就存在了差异。
last: 使用了last 指令,rewrite 后会跳出location 作用域,重新开始再走一次刚刚的行为。
break: 使用了break 指令,rewrite后不会跳出location 作用域。它的生命也在这个location中终结。
网友解释通俗易懂:
last:
重新将rewrite后的地址在server标签中执行
break:
将rewrite后的...
rewite
在 server 块下,会优先执行 rewrite 部分,然后才会去匹配 location 块。因为 server 块中 rewrite 的 break 和 last 没什么区别,执行完后都会再去匹配 location,所以 server 块中的 rewrite 标志可以留空,不需要用 last 再发起新的请求。
location中的rewirte:
不写 last 和 break,那么流程就是依次执行这些 rewrite。
1. rewrite break: url 重写后,直接使用当前资源,不再执行 location 里余下的语句,完成本次请求,地址栏 url 不变。
2. rewrite last: url 重写后,马上发起一个新的请求,再次进入 server 块,重试...
构建正则表达式用在nginx上,匹配不以给定字符串结尾的字符。
例如,把如下这两种非 html 结尾的地址重定向到 html结尾
https://www.redis.com.cn/commands/append/
https://www.redis.com.cn/commands/append
重定向到
https://www.redis.com.cn/commands/append.html
经过分析我们知道第一种是要把url结尾的斜杠
/ 去掉加上
.html ,第二种是把以非斜线
/ 和
.html 结尾的url加上
.html 。
对于普通
[^] 是单个字符判断,并不是按顺序判断。我们需要使用否定反向环视: .*(?<!\.html|\//)$
(?<!patter...
1.下载合适的版本
http://nginx.org/packages/rhel/7/x86_64/RPMS/
2.执行安装命令
rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm
警告:nginx-1.18.0-2.el7.ngx.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 7bd9bf62: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:nginx-1:1.18.0-2.el7.ngx ################################# [100%]
3.启动nginx服务
在命令行输入nginx后回车即可
4.配置文件位置:/etc/nginx/conf.d/
安装redis扩展前,假设已经安装好php、nginx,他们的安装路径如下:
php安装目录:/usr/local/php
php.ini配置文件路径:/usr/local/php/etc/php.ini
Nginx安装目录:/usr/local/nginx
Nginx网站根目录:/usr/local/nginx/html
1、安装编译工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
2、安装redis扩展
cd /usr/local/src #进入软件包存放目录
wget http://pecl.php.net/get/redis-3.1.0.tgz #下载
tar zxf redis-3.1.0.tgz #解压
cd redis-3.1.0 #进入...
准备篇
一、关闭防火墙firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl mask firewalld
systemctl stop firewalld
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三 、路径约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字,例如/usr/local/nginx
四、下载软件包
wget http://nginx.o...
通过源码安装nginx,可以熟悉整个nginx的文件结构,配置文件位置,依赖的库文件等,但是过程比较繁琐。如果只是使用通用模块,可以通过yum命令快速安装nginx,本文介绍快速通过yum命令安装nginx。
1.创建yum文件:
/etc/yum.repos.d/nginx.repo
1
/etc/yum.repos.d/nginx.repo
2.向yum文件中添加如下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basea...
vuepress是一个静态网站生产器,是一个开箱即用的开源项目文档web页面生成工具,vue的在线web文档就是用vuepress制作的。
本文主要介绍如何配置vuepress以及利用nginx部署vuepress,分成项目生成和项目的部署两个部分来说明如何进行博客的搭建。
一、项目生成:VuePress
在官方文档中,已经有较为详细的介绍,如何生成一个默认主题的VuePress项目。总体来说,可以使用如下步骤:
1.1 项目初始化
新建一个文件夹,进入文件夹后执行命令:npm init,执行后,系统会提示输入一系列信息,诸如作者、git仓库、项目描述等信息,根据个人信息...
这个指令的参数是以冒号为分割的 OpenSSL name,需要根据你的 openssl 版本支持的算法套件来配置,每个名字代表了 TLS 握手所使用的算法、证书签名、完整性检查算法。
ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
1
ssl_ciphe...
老版本的 centos6 使用System V 脚本启动程序,centos7 使用Sytemd 服务单元启动服务。
本文介绍直接使用命令行工具平滑升级nginx,所谓平滑升级就是不中断服务,把nginx旧版程序替换为新版程序。
开始前我们需要编译好新版本的nginx 。可能是处于种种原因:升级版本、打开原来没打开的参数等等,都会重新编译程序。
新版本的 nginx 程序位于 /usr/local/src/nginx-1.18.0/objs/nginx 。
当前运行的 nginx 位于 /usr/local/nginx/sbin/nginx 。
cd /usr/local/nginx/sbin/
[root@VM_0_16_centos sbin]#...