在 Nginx 上实现多个 VHost 的 URL 重写的最简单方法

在 Nginx 上实现多个 VHost 的 URL 重写的最简单方法

我的服务器上有很多 Vhost,我正在寻找一种方法来轻松配置 Url 重写,而无需打开 Putty、通过 SSH 连接并使用 vim 进行编辑。

是否可以将重写规则放在我的 www 文件夹中的文件中,并每 5-10 分钟重新加载一次 Nginx conf?

我不想要类似 htaccess 的行为。只想将所有重写规则放在我的项目文件夹中(用于 SVN)。

提前致谢(抱歉我的英语不好)!

答案1

Nginx 配置文件有一个include指令,因此您可以在重写规则当前所在的配置文件中执行如下操作:

include /srv/http/path/to/somefile.nginx;

接下来以 root 身份配置一个 cronjob 来执行 /etc/init.d/nginx 重新加载 - 或者以任何方式让您的 init 脚本重新加载 nginx 配置 - 每 15 分钟或每小时左右一次。

如果您对将配置文件放到应在的位置的唯一不满在于必须使用 vim 来编辑它们,那么您也可以使用 Linux 上的 sshfs 或 Windows 上的 winscp 通过 SFTP 或 SCP 登录,然后使用您最喜欢的 GUI 编辑器编辑 /etc 中的配置文件。

答案2

您可以使用include将另一个文件作为配置的一部分,这意味着您可以将所有 vhosts 配置放入其中。当然,您可以指定文件的路径,这意味着它可以存储在系统上的任何位置。

相关内容