nginx配置文件解答
nginx配置文件详解:
server {
listen 80;
servername www.nginx1.com
location / {
root html; 数据路径
index index.html index.htm
}
用户访问www.nginx1.com,访问的是本机html下的目录内容
location /test {
root /data/www/zabbix;
}
用户访问www.nginx1.com,访问时本机/data/www/zabbix 下的内容
location /test {
proxy_pass http://192.168.133.14/bbs;
}
用户访问www.nginx1.com/test,会将访问的内容转发到后端192.168.133.14/bbs下。
如果要是用正则匹配的话,ip后面可以加端口,但是不能加其他的。
location /test/ {
proxy_pass http://192.168.133.14/bbs/;
}
如上所示,格式必须匹配,访问到192.168.133.14/bbs/下。
如下采用正则方法
location ~* ^/test {
proxy_pass http://192.168.133.134;
}
访问以test开头的路径,会访问到后端服务器www.xxx.com下的test文件下的内容,
做这种正则匹配的时候,proxy_pass后不能加路径,只能加ip或者域名。
location /proxy/ {
proxy_pass http://10.2.2.1:8080;
}
访问http://127.0.0.1/proxy/cuffs,nginx匹配到/proxy/路径,
实际请求的服务器是http://10.2.2.1/proxy/cuffs.
~ 区分大小写
~* 不区分大小写
^~ 做逐字符匹配
wiki.nginx.org
http://xinklabi.iteye.com/blog/2207127
反向代理:
所有以.php结尾的文件都转发给127.0.0.1
location ~* \.php${
fastcgi_pass 127.0.0.1:9000;
}
事件驱动相关
http{
}
关于http相关的配置
server{
listen 80;
server_name www.magedu.com;
虚拟主机
location [op] URI {
proxy_pass 后端服务器
proxy_set_header X-Real-IP $remote_addr;
}
}
op操作符
通常是匹配文件的
~ 区分大小写
~* 不区分大小写,源自符匹配
^~ 不做正则表达式,逐字符搜索
= 路径精确匹配
location /form/{
proxy_pass http://172.10.2.100:8080/bbs/;
}
访问http://www.magedu.com/forum/
-->>http://172.10.2.100:8080/bbs/
当访问上面网站时候,转到下面的位置。
当location后面使用OP操作符时,不允许使用后面的/bbs/,保证pass后的ip后无路径
location ~* ^/form {
proxy_pass http://175.23.10.1:8080;
}
所有的URL路径以form开头的,都访问到form下
访问 http://www.magedu.com/forum
--->>-->>http://172.10.2.100:8080/form
upstream 定义指令server之外。负载均衡。必须改变proxy_pass
upstream webserer {
server 192.168.122.1 weight=1 max_fails=2 fail_timeout=2;
server 192.168.133.1 weight=2 max_fails=2 fail_timeout=2;
server 192.13.5.1:8080 backup;使用该项会在前面两台服务器down的情况下,使用该台服务器。
}
server {
location / {
proxy_pass http://webserer/;
proxy_set_header X-Real-IP $remote_addr;
}
缓存目录,子目录级别。
nginx:
cache:共享内存,存储键和缓存对象元数据
磁盘空间:存储数据
proxy_cache_path: 不能放到server()里面。
proxy_cache_path /nginx/cache/first level=1:2 keys_zone=first:20m max_size=1G;
缓存目录 两个目录,第一目录一个字节,第二个目录两个字节 内存区域大小20M 缓存最大1G
在location定义缓存,及其缓存名。
http{
proxy_cache_path /nginx/cache/first level=1:2 keys_zone=first:20m max_size=1G;
}
location / {
proxy_pass http://webservers;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache first; 该first是缓存的区域名,如果是off,则关闭缓存。
}
rewrite地址重写
location /images/ {
rewrite http://126.23.2.1/images/
}
访问www.magedu.com下的images将会重定向到http://126.23.2.1/images/
支持正则表达式
location / {
root html;
index index.html;
rewrite "^/bbs/(.*)/images/(.*)\.jpg$" http://www.mangedu.com/bbs/$2/images/$1.jpg last;
}
访问www.magedu.com下的以bbs开头的文件下的a内容下的images下的b内容 (a,b分别代表任意内容)
将被重定向到该网址的/bbs/b/images/a/内容,如果跟上last
/URL/bbs/a/images/b --->>/URL/bbs/b/images/a/---->>/URL/bbs/a/images/b
last:代表本次重定向后再进行一轮检查
break:代表本次重写完成后,执行后续操作
nginx配置文件解答的更多相关文章
- Nginx配置文件nginx.conf中文详解(转)
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- 查看nginx配置文件路径
进入nginx安装目录(我的是/usr/local/nginx-1.7.8/) 进入sbin目录,输入 ./nginx -t查看nginx配置文件路径以及该文件语法是否正确 ./nginx -v查看n ...
- Nginx配置文件详解
Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...
- 005.nginx配置文件
1.替换nginx主配置文件 通过前面的配置,LNMP的环境已经搭建完成,现在我们替换nginx配置文件: [root@huh ~]# cd /usr/local/nginx/conf/[root@h ...
- nginx配置文件nginx.conf超详细讲解
#nginx进程,一般设置为和cpu核数一样worker_processes 4; #错误日志存放目录 error_log /data1/logs/er ...
- 通过nginx配置文件抵御攻击
通过nginx配置文件抵御攻击 囧思九千 · 2013/11/12 12:22 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击 ...
- Nginx配置文件nginx.conf详细说明
Nginx配置文件nginx.conf详细说明 #worker_processes 8; #worker_cpu_affinity 00000001 00000010 00000100 0000100 ...
- 【转】Nginx配置文件详细说明
Nginx配置文件详细说明 在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data; #启动进程,通常设置成和cpu的数量相等 ...
- 一、Nginx配置文件详解
配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...
随机推荐
- JVM线程与Linux内核线程的映射[转]
Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程. Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是 ...
- android xml中使用include标签
在一个项目中,我们可能会在xml中局部用到相同的布局,如果每次都在xml中重写这些布局,代码显得很冗余.重复的复制黏贴也很烦恼,所以,我们把这些相同的局部布局写成一个单独的xml模块,需要用到这些布局 ...
- 初识Vivado
Vivado 设计套件包括高度集成的设计环境和新一代从系统到 IC 级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上.这也是一个基于 AMBA AXI4 互联规范.IP-XACT IP ...
- 【HEVC帧间预测论文】P1.5 Fast Coding Unit Size Selection for HEVC based on Bayesian Decision Rule
Fast Coding Unit Size Selection for HEVC based on Bayesian Decision Rule <HEVC标准介绍.HEVC帧间预测论文笔记&g ...
- 【Win32汇编】编译环境配置
开始学习[Win32汇编],编译过程较为繁琐,做个记录. 使用 MASM32 提供的 ml.exe 和 link.exe,以及 VS2013 中的 nmake.exe 和资源编辑器. ml.exe: ...
- 数据库系统概论(2)——Chap. 2 关系数据库基础
数据库系统概论(2)--Chap.2 关系数据库基础 一.关系数据结构及形式化定义 1.关系 关系模型的数据结构只包含单一的数据结构--关系.在关系模型中,现实世界的实体及实体间的各种联系均用单一的结 ...
- 吸顶条 ---- jQ写法
<script> $(function () { var barTop = $('#bar').offset().top; //on方法相当于原生的绑定 $(window).on('scr ...
- 图解在Ubuntu16.04中安装MySQL
1.安装mysql-server sudo apt-get install mysql-server 输入y,回车.等待下载,安装 出现下图,需要设定Mysql的密码. 输入密码,回车,弹出确认对话框 ...
- docker 创建容器与管理容器
创建容器的选项 [root@mast ~]# docker container run --help Usage: docker container run [OPTIONS] IMAGE [COMM ...
- 插入insert几种用法
1.insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保语句本身没有问题,否则也会被忽略掉.例如: INSERT I ...