上次说的nginx配置fastcgi一并放出来

摘要

Nginx下配置fastcgi 

注意事项:
本文档版权属于techlife.com.cn网站,以及所有人Mr.Xu,如果转载,请移步https://techlife.com.cn/yijian.php发送申请,并请保留此版权信息。

下文所述适用于
Nginx通过fastcgi调用python, Perl和C++等写的CGI程序。PHP不在本文讨论范围内,因为PHP有PHP-FPM (FastCGI Process Manager),关于PHP-FPM的更多信息,请Google php-fpm+nginx

 一、原理
Nginx并不提供支持对外部程序的直接调用或者解析(所以缺少像apache里的mod_php这样的模块),所有的外部程序(包括PHP)必须 通过fastcgi接口来调用,在Linux下接口是socket (文件socket或者Internet socket)。所以为了调用CGI程序,我们需要一个fastcgi的wrapper,这个wrapper绑定在某个固定socket上(比如端口或者 文件socket),当nginx将CGI请求发送给这个socket的时候,wrapper接纳请求并fork一个新的线程,这个线程调用外部的程序或 者解释器处理脚本并读取返回值,而wrapper再将返回的数据(网页或者图片等)通过fastcgi将数据通过那个固定的socket传递给 nginx。示意图如下:

Mr.zhang翻墙软件,已放到软件区

首页是https://crossthewall.net/index.htm(已经被和谐了)据说已经出了0.09版本了,我包里是0.06、0.08和好不容易找到的0.09版本,大家先试试吧,官方只放出了0.06和0.08两个版本

演示 google

来自官方的介绍:

《西厢记》之张生,于普救寺偶遇佳人崔莺莺,两人因吟诗而生情。 张生因急于相见莺莺,曾于月下翻墙入园。后虽经百转曲折,有情人终成眷属。 今天之互联网,并非信手拈来俱鲜花,处处沃土皆营养。然而,不入园中,怎知园中春色如许。 这一切,取决于你迈出第一步,Cross The Wall
Ver: Mr.Zhang 0.08 for Windows (update 2010.6.24) Biz: Mr.ZhangBiz 0.06 for Windows (update 2010.8.16)

网线折腾了我两天

我的电脑一直很正常,在某一次重启后突然出现了如下故障
网络连接 一会断一会正常
找了一个CISCO老手,帮我仔细会诊了一会,非常自信的告诉我,是网卡的问题,把设备设置成全双工,设置了后,居然好了,晕,当时想,这小子还有两把刷子,后来的事就是浏览网页啥的都没啥问题,可下载东西的时候那个慢啊!!比原来的速度能差老鼻子了,一直以为是内网加了流量控制导致的,没怎么在意。

今天,这电脑又罢工了,毫无征兆的罢工了,网络连接正常,PING 本地和网关IP都通,DNS解析正常,就是看不了网页,我就晕啊,正常点的都认为这系统被干了,但我其实心理早就谋划另外一件事,就是网线!!果然换了这个糟巴网线一切貌似又正常了,就是可怜的下载还是慢,为了广大网友福音,我撇下老脸,弄了一个公网IP,换完了后还TM慢,突然想起之前改全双工的问题了,把全双工改回自动,OK了,速度瞬间到了10M/s。

我记录在这里主要是为了感谢那根网线的八辈祖宗。这根网线已经被我绞首了,愿它在天堂幸福!!

rrdtool 结贴要延期了,现在在搞一个页面访问控制系统

说说这个系统特别之处吧,这个系统的主控模块是用C语言写的,而显示的结果是nginx来呈现的,这就要求nginx必须能调用C程序,目前的测试结果是,nginx不仅支持C及C++语言,同时还能支持perl和JAVA,但必须要有fastcgi 库来支持,等项目完成后,我将会写一个如何让nginx支持fastcgi的文章。

DNS当了!!

刚才就在刚才,1台DNS服务器突然连接不上了,监控报警,赶紧去机房,发现两个同事正在搞同一机柜的机器,我把网线插了插就好了,高度怀疑是同事碰了,这说明很多故障人的因素是主要的,咱们就喊“阿门”吧!!

今天让我们说说rinetd吧

在Rob Flickenger写的linux server hacks里有过介绍,主要功能是可以把本地服务器流量传递给远程服务器,此工具可以运用在linux上以及win上。
rinetd默认的配置文件是/etc/rinetd.conf,格式很简单
源IP 源端口 目标IP 目标端口 比如
0.0.0.0 1234 1.1.1.1 22
在windows上,我们可以使用rinetd唯一的有用参数-c 来指定rinetd.conf的地址,一般来说应把rinetd.conf放在和rinetd.exe同一目录中,这样就可以用如下命令调用了
rinetd -c rinetd.conf
执行完后,DOS窗口不会退出就是成功了,你可以看看本地机器的1234启动了没有,如果启动了用putty连接看看是否可以连到1.1.1.1上?特别注意一下,用putty连接的时候IP要写127.0.0.1,否则会报错。

为了方便下载,已经将软件放到
https://techlife.com.cn/soft/里了

今天发现的一个问题

今天领导说写个脚本查查磁盘空间,因每台机器不一样,比如有的有好几块硬盘,有的就有一块,还有比如说有的是linux,有的是freebsd,有的是solaris,与其这样不如直接写个show df 的脚本好了,我是这样写的

/bin/bash

$disk = df -lh
echo $disk
结果非常糟糕,显示到一行去了,其实本意是直接按命令格式输出就可以了,其实解决相当简单,我想是因为有时候我们写多了脚本,脑子习惯复杂思考了,解决如下

/bin/bash

df -lh > 1.txt
完了!