繁体   English   中英

VisualAge Smalltalk Web Connect和Nginx

[英]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服务器,例如您提到的apachelighthttpd

尘土飞扬

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM