我正在使用:Ubuntu 23 / WT(webtoolkit witty)上的 apache2 2.4。
我正在尝试将 WT 与 fcgid 一起使用。我的 hello.conf 文件是:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName hello
ServerAlias www.hello
DocumentRoot /var/www/localhost/htdocs/wt-examples/hello
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/localhost/htdocs/wt-examples/hello/>
Options +ExecCGI -Indexes +FollowSymLinks +MultiViews +SymLinksIfOwnerMatch
AllowOverride none
Require ip 127.0.0.1
</Directory>
</VirtualHost>
fcgid.conf 是:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .wt
FcgidIPCDir /var/lib/apache2/fcgid
FcgidIdleTimeout 100
FcgidMaxProcessesPerClass 1
FcgidInitialEnv WT_APP_ROOT=/var/www/localhost/htdocs/wt-examples/hello
FcgidWrapper /var/www/localhost/htdocs/wt-examples/hello .wt
</IfModule>
我使用 libwtfcgid 而不是 libwthttpd 编译了 hello.wt。对 myuser 和 web-data 使用 chown 和 chmod,权限为 755。
当我尝试连接 Apache 时,错误日志显示:“AH01276:无法提供目录 /var/www/localhost/htdocs/wt-examples/hello/:未找到匹配的 DirectoryIndex(index.html、index.cgi、index.pl、index.php、index.xhtml、index.htm),并且 Options 指令禁止服务器生成的目录索引“
如果在浏览器中使用 127.0.0.1/hello.wt,错误将变为:“(104)对端重置连接:[客户端 127.0.0.1:37754] mod_fcgid:从 FastCGI 服务器读取数据时出错。[客户端 127.0.0.1:37754] 标头之前的脚本输出结束:hello.wt“
如果我放置常规文本 index.hlm,它会显示它。
我认为问题在于 fcgid 没有处理。但现在它说“标题前的脚本输出结束:hello.wt“,FastCGI 接收到了某些内容,但是没有标头。因此,所收到的不是 hello.wt 应用程序发送的正确页面。也许我应该关注 WT 配置。
您认为问题是什么?