我在 Web 服务器实例前使用 nginx 作为负载平衡器。我运行了 4 个 Web 服务器实例,并使用 nginx 在它们之间平均分配流量。当我部署新版本时 - 我更改了 nginx.conf 并将 4 个服务器中的前 2 个标记为关闭,然后重新启动 nginx。我更新了服务器代码并重新启动了前 2 个服务器。然后我编辑 nginx.conf 以指示前 2 个服务器已启动并将其他 2 个服务器标记为关闭,再次重新启动 nginx。然后我更新并重新启动其他两个实例。再次更新 nginx.conf 标记所有服务器并最终重启 nginx。
我必须在某些日子多次执行此过程。每次都手动执行上述步骤很容易出错。
是否有对 nginx/nginx.conf 的编程访问,以便我可以自动执行此过程?
[我现在想到的唯一方法是在shell脚本中编写上述步骤]
在处理 Google OpenID SSL 响应时,我在 Tornado 网络服务器中遇到了 gnutls 特定的错误。我从 Tornado 邮件列表中得到的建议之一是尝试使用 OpenSSL 后端而不是 gnutls。但它在 Ubuntu 服务器(11.10)上似乎并不简单。
在 Ubuntu 服务器上,gnutls由libcurl3-gnutls包提供,openssl curl 支持由libcurl4-openssl-dev包提供。(我不知道为什么后者被命名为4and dev,但我在 apt-cache 搜索中找不到任何其他 openssl+curl 包)。
我libcurl3-gnutls默认安装了,但没有安装libcurl4-openssl-dev。所以我安装了后者并重新启动了 Torando 实例。但这似乎不起作用。我仍然遇到相同的 gnutls 错误。
我在 curl 邮件列表上找到了关于支持 libcurl 不同 SSL 后端的问题的旧讨论,但没有找到今天是如何完成的。到目前为止,我的猜测是 openssl 内置于 libcurl 中,而 gnutls 是通过单独的包提供的(这将解释为什么没有 libcurl3-openssl)。但是我如何让 libcurl 选择 openssl 后端而不是 gnutls?libcurl/pycurl API 中是否有一些选项可以做到这一点?
我尝试卸载libcurl3-gnutls,但 apt-get 提示它也将随之删除python-pycurl。所以那不行。