[英]VisualAge Smalltalk Web Connect and Nginx
我有一个在VisualAge Smalltalk中开发的Web应用程序,该应用程序使用ABTWSAC(Web连接)进行CGI处理。
在Apache中,我只是在mime模块中添加了AddHandler cgi-script .exe
,而在Directory模块中仅Options -Indexes FollowSymLinks ExecCGI
。
(在IIS中也有一个ISAPI处理程序)。
您究竟如何在Nginx中做到这一点? Nginx似乎总是希望在端口或“ unix”套接字(Windows上显然不支持)上运行服务。
所有的谷歌搜索表明,人们认为nginx中的cgi必须是PHP。 这些例子或解释都没有告诉我如何做我想做的事情。
据我所知,Nginx没有本机CGI支持。 它支持“仅” fastCGI。
在我眼中,您有四个选择:
1)从ABTWSAC(Web连接)更改为海边。 然后在VisualAge Smalltalk上使用海边。 我会和这个指南一起去
从链接复制以供以后参考:
我们的裸骨头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)反向代理到Seaside(同样需要从ABTWSAC(Web Connect)切换),有关更多信息,请参见此链接
3)在同一服务器上安装Apache或lighthttpd(与ngnix不同的端口)。 您想通过nginx代理cgi-bin文件夹。 我知道这超出了仅具有nginx的目的,但这也是可能的解决方案,因此我在这里编写。
您可以写入nginx(在8888端口上运行)配置:
location /cgi-bin {
proxy_pass http://127.0.0.1:8888
}
4)正如您已经建议的那样,运行带有本地CGI支持的Web服务器,例如您提到的apache或lighthttpd 。
尘土飞扬
如果我没记错的话,还可以在SST之上使用Web Connect,它基本上只是一个图像内HTTP服务器。 因此,您的Web服务器(nginx)仅需要充当HTTP(反向)代理。 它不比fastCGI快,但是在映像启动过程中只需要对Web Connect设置过程进行最少的更改即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.