我正在为我的 Web 应用程序设置一个新服务器(该站点将被移动,它不是用于负载平衡等),它与我现有的服务器具有不同的 IP 地址。我当前的服务器设置了反向 DNS PTR 记录,将其 IP 指向 mydomain.com。为指向 mydomain.com 的新 IP 设置反向 DNS PTR 记录是不是很糟糕?或者我应该等到我进行迁移后再设置记录?
更新:我忘了提及,mydomain.com 的 A 记录指向旧服务器的 IP 地址,而不是新服务器(如果重要的话)。
我有一个运行在乘客和 nginx 上的 ruby on rails 应用程序,有一个主网络服务器和多个应用程序服务器。我正在尝试更新我的部署过程,以最大限度地减少(或理想情况下,删除)由部署引起的任何停机时间。现在的主要障碍是乘客需要一些时间来重新启动(即重新加载应用程序),所以为了解决这个问题,我想错开重新启动,以便一次只有一个应用程序服务器重新启动。
为了在不丢失任何长时间运行的乘客进程的情况下做到这一点,我想我需要优雅地关闭应用程序服务器的 nginx 实例,这将导致它不再接受新连接而是继续处理现有连接;同样,HAProxy 将检测到应用服务器已关闭并将新请求路由到另一台服务器。
但是,假设有一个长时间运行的进程,我不确定如何检测正常关闭何时完成,以便我可以重新启动它。由于关闭是由发送信号(即kill -QUIT $( cat /var/run/nginx.pid )
)引起的,并且 kill 命令将立即返回,因此我无法组合命令(即kill ... && touch restarted
),因为touch
即使 nginx 尚未完成关闭,该命令也会立即执行。
有什么好的方法可以做到这一点吗?
Linode 建议在/etc/apache2/sites-available
(在 ubuntu 上)一个单独的文件中定义每个虚拟主机,然后使用a2ensite
. 我来自一个 VPS,我所有的虚拟主机都定义在一个httpd.conf
文件中,并试图将内容转换为推荐的格式。
我设置的其中一件事是我的主站点的通配符子域,稍后将其映射到用户空间。但是,我也有静态子域。我的印象是静态子域需要位于我的配置中的通配符之上,因此如果访问静态子域之一,apache 将使用正确的虚拟主机而不是命中通配符。
如果这是真的,如果每个站点使用一个文件,如何定义优先级?或者我是否只需要坚持一个站点文件并将所有子域与主虚拟主机放在同一个文件中?