[英]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.