windows下使用lighttpd+php(fastcgi)+mysql

一.windows下编译配置运行lighttpd

1、下载并安装cygwin。 

2、下载lighttpd源代码并解压
3、在cygwin环境下进入lighttpd的解压目录后,执行: 
1> ./configure –prefix=C:/lighthttd
2> make 

3> make install

OK,此时在C:/lighthttd中得到的就是编译好的程序,但是不能直接运行,需要从cygwin安装目录拷贝一些依赖库:

cyggcc_s-1.dll

cygpcre-0.dll

cygwin1.dll

cyglightcomp.dll

如还有其它的自己根据提示添加,找不到文件的直接搜索。

4.lighttp配置


#lighttpd安装目录,切记一定是一个绝对路径,不然fastcgi执行会失败

var.root = "c:\lighttp"

#下面需要启用mod_fastcgi,把前面的"#"号去掉
server.modules              = (
#                               "mod_rewrite",
#                               "mod_redirect",
#                               "mod_alias",
                                  "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
#                               "mod_auth",
#                               "mod_status",
#                               "mod_setenv",
                                 "mod_fastcgi",
#                               "mod_proxy",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                 "mod_accesslog" )

server.tag                  = "lighttpd/1.x"

#服务器端口号
server.port                 = 8080
server.document-root        = var.root + "\website"
server.errorlog             = var.root + "\logs\error.log"
accesslog.filename          = var.root + "\logs\access.log"

#加默认主页
index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm" )

mimetype.assign             = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv",
  ".bz2"          =>      "application/x-bzip",
  ".tbz"          =>      "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>      "application/x-bzip-compressed-tar"
 )

mimetype.use-xattr         = "enable"

url.access-deny            = ( "~", ".inc" )

$HTTP["url"] =~ "\.pdf$" {
  server.range-requests = "disable"
}

static-file.exclude-extensions = ( ".php" )

#设置fast-cgi的执行服务器,按照以下的方式设置,下面的端口号,对应php-cgi的启动端口号,可以根据需要修改
fastcgi.server             = ( ".php" => ( "localhost" => ( "host" => "127.0.0.1", "port" => 1919 )))


上述配置完成后,保存成lighttpd.conf,放在lighttpd根目录即可。(名字路径你可以随便改)

命令行运行:

lighttpd.exe -D -m lib -f "c:\lighttpd\lighttpd.conf"

有更多需求直接看它的命令行帮助,我不介绍了


二.php安装配置运行

如果安装的话,请选择“其它cgi”,非安装版的话有php-cgi.exe就可以了。


修改配置中的:

cgi.fix_pathinfo = 1

命令行运行:

php-cgi .exe -b 127.0.0.1:1919 -c "php.ini"

1919对应lighttpd中的设置


三.mysql不作介绍,下载安装即可


好了,大功告成,新建php文件测试吧。需要提醒的是,php-cgi程序在执行一定次数的php脚本后会自动退出,所以自己写一个维护程序或者去找一个第三方的监视管理程序。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
交叉编译 lighttpdphp_fpm 需要进行以下步骤: 1. 安装交叉编译工具链:根据目标平台选择合适的交叉编译工具链,例如 arm-linux-gnueabi-gcc 或者 aarch64-linux-gnu-gcc 等,并将其添加到 PATH 环境变量中。 2. 下载 lighttpdphp 源码:从官网下载 lighttpdphp 的源码包,例如 lighttpd-1.4.54.tar.gz 和 php-7.4.16.tar.gz。 3. 解压源码包:使用 tar 命令解压源码包,例如: ``` tar zxvf lighttpd-1.4.54.tar.gz tar zxvf php-7.4.16.tar.gz ``` 4. 进入 lighttpd 源码目录:进入解压后的 lighttpd 源码目录,例如: ``` cd lighttpd-1.4.54 ``` 5. 配置编译选项:使用交叉编译工具链配置编译选项,例如: ``` ./configure --host=arm-linux-gnueabi ``` 6. 编译 lighttpd使用 make 命令编译 lighttpd,例如: ``` make ``` 7. 进入 php 源码目录:返回上级目录,进入解压后的 php 源码目录,例如: ``` cd ../php-7.4.16 ``` 8. 配置编译选项:使用交叉编译工具链配置编译选项,例如: ``` ./configure --host=arm-linux-gnueabi --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --disable-short-tags --disable-phpdbg ``` 其中,--with-pdo-mysql 和 --with-mysqli 用于支持 MySQL 数据库,--with-openssl 用于支持 SSL/TLS 加密,--enable-fpm 和 --with-fpm-user、--with-fpm-group 用于编译 php_fpm。 9. 编译 php_fpm:使用 make 命令编译 php_fpm,例如: ``` make ``` 10. 将编译完成的 lighttpdphp_fpm 拷贝到目标平台上。 以上就是交叉编译 lighttpdphp_fpm 的步骤,需要注意的是,编译选项需要根据实际情况进行调整,例如根据目标平台选择合适的交叉编译工具链、选择需要支持的模块等。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值