使用Nginx在主目录中托管文件夹


11

我想在adduser脚本中添加一个条件来更新nginx.conf,以便在我创建新用户时将其加载为http:// ipaddress /〜user的〜/ www 。

当用户名为www.domainname时,它将在〜/ www文件夹中托管该域名。

是否有已经执行此操作的脚本?


不,没有。
mailq

Answers:


24

创建用户时,您无需向nginx添加任何内容。只需在您的服务器块中使用以下代码:

location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/www$2;
    autoindex on;
}

检查您的发行版/ etc / skel

如果您mkdir / etc / skel / www,则由adduser(或您的发行版的adduser-script)创建的所有用户目录默认都将具有此目录。


现在,如果我希望用户重写一次,然后将其dns指向该服务器怎么办?
约瑟夫·勒布雷希

我不明白这个问题/问题:/
Franz Bettag 2011年

如果用户的网站托管在〜username上,则该用户可以将其更改为域名
Joseph Le Brech

您可以给用户提供自己的nginx.conf的可能性,类似于(不是100%正确,但方向在那里):if(-e /home/$1/.nginx.conf){include(/ home / $ 1 / .nginx.conf); }用户可以自己进行设置,但也可以中断服务器重启。这是一个已编译的问题。
弗朗兹·贝塔格

1
实际上是震撼的:)
Joseph Le Brech
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.