当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Nginx 遇到502 Bad Gateway 自动重启的脚本代码       原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。 代码如下: #!/usr/bin/php <!--$url = 'http://www.'; $cmd = '/usr/local/php/sbin/php-fpm restart'; for($i = 0; $i < 5; $i ++){ $exec = "curl connect-tim.........
    ▪Nginx防盗链的3种方法       一:一般的防盗链如下: 代码如下: location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www. ; if ($invalid_referer) { rewrite ^/ http://www./retrun.html; #return 403; } } 第一行:gif|jpg|png|swf|flv 表示对gif、j.........
    ▪为Nginx自定义404,502错误页面的方法       首先打开nginx.conf文件,在fastcgi_temp_file_write_size 128k; 下面添加 fastcgi_intercept_errors on;注意,包括;号 然后在需要定义的站点的里面添加 error_page 404 = /404.htm;例如: 代码如下: server { listen 80; serv.........

[1]Nginx 遇到502 Bad Gateway 自动重启的脚本代码
    来源: 互联网  发布时间: 2013-12-24
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
代码如下:

#!/usr/bin/php
<!--$url = 'http://www.';
$cmd = '/usr/local/php/sbin/php-fpm restart';

for($i = 0; $i < 5; $i ++){ $exec = "curl connect-timeout 3 -I $url 2>/dev/null";
$res = shell_exec($exec);

if(stripos($res, '502 Bad Gateway') !== false){
shell_exec($cmd);
exit();
}
}
-->

至于crontab,请自行Google搜索或参考下面的文章
http://www./LINUXjishu/19905.html
http://www./LINUXjishu/17374.html

    
[2]Nginx防盗链的3种方法
    来源: 互联网  发布时间: 2013-12-24
一:一般的防盗链如下:
代码如下:

location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www. ;
if ($invalid_referer) {
rewrite ^/ http://www./retrun.html;
#return 403;
}
}

第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: 表示对www.ingnix.com这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://www./retrun.html页面,当然直接返回403也是可以的。

二:针对图片目录防止盗链
代码如下:

location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.xok.la xok.la ;
if ($invalid_referer) {return 403;}
}

三:使用第三方模块ngx_http_accesskey_module实现Nginx防盗链
实现方法如下:

实现方法如下:
1. 下载NginxHttpAccessKeyModule模块文件:Nginx-accesskey-2.0.3.tar.gz;
2. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。编辑此文件:替换其中的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”;
3. 用一下参数重新编译nginx:
./configure --add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:
location /download {
  accesskey             on;
  accesskey_hashmethod  md5;
  accesskey_arg         "key";
  accesskey_signature   "mypass$remote_addr";
}
其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。

访问测试脚本download.php:
<?
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://www./download/G3200507120520LM.rar?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://www./download/G3200507120520LM.rar>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>
访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

参考:
NginxHttpAccessKeyModule


    
[3]为Nginx自定义404,502错误页面的方法
    来源: 互联网  发布时间: 2013-12-24
首先打开nginx.conf文件,在fastcgi_temp_file_write_size 128k; 下面添加

fastcgi_intercept_errors on;注意,包括;号

然后在需要定义的站点的里面添加

error_page 404 = /404.htm;
例如:
代码如下:

server
{
listen 80;
server_name www.deepvps.com;
index index.html index.htm index.php;
error_page 404 = /404.htm;
include location.conf;
root /home/www/logs;
}

记得404页面放在站点的跟目录下…

测试配置
/usr/local/nginx/sbin/nginx -t

没错误就重启nginx
/etc/init.d/nginx restart

BTW,其他页面也是这样定义

error_page 502 = /502.htm;

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3