随笔分类 - nginx
摘要:需求例如图示这种http请求,我现在有两种需求:呈现图片下载图片例如这个url,nginx实现了浏览器对这个图片的呈现,实现下载功能就不能不提Content-Disposition的作用了header中的Content-Dispositioncontent-disposition是MIME协议的扩展,MIME协议指示MIME用户如何显示附加文件。当Internet Explorer接到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名。服务器向客户端浏览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt,png等,会直接在浏览器中显示,如果需要提示
阅读全文
摘要:前言今天需要替换nginx虚拟主机access log的日志格式,之前是main,加了$request_time和$upstream_response_time之后重命名为php-fpm-main,因此我需要将所有的虚拟主机文件中的main替换成php-fpm-main,手动实在是太麻烦了,这个时候sed功能就可以使用了sed批量替换首先,grep查看一下需要替换的内容grep查找sed替换sed -i "s/oldstring/newstring/g" `grep 'oldstring' -rl $dir`操作实例:
阅读全文
摘要:前言今天老师在trello上给我提了个任务,就是修改nginx的日志格式,对nginx进行监控,因此又接触了两个nginx常用参数,这里记录一下$request_time&&$upstream_response_time首先,解释一下这两个参数$request_time:nginx处理请求的时间$upstream_response_time:php-cgi的响应时间日志格式测试代码<?php
sleep(5);
echo "hello world!<br>";
?>日志作用我们可以通过代码分析日志,根据$request_time和$u
阅读全文
摘要:nginx日志格式access_log日志格式log_format main '$server_name$remote_addr$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"';
日志参数server_name : 虚拟主机的主机名称
remote_addr :
阅读全文
摘要:需求简介基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转我总结了三种方式,跟大家共享一下nginx的rewrite方法思路这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可配置server { listen 192.168.1.111:80; server_name test.com; rewrite ^(.*)$ https://$h...
阅读全文
摘要:HTTPS简介HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单来讲就是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系,用于安全的http数据传输。https使用的默认端口是443.ssl证书证书类型简介要设置安全服务器,使用公共钥创建一对公私钥对。大多数情况下,发送证书请求(包括自己的公钥),你的公司证明材料以及费用到一个证书颁发机构(CA).CA验证证书请求及
阅读全文
摘要:前言要实现nginx对指定目录的白名单访问,技术前提正则表达式应用(自己学习即可)nginx的location规则匹配,参考链接:http://blog.csdn.net/zinss26914/article/details/8182625nginx的http access模块应用,参考链接:http://blog.csdn.net/zinss26914/article/details/8185336实现重点正则表达式中()和|的使用,()代表一个原则,|代表或nginx的location匹配规则中,有一条按照文件顺序进行正则匹配(ps:可以把需要匹配的目录放置在server模块开始的位置)a
阅读全文
摘要:404页面现在是午夜1点39分,这里就是想普及一下404公益活动。当你访问的网站出了问题或者用户试图访问一个不存在的页面时,此时服务器(nginx)会返回状态码为404的错误信息,此时对应的页面就是404页面。nginx服务器默认的404内容为404 not found!404公益我认为,当碰到404错误时不应该仅仅呈现一个无关紧要的页面,正巧发现了qq搞了404公益活动,正和我益,可以帮助孩子回家。有时候一个人的技术进步固然让自己开心,但是真正的去做公益才会让人得到满足,附加一个404公益的链接:http://yibo.iyiyun.com/User/install/web404/nginx
阅读全文
摘要:前言将架构从apache+mod_php迁移到nginx+fpm上,会发现如果php脚本出错,nginx的eror_log里不会有记录,只在access_log里记录了500状态码。出现的原因:nginx将php的脚本执行通过fastcgi转到fpm上,所以出错的信息当然不会记录在nginx的error_log里了,但是对于测试环境下程序员的调试这是个悲剧啊,所以我们需要配置fpm的错误日志nginx+fastcgi+fpm配置见:http://blog.csdn.net/zinss26914/article/details/8175385php5-fpm.confphp5-fpm的错误日志是
阅读全文
摘要:find命令格式find pathname --options [-exec -print -ok ..]find命令参数pathname:find命令查找的目录路径
-print:find命令将匹配的文件输出到标准输出
-exec:find命令对匹配的文件执行该参数给出的shell命令.格式为: command {} \;
-ok:类似与exec的作用find命令选项-name:按照文件名进行查找
-perm:按文件权限来查找
-user:按文件的用户主查找
-group:按文件的用户组查找
-type:查找某一类型的文件 b -- 块设备文件 d -- 目录 ...
阅读全文
摘要:前言网上有很多用kill -URS1的方式来让nginx产生新的日志文件,也有很多人抱怨这种方式是否正确,在这里我要告诉大家,这种方式非常正确。我看了系统自带的logrotates来实现nginx的日志分割,查看其bash源码,发现也是发送USR1这个信号。这里解释一下USR1这个用户自定义信号,经过和一淘我特别崇拜的一个牛人张洋确认后,发现ubuntu下大部分进程对这个信号的反应都是重新生成日志文件,并且不会对当前的进程产生任何其它的影响思路利用bash的数组和for简化日志备份代码利用date函数做日志备份的后缀,达到按天分割的效果利用USR1信号让nginx产生新的日志bash脚本我的服
阅读全文
摘要:Nginx反向代理负载均衡架构图(三台服务器为例)Nginx负载均衡(图示:192.168.1.1:80服务器配置)192.168.1.1:80虚拟主机角色这里192.168.1.1:80虚拟主机基于nginx进行配置,这里主要的作用是webserver和负载均衡,接收客户端的请求,并且根据后端服务器的情况进行请求分发,实现负载均衡upstream模块nginx实现负载均衡模块主要利用了upstream模块,它提供了一个简单的方法将客户端的请求反向代理到后端服务器监听的虚拟主机上,实现负载均衡server指令语法:server_name [parameters]
使用环境:upstream
功
阅读全文
摘要:proxy_pass指令语法proxy_pass [url | upstream]作用该指令用于设置被代理服务器端口或套接字,以及URLproxy_redirect指令语法proxy_redirect [off | default | redirect replacement]作用该指令用于更改被代理服务器的应答Header头中的"location"和"refresh"补充:这个命令作用我还没掌握,实际设置中都是off的,各位如果有了解的,欢迎博客下留言指导我proxy_next_upstream指令语法proxy_next_upstream [erro
阅读全文
摘要:前言qq的一个运维高级群里有位同学在做nginx的location匹配的时候,竟然还无法搞清楚URL和URI的概念和联系,因此我写篇文章总结一下概念,当然大部分概念都是google摘的,说乱的说看不懂的请便不送,本身哥的博客就不是写给没基础的人看的,看不懂回去补基础吧URIWeb上的每种资源,包括html文档、图像、程序片段、甚至包括这篇我正在编写的博客,都是由一个统一资源标识符(Unifrom Resource Identifier,简称"URI")进行定位的。例如当前这篇博客的URI就是http://write.blog.csdn.net/posteditURI的组成部
阅读全文
摘要:ppa安装php-fpm安装工具包$ sudo apt-get install python-software-properties 添加ppa源$ sudo add-apt-repository ppa:yola/php5安装php5-fpmsudo apt-get update sudo apt-get install php5-fpm其它必要的软件安装接sudo apt-get install nginx配置php-fpmphp-fpm的解析器是C/S结构,它的配置文件位于:(1)/etc/php5/fpm/php-fpm.conf(2)/etc/php5/fpm...
阅读全文

浙公网安备 33010602011771号