VisualAge Smalltalk Web Connect and Nginx



我有一个在VisualAge Smalltalk中开发的web应用程序,它使用ABTWSAC(web Connect)进行CGI处理。

在Apache中,我在mime模块中简单地使用AddHandler cgi-script .exe,在Directory模块中使用Options -Indexes FollowSymLinks ExecCGI

(还有一个ISAPI处理程序可以在IIS中工作)。

你到底是怎么在nginx中做到这一点的?Nginx似乎总是希望在端口或"unix"套接字上运行服务(这在windows上显然不支持)。

所有的谷歌搜索都表明,人们认为nginx中的cgi必须是PHP。没有一个例子或解释告诉我如何具体做我想做的事情。

据我所知,Nginx没有原生CGI支持。它支持"仅"fastCGI。

在我看来,你有四个选择:

1) 从ABTWSAC(网络连接)更改为seaside。然后使用VisualAge Smalltalk的海边。我会选择这本指南

从链接复制以供以后参考:

我们的Bare Bones Nginx FastCGI配置

worker_processes 1;
events
{
worker_connections  1024;
}
http
{
include       mime.types;
default_type  application/octet-stream;
upstream seaside 
{
server localhost:9001;
server localhost:9002;
server localhost:9003;
}
server
{
root /var/www/glass/;
location /
{ 
error_page 403 404 = @seaside;
}
location @seaside
{
include fastcgi_params;
fastcgi_pass seaside;
}
}
}

2) 反向代理到海滨(再次需要从ABTWSAC(网络连接)切换),有关更多信息,请参阅此链接

3) 在同一台服务器上安装Apache或lighthttpd(不同于ngnix的端口)。您想通过nginx代理cgi-bin文件夹。我知道这有点违背了只使用nginx的目的,但它也是一个可能的解决方案,所以我在这里写它。

您可以写入您的nginx(在8888端口上运行)配置:

location /cgi-bin {
proxy_pass http://127.0.0.1:8888
}

4) 正如您已经建议的那样,运行具有本机CGI支持的web服务器,如您提到的apachelighthttpd

灰尘,

如果我没记错的话,你也可以在SST上使用WebConnect,它基本上只是一个镜像中的HTTP服务器。因此,您的Web服务器(nginx)只需要充当HTTP(反向)代理。它并不比fastCGI快,但只需要在图像启动过程中对Web Connect设置过程进行最小的更改。。。

最新更新