Sas*_*hin 9 c++ apache fastcgi
我用c ++编写了一个程序并用gcc编译它(就像fastcgi.com中的示例一样),但我不知道如何在localhost上运行它.
我搜索的每个地方,我发现mod_fcgi的php配置不适用于c ++.
是否有任何机构配置apache和mod_fcgi来运行c ++ Web应用程序???
mod_fcgi?我发现只有mod_fastcgi和mod_fcgid.Apache配置看起来非常简单.让我们编译FastCGI示例并创建一个简约的Apache实例来提供它:
安装libfcgi-dev
在某处创建临时目录并从https://opensource.apple.com/source/FastCGI/FastCGI-4/fcgi/doc/fcgi-devel-kit.htm#S3.1编译示例
当你只是运行它,它已经有一些输出:
$ ./tiny-cgi
Content-type: text/html
<title>FastCGI Hello!</title><h1>FastCGI Hello!</h1>Request number 1 running on host <i>(null)</i>
Run Code Online (Sandbox Code Playgroud)安装apache2和libapache2-mod-fcgid; 创建配置文件apache.conf:
User www-data
Listen 8080
PidFile apache.pid
DocumentRoot .
LoadModule fcgid_module /usr/lib/apache2/modules/mod_fcgid.so
SetHandler fcgid-script
Options +ExecCGI
ErrorLog error.log
Run Code Online (Sandbox Code Playgroud)
用户www-data很重要,因为它可以访问/var/lib/apache2/fcgid/sock/,这对于fcgid非常重要(我在Debian上运行,也许在其他地方会有所不同).将DocumentRoot与其余目录放在同一目录中并不是很好,但这只是一个简单的例子.
跑 sudo /usr/sbin/apache2 -d . -f apache.conf -X
这-X是针对调试模式,当服务器没有守护进程(不分离)时,这对于这种播放非常方便.
转到http://localhost:8080/tiny-cgi,您将看到FastCGI程序的输出.如果没有,请参阅error.log.
停止Apache,安装libapache2-mod-fastcgi,将配置中的两行替换为:
LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
SetHandler fastcgi-script
Run Code Online (Sandbox Code Playgroud)http://localhost:8080/tiny-cgi再次访问.
| 归档时间: |
|
| 查看次数: |
11755 次 |
| 最近记录: |