nginx总结
2015-06-25 05:26
651 查看
nginx中URL匹配配置 http://192.168.1.1/asdfa.aoisdjfoasdfal.jpg location ~ .*\.{gif|jpg|jpeg|png|bmp|swf}$ {
root /web/wwwroot/www.benet.wang;
expires 30d;
}
============================
location ~ ^/(upload|html)/ {
root /web/wwwroot/www.benet.wang;
expires 30d;
}
================================
location ~ .*.jsp$ {
index index.jsp;
proxy_pass http://localhost:8080; }
========================================
2. 负载均衡配置时的2个参数:fail_timeout和max_fails
upstream tomcat_server {
server 192.168.200.111:8080 weight=1 fail_timeout=20 max_fails=3;
server 192.168.200.112:8080 weight=1;
}
这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
个人认为,nginx不应该把这2个时间用同一个参数fail_timeout来控制,要是能再增加一个fail_time,来控制接下来的多长时间内,不再使用down掉的server就更好了~
如果不设置这2个参数,fail_timeout默认为10s,max_fails默认为1。就是说,只要某个server失效一次,则在接下来的10s内,就不会分发请求到该server上
3、nginx日志分割配置实例脚本:
[root@localhost nginx]# cat logs/nginx.pid
5118
[root@localhost nginx]# kill -QUIT 5118
-QUIT : 关闭进程
-HUP : 重载服务, 平滑重启
-USR1: 日志切换,(通过结合crontab,每天生成一个新的日志)
-USR2: 平滑升级可执行程序
=[root@localhost ~]# cat /opt/fenge-nginx.sh
#!/bin/bash
#fenge nginx logs
savepath_log='/home/nginx/logs'
nglogs='/usr/local/nginx/logs'
[ -d $savepath_log ] || mkdir -p $savepath_log
[ -d $savepath_log/$(date +%Y)/$(date +%m) ] || mkdir -p $savepath_log/$(date +%Y)/$(date +%m)
mv $nglogs/access.log $savepath_log/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $nglogs/error.log $savepath_log/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
---------------------------------------------------------------------------
[root@localhost ~]# chmod +x /opt/fenge-nginx.sh
[root@localhost ~]# /opt/fenge-nginx.sh
[root@localhost ~]# tree /home/nginx/
/home/nginx/
└── logs
└── 2014
└── 12
├── access.20141220.log
└── error.20141220.log
3 directories, 2 files
-----------------------------------------------------
[root@localhost ~]# crontab -l
0 0 * * * /opt/fenge-nginx.sh
本文来源:http://www.benet.wang/%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA/6.html
4、nginx防盗链配置实例
location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
valid_referers none blocked *.benet.wang benet.wang;
if ($invalid_referer) {
rewrite ^/ http://www.benet.wang/img/error.gif; #return 403;
}
location /images {
root /opt/nginx/html;
valid_referers none blocked *.benet.wang benet.wang;
if ($invalid_referer) {
return 403;
}
}
}
注释:if{}中的内容的意思是:如果地址不是上面指定的地址就跳转到通过rewrite指定的地址,也
可以直接通过return返回403错误。
要做更复杂的防盗链处理,可以使用nginx的HttpAccessKeyModule,通过这个模块可以实现功能更强
大的防盗链处理。
----------------------------------------------------------------
nginx负载均衡配置
upstream benet.wang {
ip_hash;
server 192.168.1.111:80 weight=3;
server 192.168.1.112:80 down;
server 192.168.1.113:8080 weight=2 max_fails=3 fail_timeout=20s;
server 192.168.1.114:8008 weight=5;
}
location / {
root html;
index index.html index.htm index.jsp;
proxy_pass http://benet.wang; }
===============================
nginx网页的动静分离
server {
listen 80;
server_name www.benet.wang;
root /var/www/html;
location /img/ {
alias /web/www/html/img/;
}
location ~ (\.jsp)|(\.do)$ {
proxy_pass http://192.168.1.191:8080; }
}
=======================================
本文来源:http://www.benet.wang/%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA/115.html
root /web/wwwroot/www.benet.wang;
expires 30d;
}
============================
location ~ ^/(upload|html)/ {
root /web/wwwroot/www.benet.wang;
expires 30d;
}
================================
location ~ .*.jsp$ {
index index.jsp;
proxy_pass http://localhost:8080; }
========================================
2. 负载均衡配置时的2个参数:fail_timeout和max_fails
upstream tomcat_server {
server 192.168.200.111:8080 weight=1 fail_timeout=20 max_fails=3;
server 192.168.200.112:8080 weight=1;
}
这2个参数一起配合,来控制nginx怎样认为upstream中的某个server是失效的当在fail_timeout的时间内,某个server连接失败了max_fails次,则nginx会认为该server不工作了。同时,在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server。
个人认为,nginx不应该把这2个时间用同一个参数fail_timeout来控制,要是能再增加一个fail_time,来控制接下来的多长时间内,不再使用down掉的server就更好了~
如果不设置这2个参数,fail_timeout默认为10s,max_fails默认为1。就是说,只要某个server失效一次,则在接下来的10s内,就不会分发请求到该server上
3、nginx日志分割配置实例脚本:
[root@localhost nginx]# cat logs/nginx.pid
5118
[root@localhost nginx]# kill -QUIT 5118
-QUIT : 关闭进程
-HUP : 重载服务, 平滑重启
-USR1: 日志切换,(通过结合crontab,每天生成一个新的日志)
-USR2: 平滑升级可执行程序
=[root@localhost ~]# cat /opt/fenge-nginx.sh
#!/bin/bash
#fenge nginx logs
savepath_log='/home/nginx/logs'
nglogs='/usr/local/nginx/logs'
[ -d $savepath_log ] || mkdir -p $savepath_log
[ -d $savepath_log/$(date +%Y)/$(date +%m) ] || mkdir -p $savepath_log/$(date +%Y)/$(date +%m)
mv $nglogs/access.log $savepath_log/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $nglogs/error.log $savepath_log/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
---------------------------------------------------------------------------
[root@localhost ~]# chmod +x /opt/fenge-nginx.sh
[root@localhost ~]# /opt/fenge-nginx.sh
[root@localhost ~]# tree /home/nginx/
/home/nginx/
└── logs
└── 2014
└── 12
├── access.20141220.log
└── error.20141220.log
3 directories, 2 files
-----------------------------------------------------
[root@localhost ~]# crontab -l
0 0 * * * /opt/fenge-nginx.sh
本文来源:http://www.benet.wang/%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA/6.html
4、nginx防盗链配置实例
location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {
valid_referers none blocked *.benet.wang benet.wang;
if ($invalid_referer) {
rewrite ^/ http://www.benet.wang/img/error.gif; #return 403;
}
location /images {
root /opt/nginx/html;
valid_referers none blocked *.benet.wang benet.wang;
if ($invalid_referer) {
return 403;
}
}
}
注释:if{}中的内容的意思是:如果地址不是上面指定的地址就跳转到通过rewrite指定的地址,也
可以直接通过return返回403错误。
要做更复杂的防盗链处理,可以使用nginx的HttpAccessKeyModule,通过这个模块可以实现功能更强
大的防盗链处理。
----------------------------------------------------------------
nginx负载均衡配置
upstream benet.wang {
ip_hash;
server 192.168.1.111:80 weight=3;
server 192.168.1.112:80 down;
server 192.168.1.113:8080 weight=2 max_fails=3 fail_timeout=20s;
server 192.168.1.114:8008 weight=5;
}
location / {
root html;
index index.html index.htm index.jsp;
proxy_pass http://benet.wang; }
===============================
nginx网页的动静分离
server {
listen 80;
server_name www.benet.wang;
root /var/www/html;
location /img/ {
alias /web/www/html/img/;
}
location ~ (\.jsp)|(\.do)$ {
proxy_pass http://192.168.1.191:8080; }
}
=======================================
本文来源:http://www.benet.wang/%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA/115.html
相关文章推荐
- mac nginx (48: Address already in use)
- Nginx引入线程池 性能提升9倍
- Nginx + CGI/FastCGI + C/Cpp
- 分析nginx日志脚本之python
- nginx location配置
- samba---启动smaba后nginx 11 resource temporarily unavailable
- 绝对详细!Nginx基本配置、性能优化指南
- Nginx搭建图片服务器
- 山寨技术下的网站图片服务器(NGINX)
- nginx的配置和优化(隐藏版本号、gzip、expires、防盗链......等)
- 如何使用源码编译安装Nginx服务器
- LNMP第二部分nginx、php配置(用户认证、域名重定向、日志、配置缓存、防盗链) 推荐
- 构建基于Nginx的文件服务器思路与实现
- Nginx在windows下使用为什么死掉
- nginx与Elasticsearch结合使用
- 使用Nginx做邮件代理服务器配置(参考配置二)
- 使用Nginx做邮件代理服务器配置
- NGINX引入线程池 性能提升9倍
- Windows下Nginx+PHP5(FastCgi)安装配置详解
- nginx笔记:nginx安装