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. 更高效的MergeSort--稍微优化

    0. 简介 本文简要介绍一下比传统MergeSort更高效的算法,在原来的算法Merge基础上,少发生一半拷贝.欢迎探讨,感谢阅读. 原文链接如下:http://loverszhaokai.com/p ...

  2. 复习总结《一》MFC消息映射

    长时间人容易遗忘,从新捡起!特做下记录 MFC消息映射 1.在MFC中消息映射主要牵扯到三个宏分别为: DECLARE_MESSAGE_MAP() BEGIN_MESSAGE_MAP(theClass ...

  3. 消息系统之Apache ActiveMQ

    一.下载运行MQ服务 1.下载ActiveMQ :http://activemq.apache.org/ 2.解压缩: 进入bin目录 win32和win64对应不同位的操作系统,选择进入 点击act ...

  4. python webdriver 从无到有搭建数据驱动自动化测试框架的步骤和总结

    一步一步搭建数据驱动测试框架的过程和总结 跟吴老学了搭建自动化数据驱动的框架后,我在自己练习的时候,尝试从简单的程序进行一点一点的扩展和优化,到实现这个数据驱动的框架. 先说一下搭建自动化测试框架的目 ...

  5. keepalived+lvs高可用集群

    LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...

  6. 20145321 《网络对抗》 Web基础

    20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签——这里面包含了处理表单数据所用CGI程序 ...

  7. 认识epoll

    linux下的epoll(7)函数,其有着良好的就绪事件通知机制.Epoll 是被linux2.6开始引进的,但是不被其他的类UNIX系统支持,它提供了一种类似select或poll函数的机制:a. ...

  8. sbt介绍与构建Scala项目

    一.sbt简介 sbt是类似ANT.MAVEN的构建工具,全称为Simple build tool,是Scala事实上的标准构建工具. 主要特性: 原生支持编译Scala代码和与诸多Scala测试框架 ...

  9. Spark On YARN 分布式集群安装

    一.导读 最近开始学习大数据分析,说到大数据分析,就必须提到Hadoop与Spark.要研究大数据分析,就必须安装这两个软件,特此记录一下安装过程.Hadoop使用V2版本,Hadoop有单机.伪分布 ...

  10. Python3基础 函数 有参数有返回值 对传入的参数加1

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...