如何为 Wt (Witty) C++ Web 应用程序配置 fcgid.conf?

如何为 Wt (Witty) C++ Web 应用程序配置 fcgid.conf?

我正在尝试为 Ubuntu 23 上的 apache2 2.4 配置 Wt(witty-web 工具包)的 fcgid.conf 文件。我找到了 FastCGI(不是 fcgid)的配置文件,并使用 apache2 网页将命令转换为 fcgid 命令。但剩下一个 FastCgiServer /var/www/html/hello.wt

这是我的完整代码:

  AddHandler fcgid-script .wt
  FcgidIPCDir /var/lib/apache2/fcgid
  FcgidIdleTimeout 100
  FcgidMaxProcessesPerClass 1
  FcgidInitialEnv WT_APP_ROOT=/tmp
#  FastCgiServer /var/www/html/hello.wt (I want to find the equivalence for fcgid) 
  <IfModule mod_mime.c>
    AddHandler fcgid-script .fcgi
  </IfModule>
</IfModule>

我该如何配置 witty?这方面的文档不够。

编辑:

我将 fcgid.conf 更改为:

<IfModule mod_fcgid.0c>
  AddHandler fcgid-script .wt
  FcgidIPCDir /var/lib/apache2/fcgid
  FcgidIdleTimeout 100
  FcgidMaxProcessesPerClass 1
  FcgidInitialEnv WT_APP_ROOT=/tmp

   <Directory /var/www/html>
       Options +ExecCGI
       FcgidWrapper /var/www/html .wt
       Order deny,allow
   </Directory>

  <IfModule mod_mime.c>
    AddHandler fcgid-script .fcgi
  </IfModule>
</IfModule>

并且 hello.conf 文件是:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName hello
    ServerAlias www.hello
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
   <Directory "/var/www/html">
      Options +ExecCGI +Indexes +FollowSymLinks -MultiViews +SymLinksIfOwnerMatch
      AllowOverride None
       Order deny,allow
  </Directory>
</VirtualHost>

No error but the the results is:

  [1]: https://i.stack.imgur.com/6B8Ep.png

答案1

对于fcgid.conf文件,没有与 直接等效的FastCgiServer指令FCGIFcgidWrapper因此通常使用 。

对于您的配置,您可以使用下面的示例,不要忘记替换/path/to/your/wt/application

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .wt
    FcgidIPCDir /var/lib/apache2/fcgid
    FcgidIdleTimeout 100
    FcgidMaxProcessesPerClass 1
    FcgidInitialEnv WT_APP_ROOT=/tmp

    <Directory /var/www/html>
        Options +ExecCGI
        FcgidWrapper /path/to/your/wt/application .wt
        Require all granted
    </Directory>
    
    <IfModule mod_mime.c>
        AddHandler fcgid-script .fcgi
    </IfModule>
</IfModule>

相关内容