OpenBSD httpd瓶应用和uwsgi

时间:2017-04-19 15:52:51

标签: apache uwsgi bottle openbsd

我想使用本机httpd Web服务器在OpenBSD上开发和部署瓶子应用程序。根据我的发现,uWSGI将运行瓶子应用程序,httpd将代理请求。我没有关注uWSGI如何开始,也没有关注如何在OpenBSD上使用ini文件。

我可以启动httpd并提供静态内容,我的瓶子应用程序可以正常使用开发Web服务器和pythonanywhere。现在我需要使用httpd和uwsgi来运行它。如何启动uwsgi服务器?

httpd.conf
server "default" {
        listen on egress port 80

        location "/bottleapp/*" {
                fastcgi socket ":3031"
        }
}
types {
        text/css css ;
        text/html htm html ;
        text/txt txt ;
        image/gif gif ;
        image/jpeg jpg jpeg ;
        image/png png ;
        application/javascript js ;
        application/xml xml ;
}

1 个答案:

答案 0 :(得分:0)

一种方法是创建一个uwsgi rc.d文件放置在/etc/rc.d中。可能会发生以下情况:

function TInterNetFm.GetTIMESTAMP(const AHash, AData: string): string;
var
  IndyH : TIdHTTP;
  JSONToSend : TStringStream;
  Response : string;
begin
  IndyH := TIdHTTP.Create(nil);
  try
    IndyH.Request.BasicAuthentication := False;
    IndyH.Request.ContentType := 'application/json';
    IndyH.Request.CustomHeaders.Values['Authorization'] := 'YOUR_API_KEY';
    JSONToSend := TStringStream.Create(AData, TEncoding.UTF8);
    try
      Response := IndyH.Post('http://api.originstamp.org/api/' + AHash, JSONToSend);
    finally
      JSONToSend.Free;
    end;
  finally
    IndyH.Free;
  end;
  // parse Response JSON as needed...
  Result := ...;
end;

然后您可以运行:rcctl enable uwsgi

并且:rcctl设置uwsgi标志为“ --ini /path/to/uwsgi.ini”

具有uwsgi ini文件,二进制文件和pid文件的正确路径。