月度归档:2018年10月
漫谈获取客户端真实IP
声明:本文是以Nginx和PHP的交互过程来说明具体问题。
以下分两个部分来探讨
客户端参数是如何传递到服务器应用程序中的
一个完整简易的Http请求Request/Response过程:
服务器接收到客户端Http请求,选择CGI script来处理请求, 通过meta-variable来传递请求数据, 将客户端请求转为一个CGI请求,执行script, 把CGI响应转为客户端响应。
继续阅读
Mac Safari调试工具介绍
浏览器调试工具当然首推chrome, 但是有些偶尔使用一下Safari(比如IPv6热点下Chrome访问不了站点),发现Safari调试页面请求真实“难用“,每次发现都不知道怎么用,捣鼓半天,特意记录下。
说明:
MacOS Version: 10.12.5
Safari Version: 10.1.1
继续阅读
密码保护:Mac下登录管理员后文件和应用程序不可访问
给Linux服务器普通账号添加root权限
一台Linux服务器M上的一个普通账号a,想获得root账号的权限。我听到的有以下两种表述:
表述一:XX管理员,请帮忙给机器M下账号a添加root权限;
表述二:XX管理员,请帮忙给机器M下账号a添加sudo权限;
继续阅读
IPv6地址转为ip2long
由php curl函数请求异常引发的思考
也算是百年一遇的一个现象,调用一个接口服务(假如:url = ‘http://i.niliu.me/xx/xx/xx’), 以下两种方式都正常返回:
0、通过浏览器地址栏发起请求。【不区分浏览器】
1、通过linux下curl命令发送请求。
curl 'http://i.niliu.me/xx/xx/xx'
但是,通过php curl函数请求返回500错误信息。(无论是单个curl请求,还是多个请求curl multi)
继续阅读
cron用法整理
看了很多资料把cron和crontab混为一谈,这里从澄清概念开始。
0、什么是cron。
在Linux环境下,周期性执行一些任务,用cron。cron由crond守护进程和一组crontab文件(配置文件)组成。
crond守护进程随系统启动,每分钟读取检查一次crontab文件,并通过fock子进程执行满足条件的指令。
# 查看cron手册 man cron # 查看crond进程 ps -ef | grep 'crond' | grep -v 'grep'
记一次对MC取数据时间不敏感Debug过程
故障描述:客户端线上页面偶现白页
Debug 过程流
0、第一反应是部分服务器挂了,很快排除。
1、CURL请求页面数据API,一直有数据。跟端上沟通,端上会有超时出现白页的情况。查接口果然超时。
2、如何处理?第一反应是如何做性能优化,而不是为什么会超时。当然,性能优化前提也是要分析超时原因,即性能瓶颈。【事后来看第一时间问为什么会超时的思维更高效】
继续阅读
Git常用命令整理一(Git stash)
这里整理的用到过git stash的场景,以下场景用过git stash就知道方便
继续阅读