如何在没有apache的情况下运行我的perl CGI脚本?这是出于测试目的,因此某种只处理一个请求的单进程服务器对我来说应该足够了.
Plack :: App :: WrapCGI或Plack :: App :: CGIBin代表了一种方法(与plackup
默认的单线程Plack HTTP服务器一起),但它并没有在他们真正期望在其中运行的上下文中运行CGI (一个独立的过程)所以它并不完全漂亮(同样的警告适用于使用modperl注册表,或多或少).我不知道一个纯粹的perl网络服务器,它实际上将CGI作为CGI进行分支和运行(也不是一个非执行CGI并且需要零配置的服务器,尽管lighttpd很接近).
"你使用CGI.pm"的原因是一个相关的问题是因为如果你还没有启动应用程序,你可能会考虑写几乎任何其他东西,例如
(以随机顺序隐藏我明显的偏袒)并获得能够轻松运行相同的应用程序作为独立的HTTP服务器,FastCGI,mod_perl应用程序,或普通CGI如果推进推,并没有你写的阻抗不匹配到CGI.pm的界面
脚本应以特定用户身份运行,目前我不想
suexec
在测试时进行设置apache
。
除了要httpd
运行的用户、要绑定的接口/端口以及可能的cgi-bin
目录并运行单独的副本httpd
(使用-f
选项)之外,没有什么可以阻止您复制必要的 Apache 配置。这将是在应用程序应该运行的环境中测试应用程序的最安全的方法。
请参阅启动 Apache:
可以使用
-f
命令行选项在运行时指定其位置,如下所示Run Code Online (Sandbox Code Playgroud)/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf