LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2605|回复: 7

[原创+翻译]在 Arch Linux 下配置 Lighttpd + FastCGI + PHP + ASP.NET

[复制链接]
发表于 2008-1-13 21:05:29 | 显示全部楼层 |阅读模式
Archlinux 前两天已经完全配置好了。这两天准备把开发环境配置一下,我是搞 WEB 开发的,所以 WEB 服务器是必须配置的。以前Linux 下最流行的 WEB 服务器是 Apache,但是现在时代已经有所变化,Lighttpd 已经体现出了一种很强的增长趋势了。

下面我就把 Arch Linux 下面配置 Lighttpd + FastCGI + PHP 的方法写下来,虽然 Arch Linux 的官方 Wiki 上也有配置方法,但是官方的配置方法比较笼统而且是英文,对于很多不熟悉的朋友理解起来有些困难,所以我就参考 Arch Linux 官方的 Wiki文章把具体的步骤写下来,更高级的 Lighttpd 和 PHP配置大家可以参考他们各自的官方网站进行配置,我就不一一说明了,这个文章只是个敲门砖,免得很多朋友第一次配置不好而降低了学习 Linux的积极性,呵呵。
这几天我会把 ASP.NET 也部署到 Linux 下面,到时候给大家继续写一个入门参考。
安装方法很简单,直接用 pacman -S lighttpd fcgi php 就可以安装好 Lighttpd + FastCGI + PHP 了,主要是配置方法有些麻烦,下面我就一一说明配置方法。
  • 首先更改 /etc/lighttpd/lighttpd.conf 文件。
    更改服务器主目录,安装 Lighttpd 的时候会创建这个目录的
    1. server.document-root        = "/home/lighttpd/html/"
    复制代码
    让 Lighttpd 加载这三个模块。默认有很多模块,找到这三个确认前面没有 # 注释就可以
    1. server.modules              = ( "mod_access", "mod_fastcgi", "mod_accesslog" )
    复制代码
    然后配置 PHP 的 FastCGI 运行环境。
    1. fastcgi.server            = ( ".php" => ( "localhost" => ( "socket" =>"/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" )))
    复制代码

  • 然后修改 /etc/php.ini 文件,找到:
    cgi.fix_pathinfo=1 ,把前面的注释 ; 去掉就可以了
配置也很简单吧,呵呵,配置完以后在 /home/lighttpd/html/  目录下创建一个 index.php 文件[php]<?php phpinfo(); ?>[/php]
然后运行 Lighttpd 服务器:
  1. /etc/rc.d/lighttpd start
复制代码

在浏览器里面输入 http://localhost 就可以了。
-----------------------------------------------------------------------------------------------
昨天我们成功配置了 Lighttpd + FastCGI + PHP,今天我们需要让 Lighttpd 支持 ASP.NET,Linux 下要部署一个 ASP.NET 服务器,Mono 这个 .NET 在 Linux 下的实现是必不可少的。我们首先直接用 Pacman 安装 Mono,至于 Mono 的 FastCGI 支持需要从 SVN 下载回来编译安装,所以我们同时也安装一些必需的工具。
  1. pacman -S mono svn automake autoconf libtool
复制代码
然后我们随便建立一个目录,进入后运行
  1. svn co http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/ fastcgi-mono-server
复制代码
源代码下载回来后进入 fastcgi-mono-server 目录打开 configure 文件,把第2387行注释掉,然后运行
  1. ./autogen.sh --prefix=/usr && make && make install
复制代码
到这里,Mono 的 FastCGI 功能已经安装完成,剩下的就是继续配置 Lighttpd 了,打开 /etc/lighttpd/lighttpd.conf 文件,把昨天修改过的地方稍微修改一下就可以了
  1. fastcgi.server = (
  2.     ".php" => ("localhost" => ("socket" => "/tmp/php-fastcgi.socket","bin-path" => "/usr/bin/php-cgi")),
  3.     ".aspx" => ("localhost" => ("socket" => "/tmp/fastcgi-mono-server", "bin-path" => "/usr/bin/fastcgi-mono-server2", "bin-environment" => ("MONO_SHARED_DIR" => "/tmp/")))
  4. )
  5. fastcgi.map-extensions = (".asmx" => ".aspx", ".ashx" => ".aspx", ".asax" => ".aspx", ".ascx" => ".aspx", ".soap" => ".aspx", ".rem" => ".aspx", ".axd" => ".aspx", ".cs" => ".aspx", ".config" => ".aspx", ".dll" => ".aspx")
复制代码


配置好以后到 http://code.google.com/p/aspnetsysinfo/ 下载探针测试一下吧,呵呵。

原文:http://www.loveyuki.com/Article/ ... pd_FastCGI_PHP.aspx
http://www.loveyuki.com/Article/ ... d_FastCGI_Mono.aspx
发表于 2008-1-13 21:15:25 | 显示全部楼层
不错支持一下:-)继续努力……
回复 支持 反对

使用道具 举报

发表于 2008-1-13 21:23:54 | 显示全部楼层
nginx跟lighttpd这两个东西都是轻量级的,不过到底哪个效率高,Bug少呢?
有人两个都用过吗?
回复 支持 反对

使用道具 举报

发表于 2008-1-13 22:24:38 | 显示全部楼层
虽然用不到,不过支持一下。
回复 支持 反对

使用道具 举报

发表于 2008-1-14 10:42:15 | 显示全部楼层
不错。不过我只是需要lighttpd和php,好像没装fcgi包也能成功,不知道有什么影响。
另外一般情况下,为了安全起见,应该用专门的用户来启动lighttpd而不是nobody,可以参考
http://wiki.archlinux.org/index. ... oth_SSL_And_Non-SSL
里面相关设置。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-16 10:20:04 | 显示全部楼层
Post by zlowly;1806881
不错。不过我只是需要lighttpd和php,好像没装fcgi包也能成功,不知道有什么影响。
另外一般情况下,为了安全起见,应该用专门的用户来启动lighttpd而不是nobody,可以参考
http://wiki.archlinux.org/index. ... oth_SSL_And_Non-SSL
里面相关设置。

我主要讲的是 ASP.NET 的配置安装。更高级的配置大家还是参考官方的 WIKI 比较好。
回复 支持 反对

使用道具 举报

发表于 2008-1-17 12:37:14 | 显示全部楼层
如果写一个 mono 的 pkgbuild 就好了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-21 13:28:30 | 显示全部楼层
Post by wd_afei;1808179
如果写一个 mono 的 pkgbuild 就好了。

我不会写 pkgbuild 。不过我文章里面把相关的关联都写得很明白了。呵呵:Coffee:,要写出来应该也不是很难吧!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表