nginx常用命令汇总
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常用命令汇总的更多相关文章
- Docker笔记:常用命令汇总
Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- 【Linux】nginx常用命令
相关内容链接 Centos之安装Nginx及注意事项 [nginx]详细配置说明 nginx常用命令 [重新加载配置]sudo nginx -s reload [打开nginx配置]sudo vim ...
- Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...
- nginx常用命令及简单配置
nginx常用命令 nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx(windows下start nginx); nginx -s quit 停止ng ...
- 【Linux】Linux 常用命令汇总
查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...
- [svc][op]vim常用命令汇总
vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...
随机推荐
- ftp命令行敲不了
最先安装了vsftpd,但是命令行敲ftp老是不行 解决方案:ftp命令是ftp客户端,vsftp是ftp服务器,两者不是一个概念.你需要安装ftp客户端 yum install ftp 可以自动安装 ...
- python start
由于工作关系,新学习使用了python,感觉能非常快速和方便的开发,看完<简明 Python 教程>就跃跃欲试,实际用的是发现有些和C#的理解不一样 (1)如何筛选元组 例如 recor ...
- AdaBoost学习笔记
学习了李航<统计学习方法>第八章的提升方法,现在对常用的一种提升方法AdaBoost作一个小小的笔记,并用python实现书本上的例子,加深印象.提升方法(boosting)是一种常用的统 ...
- Linux基础命令---yes
yes 反复的输出指定的字符串,直到手动停止.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 yes [STR ...
- 50个CSS技巧
这里我工作中收集了10个很不错的CSS技巧,你可以用在你的项目上.它可以帮你很好地整理你的元素并让他们看起来蛮酷的.下面开始我们的内容,希望你会喜欢它.下面是我收集的CSS技巧,希望能帮助到你,感觉收 ...
- java.lang.NoClassDefFoundError: org/apache/http/client/config/RequestConfig
java 错误.java.lang.NoClassDefFoundError: org/apache/http/client/config/RequestConfig 本质上是httpClient的j ...
- 计算概论(A)/基础编程练习1(8题)/6:判断闰年
#include<stdio.h> int isLeap(int year) { // 必须先判断是平年的情况 后判断闰年的情况 == && year%!=) || yea ...
- CentOS7防火墙之firewalld
今天在centos7上装mysql8,装好了之后发现主机的navicat始终连不上centos中的mysql 搜索发现是防火墙的问题,已查看iptables,嗯?没有了这个防火墙,原来centos换防 ...
- 20145104张家明 《Java程序设计》第7周学习总结
20145104张家明 <Java程序设计>第7周学习总结 教材学习内容总结 第13章 简单认识时间和日期 -时间的度量:GMT.UT.TAI.UTC.Unix.epoch. -UTC:保 ...
- 20145304 Exp4 恶意代码分析
20145304 Exp4 恶意代码分析 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 ...