So you see this URL: vnoid.de/~user/stuffs vnoid.de is shared by multiple users. What I do is: In case you wonder how it works on the server side: File System ----------- /srv/userhome/ symlink ------------- ------------------- ├── user1 -> /home/user1/www ├── user2 -> /home/user2/www ├── user3 -> /home/user3/www └── user4 -> /home/user4/www Nginx ---------- server { server_name vnoid.de; location ~ ^/~(.+?)(/.*)?$ { alias /srv/userhome/$1/$2; index index.html index.htm; autoindex off; } // SNIP } The regex says: a url staring with vnoid.de/~xyz (note the tilde) will use /srv/userhome/xyz as document root. For convience, the webroot is symlinked to /home/user/www To synchronize the files: rsync -e "ssh -q" -avh -og --chown=shrik3:http \ --update --delete-after \ path_to_my_blog_local/ shrik3@vnoid.de:~/www/