如何在没有apache的情况下运行我的perl CGI脚本?

Ego*_*rov 5 perl cgi

如何在没有apache的情况下运行我的perl CGI脚本?这是出于测试目的,因此某种只处理一个请求的单进程服务器对我来说应该足够了.

hob*_*bbs 5

Plack :: App :: WrapCGIPlack :: App :: CGIBin代表了一种方法(与plackup默认的单线程Plack HTTP服务器一起),但它并没有在他们真正期望在其中运行的上下文中运行CGI (一个独立的过程)所以它并不完全漂亮(同样的警告适用于使用modperl注册表,或多或少).我不知道一个纯粹的perl网络服务器,它实际上将CGI作为CGI进行分支和运行(也不是一个非执行CGI并且需要零配置的服务器,尽管lighttpd很接近).

"你使用CGI.pm"的原因是一个相关的问题是因为如果你还没有启动应用程序,你可能会考虑写几乎任何其他东西,例如

(以随机顺序隐藏我明显的偏袒)并获得能够轻松运行相同的应用程序作为独立的HTTP服务器,FastCGI,mod_perl应用程序,或普通CGI如果推进推,并没有你写的阻抗不匹配到CGI.pm的界面


Sin*_*nür 1

脚本应以特定用户身份运行,目前我不想suexec在测试时进行设置apache

除了要httpd运行的用户、要绑定的接口/端口以及可能的cgi-bin目录并运行单独的副本httpd(使用-f选项)之外,没有什么可以阻止您复制必要的 Apache 配置。这将是在应用程序应该运行的环境中测试应用程序的最安全的方法。

请参阅启动 Apache

可以使用-f命令行选项在运行时指定其位置,如下所示

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf
Run Code Online (Sandbox Code Playgroud)