nginx能实现这样的需求吗?

2013-02-07 12:40:24 +08:00
 lidashuang
比如用户 test , test的域名是 test.com

效果:

用户上传静态文件到 ~/test.com, 也就是
用户主目录+域名同名目录

用户更改test.com A记录 指向 我们的服务器, 就可以访问


找了这个配置

server {
listen 80;
server_name ~^(www\.)?(.+)$;
root /home/lds/tmp/$2;
}

这个配置只能做到和域名相同的目录都在/home/lds/tmp下才可以。
实际我想做到的是

test1 用户web目录在~/test1.com
test2 用户web目录在~/test2.com

另外
可不可以把所有用户主目录设置成一个目录?
3588 次点击
所在节点    NGINX
7 条回复
alexrezit
2013-02-07 12:51:50 +08:00
一般是把所有的都设置在同一个目录然后分别给不同用户不同权限吧...
LazyZhu
2013-02-07 13:15:52 +08:00
如果test1是用户的话
~/test1.com 等价于 /home/test1/test1.com
所以可以匹配后作为用户名,类似:
root /home/$2/$3;
lidashuang
2013-02-07 18:07:19 +08:00
@LazyZhu 用户名和域名不对应
LazyZhu
2013-02-07 19:58:37 +08:00
哪我不懂你文中的意思了

test1 用户web目录在~/test1.com
test2 用户web目录在~/test2.com

不就是

/home/test1/test1.com
/home/test2/test2.com

???
lidashuang
2013-02-07 20:06:06 +08:00
@LazyZhu 你是怎么得到用户名的?
LazyZhu
2013-02-07 23:12:58 +08:00
改一下server_name的匹配规则
changx
2013-02-08 17:53:39 +08:00
server_name _;
root /www/$host/html;

ln -s /home/test1 /www/test1.com

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/60025

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX