所属分类为 'web'
16
Aug
Aug 16th, 2010
Linux, web
helight
最近因为一个业务需要,需要安装apache+fastcgi的支持,本来可以直接让运维人员给我配置好的,但是想想,这东西还是自己配的好,方便以后调试啊!这里粗浅的学习了一下,做了一个安装记录,分享一下!
1、Apache的安装
先安装apache并且调试没问题
这里安装的是httpd-2.2.9.tar.gz,在编译安装的时候使用下面的configure参数:
./configure –prefix=/usr/local/apache2 –enable-so –with-mpm=worker
–enable-so :是让apache可以动态加载模块以扩张功能
-with-mpm=worker :支持混合的多线程多进程的多路处理模块
(除了worker还有一种prefork.c,perfork一个非线程型的、预派生的MPM)
然后编译安装:
make && make install
安装完成之后可以测试服务器的运行和对cgi的支持情况。
确认没有问题后,进行下面的安装操作。
2、fastcgi的apache支持安装
从http://www.fastcgi.com/下载mod_fastcgi-2.4.0.tar.gz和fcgi-2.4.0.tar.gz
先给apache安装fastcgi的模块支持。
# tar zxf mod_fastcgi-2.4.0.tar.gz
# cd mod_fastcgi-2.4.0
# cp Makefile.AP2 Makefile
# make
# make install
安装完成之后修改一下apache的配置文件http.conf,添加下面一些内容:
LoadModule fastcgi_module modules/mod_fastcgi.so
ScriptAlias /fcgi-bin/ ”/data/wwwroot/fcgi-bin/”
#fastcgi
<Directory ”/data/wwwroot/fcgi-bin”>
AllowOverride None
Options +ExecCGI -Includes
AddHandler fastcgi-script .fcg .fcgi
Order allow,deny
Allow from all
</Directory>
这里修改了apache的主目录的。
然后启动/usr/local/apache2/bin/apachectl restart,确认模块加载没有问题。
3.安装fastcgi开发库
# tar zxf fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure
# make
# make install
之后将目录下的examples目录中的例子程序拷贝到apache配置文件指定的fastcgi运行目录进行测试。Fastcgi运行目录需要777的权限或是nobody的用户读写执行权限。
到此,apache就完全可以支持cgi和fastcgi了。
[查看更多 →]
标签:apache·cgi·fastcgi
20
Jul
Jul 20th, 2010
web
helight
最近在自己做的一个系统中需要图标显示一些信息,在查看学习了前面一些同事的程序后发现了svg这种图像格式比较适合,所以深入学习了一下,现在这里发一个demo程序。
Svg介绍
SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG由W3C制定,是一个开放标准。 SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。
Svg的图片可以很好的嵌入到html的文件中,并且可以结合js脚本,创建动态的图形,在数据图表显示上非常有优势。
测试程序:
#include <stdio.h>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main()
{
stringstream svgdata;
string svgpic=””;
char *svgname = ”svgpic.svg”;
svgdata << ”<svg xmlns=\”http://www.w3.org/2000/svg\” xmlns:xlink=\”http://www.w3.org/1999/xlink\” version=\”1.1\”>\n”;
svgdata << ”<a>\n“;
svgdata << ”<rect x=\”20\” y=\”2\” width=\”500\” height=\”100\” rx=\”2\” ry=\”2\” style=\”fill:lightgrey\” id=\”helightxu\”/>\n”;
svgdata << ”<text x=\”20\” y=\”80\” style=\”font-size:64pt;font-weight:bold;font-family:Verdana;fill:black;\”>Helight.Xu</text>\n”;
svgdata << ”</a>\n”;
svgdata << ”</svg>\n”;
svgpic = svgdata.str();
FILE * fp=fopen(svgname,”wb”);
if (NULL == fp) {
return false;
}
fwrite(svgpic.c_str(), svgpic.length(), 1, fp);
fclose(fp);
return 0;
}
生成svg图像代码:
<svg xmlns=”http://www.w3.org/2000/svg” xmlns:xlink=”http://www.w3.org/1999/xlink” version=”1.1″>
<a>
<rect x=”20″ y=”2″ width=”500″ height=”100″ rx=”2″ ry=”2″ style=”fill:lightgrey” id=”helightxu”/>
<text x=”20″ y=”80″ style=”font-size:64pt;font-weight:bold;font-family:Verdana;fill:black;”>Helight.Xu</text>
</a>
</svg>
图像结果显示:可使用adobe svg viewer来查看svg图片。
晕乎,图片无法上传。。。
[查看更多 →]
标签:
27
Mar
Mar 27th, 2009
Linux, news, web
helight
/*
* rss_read.c
*
* Created on: Mar 21, 2009
* Author: helight
*/
不知道是wordpress的问题还是服务器的问题,代码就是贴不上来。都晕死了,看来改天的自己写一个blog程序了。用人家的就是问题多。
具体的代码看这里吧!http://www.lupaworld.com/151392/viewspace-122531.html
[查看更多 →]
标签:
17
Feb
Feb 17th, 2009
web
helight
1.1Http协议分析
什么是HTTP协议?最简单的例子,就是你的浏览器与网页服务器之间使用的应用层协议。虽然官方文档说HTTP协议可以建立在任何可靠传输的协议之上,但是就我们所见到的,HTTP还是建立在TCP之上的。
httpd最简单的response是返回静态的HTML页面。在该设计中不只要实现对静态网页的响应,还需要实现CGI特性。
[查看更多 →]
标签: