服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

IIS 7.5 – 禁用在web.config更新时不遵守重叠的回收属性

我有一个网站,对某些资源拥有排他性的locking。 我使用.NET Application_Start和Application_End事件在适当的时间获取和释放这些资源上的locking。 为了正常工作,我的应用程序在任何时候都只能运行一个实例。 为了解决这个问题,我将Application Pool上的Disable Overlapped Recycle属性设置为True 。 该属性应该确保旧工作进程在新应用程序池被回收时启动之前完全closures。 只要通过IIS手动回收应用程序池,根据任何特定的时间/时间间隔规则自动根据到达的空闲超时的结果或自动进行自动回收,此工作正常。 但是,当网站的web.config更新时,此规则未得到应用 – 新的工作进程在旧的进程closures之前启动。 这会导致不好的事情发生。 我有Disable Recycling for Configuration Changes属性设置为False因为我希望应用程序池回收时更新web.config – 这经常发生在开发过程中。 这是预期的东西,还是在IIS中的错误? 是我唯一的select设置,以便更改web.config不回收应用程序池? 我宁愿不这样做,因为我非常确定这会让人们更改configuration,然后忘记回收应用程序池而引起许多麻烦。 更新: 更清楚的是,在旧工作进程closures之前调用新工作进程start事件时,旧工作进程end事件永远不会被调用 – 它不会发生乱序,根本就不会发生。

Amazon ECS(Docker):将容器绑定到特定的IP地址

我正在玩Amazon ECS(重新包装Docker),我发现ECS似乎没有提供一个Dockerfunction。 也就是说,我想在一个实例中运行多个容器,并且请求进入IP地址1映射到容器1,并且请求到达IP地址2映射到容器2等。 在Docker中,通过以下方式将容器绑定到特定的IP地址: docker run -p myHostIPAddr:80:8080 imageName command 但是,在Amazon ECS中,似乎没有办法做到这一点。 我已经设置了一个具有多个弹性IP地址的EC2实例。 将容器configuration为任务定义的一部分时,可以将主机端口映射到容器端口。 但是,与Docker不同,ECS不提供将主机IP地址指定为映射的一部分的方法。 额外的麻烦是,我想从容器N出站请求有容器N的外部IP地址。 有没有办法做到以上所有? 我已经浏览了AWS CLI文档以及AWS SDK for Java。 我可以看到CLI可以返回一个包含如下元素的networkBindings数组: { "bindIP": "0.0.0.0", "containerPort": 8021, "hostPort": 8021 }, 而Java SDK有一个名为NetworkBinding的类表示相同的信息。 但是,此信息似乎是仅输出,以响应请求。 我找不到向ECS提供这个绑定信息的方法。 我想这样做的原因是我想为不同的选区设置完全不同的虚拟机,使用不同的容器可能在同一个EC2实例上。 每个虚拟机都有自己的Web服务器(包括不同的SSL证书),以及自己的FTP和SSH服务。 谢谢。