ngnix and fastcgi and cicstg 开发环境搭建

一个搭建HTTP Server的项目需求,虽然方案没有最终确定,使用Ngnix做代理转发,后端使用使用开发语言无关的CGI应用进行业务逻辑处理,初步技术是可行的。但使用C语言开发WebServer 应用或许真不是什么好主意,那这样想啊,我们还用CICS这么古老的东西呢?–这里又忍不住想吐槽cics了..这个架构中的毒瘤!…. 进入正题吧,首先安装ngnix,ngnix的强大就不用叨叨了,安装也相当顺利。 下载安装PCRE # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz # ./configure;make;make install; 下载安装nginx->[这里] # wget http://nginx.org/download/nginx-1.10.2.tar.gz # ./configure;make;make install; 这样就可以启动nginx,默认安装在了/usr/local/nginx目录下. 下载安装spawn-fcgi,可以从Github Lighthtpd项目中下载,也可以直接从lighttpd.net这里下载。同样可以编译出Spawn-fcgi这个可执行程序。ngnix是支持FastCgi的,但是没有这个CGI管理程序。 接下来就可以写CGI程序了,可以使用一些现成开源库,当然也可以自己写。 安装CICS TRANSACTION GATEWAY,!!!NOTE!!![这玩意基本上支持32系统,安装时也会各种水土不服的,你可能需要32位的jre..]安装开发中可能需要32位支持,比如: libXp.i686 glibc-devel.i686 –慢慢享受其中的酸爽吧%$%$%. 顺利的话应该可以写代码测试一下了。以下代码片段是接受从浏览器提交的表单然后提交CTG请求,编写代码编译。 while (FCGI_Accept() >= 0) { memset(sBufIn,0,sizeof(sBufIn)); FCGI_fread(sBufIn, sizeof(char), sizeof(sBufIn), FCGI_stdin); if(strlen(sBufIn)==0) { memcpy(sBufIn,sParmas,strlen(sParmas)); } memset(&tHttpIn,0x00,sizeof(HttpReqT)); rc=InitHttpIn(&tHttpIn,sBufIn); resultSize= URLDecode(tHttpIn.MsgIn, tHttpIn.MsgIn, sizeof(tHttpIn.MsgIn)); rc=CallCtgSvr(&tHttpIn); […]

Continue Reading