【站壳网源码】【翻牌机源码】【cas源码分析】lighttpd 源码

时间:2024-11-28 17:20:22 编辑:ch372源码 来源:flyme源码大小

1.为何Linux环境不能双击安装软件?
2.如何让lighttpd的spawn-fcgi自启动

lighttpd 源码

为何Linux环境不能双击安装软件?

       ç»¼åˆæ¥çœ‹ï¼Œå¹¿å¤§cber尤其是喜欢评论的cber对Linux理解的还比较少,而且很多都是跟Windows做比较(当然这里我承认高手也大有人在),所以我想在这里有必要说一下为什么Linux到现在也不能做到双击安装软件。首先要说一下,很多Linux的发行版例如Ubuntu或者CentOS、Fedora等,已经早就可以双击安装自己发行版的安装包了,例如deb、rpm等。其实,Linux下跟Windows的软件发布有一个最大的不同就是Linux下大部分软件都是开源的,只提供源码下载,不提供编译好的二进制下载。所以,上面的三个命令实际上是编译一个软件,然后拷贝到系统对应目录,准确来说不是安装。主要还是跨平台和定制化的考虑。我们知道Linux发行版众多,Linux支持的平台也很多,从使用最多的x到arm,源码站壳网源码solaris等,所以这个。/configure脚本可以支持很多编译参数,从而让软件支持几乎所有的硬件平台。另外稍微学过软件工程的都知道,软件开发都是模块化的,通过。/configure命令加上合理参数,可以不编译不需要的模块,比如最常用的php,自带几十个模块,通常我们需要哪个编译哪个好了。有人可能说Windows安装软件也能选择性安装,我可以不安装我不需要的模块。其实,Windows就算你不安装你选择的模块,那也只是这个模块不安装。而主程序的模块访问是编译好的,他只不过能自动判断这个模块不存在就不加载罢了。另外,Linux很多模块是通用的,这就是依赖关系,举例来说要用php的iconv功能,就需要系统安装libiconv库,而不同的电脑的libiconv库安装路径不同,所以需要通过。/configure的参数指定你电脑的libiconv安装路径是多少,php才能顺利编译通过。Windows则是必须在C:WindowsSystem下,可定制化太差了。因为有些时候,我们只需要一个软件包里面的某个动态链接库,而不是整个程序。比如我们经常需要lighttpd中的spawn-fcgi,所以我们不必安装lighttpd,而是直接编译完,得到其中的spawn-fcgi即可。最后,make install就是把编译好的二进制文件和链接库、配置文件等复制到系统的各个目录即可,安装完成。

如何让lighttpd的spawn-fcgi自启动

       ä¿®æ”¹ç¼–译spawn-fcgi因为用spawn-fcgi 启动后不能哟 -u root 启动FastCGI进程。所以修改了源代码:下载代码[plain]wget download/spawn-fcgi/releases-1.6.x/spawn-fcgi-1.6.3.tar.gz 解压后进入目录,在文件src/spawn-fcgi.c中注释掉一段代码:[plain]/* if (my_uid == 0) { fprintf(stderr, spawn-fcgi: I will not set uid to 0/n); return -1; } */ 类似的还有两处要注释。运行./configure然后编译makemake installmake install 不大灵光,手动拷贝吧。现在再试试看,搞定了。