webserver - 无需重启 G-WAN 即可更改站点配置

标签 webserver g-wan

我正在考虑托管一些小型静态网站,并且一直在寻找一些替代方案,包括 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 脚本或handlerservlet 运行 来停止子进程exit(0) 不需要专门的命令。

请注意,当您使用 kill 时,您可以从 gwan 目录中选择 pid 文件:

  • parent 进程以大写字母开头:Gwan_xxxx.pid
  • child 进程以小写字母开头:gwan_xxxx.pid

这将使您的生活更轻松。

关于webserver - 无需重启 G-WAN 即可更改站点配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095801/

相关文章:

c# - HttpListener不在主机外部监听吗?

linux - Centos Apache Web 应用程序响应缓慢

linux - 如何在 nginx.conf 中将 GitLab 配置为子域

elf - 一个不需要任何库,甚至 libc 的可执行文件?

java - Java 中面向互联网的 Web 服务器的安全选择是什么?

c - G-WAN handler重写方案

java - 如何使用 JAVA servlet 获取 POST 请求以与 GWAN 配合使用

webserver - 有人有 G-WAN Web 服务器的第一手经验吗?

java - gwan 不重新编译 java 文件

python - 在 Django 项目中使用 Twisted 进行异步调用