我正在考虑托管一些小型静态网站,并且一直在寻找一些替代方案,包括 G-WAN。目前,我只是想在选择服务器之前了解每台服务器是否适合我的需求。
G-WAN 似乎完全符合我的要求,尽管我在服务器启动后更新配置(通过添加新文件夹)时遇到了问题。我在文档或网上找不到任何关于此的内容,所以我不知道我是否在做任何愚蠢的事情,运行不受支持的配置,或者它是否是 G-WAN 中不存在的功能。
这是我的设置:
Ubuntu 12.04.1 LTS 上的 G-WAN 3.3.28 64 位。
我有我认为所需的最小文件夹结构:
0.0.0.0_80
#0.0.0.0
www
$site.com
www
$othersite.com
www
我通过以下方式启动 gwan(我还在胡闹,希望如此):
sudo .\gwan -d
一切都很顺利。我添加了 $thirdsite.com/、$thirdsite.com/www/和 $thirdsite.com/www/index.html;然后当我尝试访问 thirdsite.com 时,它给了我根主机(即它似乎没有接受更改)。
要重新加载修改后的配置,我必须这样做:
sudo .\gwan -k; sudo .\gwan -d
或杀死非天使进程(kill -s 15)以重新启动子进程。
G-WAN 能否以其他方式重新加载主机定义?如果是这样,它是开箱即用的东西还是有一个命令可以在不丢弃对其他主机的请求的情况下循环服务器(/在非天使进程上 kill -s 15 是否安全+如果是这样,是有可靠的方法来识别过程)?提前致谢!
最佳答案
G-WAN 在启动时加载主机定义,并且随着时间的推移不检查它们以动态重新加载它们。
要强制重新加载,您必须停止子进程(在守护进程模式下),并且 v3.9+ 使旧子进程有时间处理任何待处理的请求,同时新子进程接受新连接。
因为也可以通过maintenance
脚本或handler
或servlet
运行 来停止子进程exit(0)
不需要专门的命令。
请注意,当您使用 kill
时,您可以从 gwan
目录中选择 pid
文件:
parent
进程以大写字母开头:G
wan_xxxx.pidchild
进程以小写字母开头:g
wan_xxxx.pid
这将使您的生活更轻松。
关于webserver - 无需重启 G-WAN 即可更改站点配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095801/