nginx常用命令

sudo nginx // 开启nginx服务器
sudo nginx -s reload // 重启nginx服务器
sudo nginx -s stop // 关闭nginx
nginx -t // 检查nginx配置,如果出现以下提示表示配置成功
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful  

nginx代理配置

1、proxy_pass

在nginx中配置proxy_pass时:

如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;

如果没有/,则会把匹配的路径部分也给代理走。

 location ^~ /support/
{
 proxy_cache js_cache;
 proxy_set_header Host www.xudengwei.com;
 proxy_pass http://www.xudengwei.com/;
}

如上面的配置,如果请求的url是http://servername/support/test.html
会被代理成http://www.xudengwei.com/test.html

而如果这么配置

location ^~ /support/
{
 proxy_cache js_cache;
 proxy_set_header Host www.xudengwei.com;
 proxy_pass http://www.xudengwei.com;
}

则会被代理到http://www.xudengwei.com/support/test.htm

2、rewrite

2.1 我们可以用如下的rewrite来实现上述/的功能

// 匹配任何以/support/开头的请求
location ^~ /support/
{
 proxy_cache js_cache;
 proxy_set_header Host www.xudengwei.com;
 rewrite /support/(.+)//1 break;
 proxy_pass http://www.xudengwei.com;
}  

2.2 rewrite中的$1/$2/$3...

server {
listen 80;
server_name dev.xudengwei.com;
location / {:
// 输入dev.xudengwei.com/test1/baidu 会重定向到 www.baidu.com,这里的$1就是上一个正则匹配的结果值
rewrite /test1/(.*) www.$1.com break;
}
}

3、last和break、permanent

last:last 和 break一样 它们都会终止此 location 中其他它rewrite模块指令的执行,但是 last 立即发起新一轮的 location 匹配 而 break 则不会

permanent: 永久性重定向。请求日志中的状态码为301

4、location

server {
server_name website.com;
location = /abcd {
......
}
}
测试:
http://website.com/abcd # 正好完全匹配
http://website.com/ABCD # 如果运行 Nginx server 的系统本身对大小写不敏感,比如 Windows ,那么也匹配
http://website.com/abcd?param1m2 # 忽略查询串参数,这里就是 /abcd 后面的 ?param1m2
http://website.com/abcd/ # 不匹配,因为末尾存在反斜杠
http://website.com/abcde # 不匹配,因为不是完全匹配

项目cases

// 以下的nginx方向代理配置用于将浏览器请求代理到本地服务器

server {
listen 80;
server_name dev.xudengwei.com;
location / {
  # 相对路径是dll,assets开头的,都会被代理到proxy_pass定义的host,如果是全路径都走local,rewrite就不用写了,直接proxy_pass
rewrite '^(/(dll/|assets/).*)$' $1 break;
proxy_pass http://127.0.0.1:3000;
}
location ^~ /leo/ {
# dev
proxy_set_header Host dev.xudengwei.com;
proxy_pass http://39.106.39.185;
}
}

nginx常用命令汇总的更多相关文章

  1. Docker笔记:常用命令汇总

    Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...

  2. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  3. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  4. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  5. 【Linux】nginx常用命令

    相关内容链接 Centos之安装Nginx及注意事项 [nginx]详细配置说明 nginx常用命令 [重新加载配置]sudo nginx -s reload [打开nginx配置]sudo vim ...

  6. Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡

    转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...

  7. nginx常用命令及简单配置

    nginx常用命令 nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx(windows下start nginx); nginx -s quit 停止ng ...

  8. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  9. [svc][op]vim常用命令汇总

    vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...

随机推荐

  1. c++多线程实例

    #include <windows.h> #include <stdio.h> #include <process.h> ; int g_thread_counte ...

  2. 011-/etc/resolv.conf详解

  3. AHB-Lite简介

    AHB总线实现了简单的基于burst的传输,数据总线带宽可配置32-1024bit.可以实现简单的fixed pipeline在address/control phase和 data phase之间. ...

  4. VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)

    上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类. 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在 ...

  5. 20154312 曾林 EXP7 网络欺诈防范

    目录 1.基础问题回答 ----1.1.通常在什么场景下容易受到DNS spoof攻击 ----1.2.在日常生活工作中如何防范以上两攻击方法 2.实践总结与体会 3.实践过程记录 ----3.1.简 ...

  6. R 简明教程

    R 是一门统计语言.它有很多数据分析和挖掘程序包.可以用来统计.分析和制图. 你也可以在 LaTeX 文档中运行 R 命令. # 注释以 # 开始 # R 语言原生不支持 多行注释 # 但是你可以像这 ...

  7. 【转】svn http://提示svn: Unrecognized URL scheme错误

    转自:http://blog.csdn.net/l241002209/article/details/8547943 SVN这个东西虽然不好用(当然也是因为自身没有重视,但是谁让GIT这么好用呢…!) ...

  8. web前端----JavaScript(JS)函数

    函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别. // 普通函数定义 function f1() { console.log("Hello wo ...

  9. cojs 二分图计数问题1-3 题解报告

    OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...

  10. Python学习笔记之在Python中实现单例模式

    有些时候你的项目中难免需要一些全局唯一的对象,这些对象大多是一些工具性的东西,在Python中实现单例模式并不是什么难事.以下总结几种方法: 使用类装饰器 使用装饰器实现单例类的时候,类本身并不知道自 ...