Configure NGINX Multi-Site Virtual Hosts: VPS BIBLE




new password?
login
X

Serve Multiple Sites & Blogs with Virtual Hosts

website file structure image

Now to add sites & blogs to our powerful web server, using vhost (virtual host) files and symlinks. We’ll create a site file structure, add users with groups & permissions, tweak Nginx with FastCGI support and upload pages using SFTP.

OK, so we’ve got Nginx humming on our shiny new Linux server, within our spanky new VPS. By the end of this how-to post, we’ll have some sites resolving.

Essentially, we’re going to create a multi-site & blog document tree, on which to hang our webs. Then we’re going to use a simple copy/paste/fill-the-blanks procedure to add more sites whenever we want. In fact, if you fancy setting up your own web host co-op, by the end of this guide you’ll be able to start signing up the neighbours.

Setup Unmanaged VPS: The Ubuntu-Nginx Guide

Take your virtual private server from zero to hero

  .. from blank box to cute-as server ..  

with this easy-to-follow copy/paste guide.

22+ parts with video, here’s the index.

Video: Multiple Site Setup Process

Watch the, er, guvideo for a better idea of how to do this.


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Two notes:-

  • In this tutorial I’m using the highly original username ‘USERNAME’ and the domain examples ‘someDomain.com’ and ‘anotherDomain.com’. So swap those for your username and domain(s).
  • Also, bear in mind, for sites to resolve, you’ll need a ‘domain zone’ for each, so refer back to Add a Domain Zone to Your VPS for how to do that on your unmanaged virtual private server.

Create the Site File Structure

Let’s add the web directory, in which all your webs will reside:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

And, in there, add a standard set of four folders, per domain. I’ll add folders for 2 domains, ‘someDomain.com’ and ‘anotherDomain.com’. Add as many as you like:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Add Users, Groups & Permissions

Setup users & groups with appropriate ownership permissions:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

.. we’ve assumed SuperUser permissions, added the group webmasters with web file permissions and added the Nginx user www-data to the new group.

Edit the web directory ownership. In my case, I want user ‘USERNAME’ & group ‘webmasters’ to own that:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Looking ahead, we set the group id to ‘webmasters’ for newly-created files & folders:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

And logout of ‘root’ account (which takes you back to your user account in the CLI):-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Make Homepage(s)

Create a homepage for the first new domain:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…pasting some content within:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…CTRL-X to quit, press ‘y’ to save & hit return.

Optionally, repeat for subsequent domains.

Create the Virtual Host Files & Symlinks

What are vhosts & symlinks?

You have one of each per domain.

The symlink, or symbolic link, references the web server to the virtual host file.

The vhost file is a configuration file. It tells the web server, for example, things like where the web files live or the kind of URI structure you want.

As we did for the default settings in Nginx (better than Apache) Web Server, we’ll create a vhost file & a symlink for each domain. First the vhost:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…paste this within:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

With that, your URI will appear as http://someDomain.com. If you prefer the format http://www.someDomain.com, scrap the above and paste this instead:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Repeat that virtual host file creation, pasting the code within, for any more domains.

Now, for all domains, add the symlink:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Tweak Nginx for FastCGI Support

This will make Nginx run with PHP on reboot. Thanks to Stoyan for this solution, and to Gleb, for a handy chunk of code.

We need to install the library:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Create a file:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…and paste the configuration settings:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Now to make FastCGI start on demand. We’ll create another file:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…and paste this lot within:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

That script needs permission to initiate on reboot and some startup hooks:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Now boot it with this:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

And restart Nginx:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

…or if that doesn’t work (you didn’t follow Edit bashrc for User-Friendly Linux, plus System Updates, huh?), use…


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

Check your site in a web browser. Then, reboot Linux:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

And check again.

Adding your Sites Using SFTP

Refer to Setup FileZilla for Secure FTP (SFTP) for how to set up a popular Secure FTP client (with SSH tunnelling for data encryption.)

Within the document structure we set up above, the web files for each site sit in the ‘public’ folder. To be clear, log into an FTP client and head to your equivalent to:-


Please sign up for automatic premium content access.

Just $15/year* will save you hours, maybe days!

Alternatively, the vpsBible forum is free and you are welcome.

You guessed it. You can upload your site & blog files in there, binning the test homepages we created above.

Fine-tuning for WordPress, MU, Drupal etc

If you have in mind a specific content platform you’ve probably been thinking about it while carrying out this tutorial.

In Integrate A CMS Like WordPress, WP MU, Drupal etc there are links to the most popular content systems.

If yours isn’t listed there let me know and, unless it’s reeaally obscure, I’ll try it out with Nginx, fine-tune a configuration and tut’ up a guide.

.. Try to give some good advance notice though ‘cos I have future how-to’s spewing out all over the desk .. so there’s a nice visual.

OK, tea-time.

Looking Ahead

Some of you may want sub.domains.tld and, just in case, that’s next. Or, for those of you with specific content systems that need hooking up with Nginx, as I said above we’re on the way to that. Otherwise, there’s phpmyadmin for dbs, Google Apps for email and a clogs-clever guide to switching sites seamlessly server-to-server (super-splendid), so that’s nice.

Almost time to kiss that shared host goodbye. :P

Missed something? Here’s the series index…

Setup Unmanaged VPS: The Ubuntu-Nginx Guide

Take your virtual private server from zero to hero

with this easy-to-follow copy/paste guide.

“My local PC runs Windows” Show me for Linux

22+ parts with video, here’s the index ..

Manage Unmanaged VPS: Ubuntu-Nginx Administration

Already set it up? We’d best maintain it then.

Toggle to the ..  Ubuntu-Nginx Admin Index

Manage Unmanaged VPS: Ubuntu-Nginx Administration

Maintain your virtual private server with ..

.. cheatsheets, tutorials, tips & guides.

Head back to the ..  Ubuntu-Nginx Installation Index

Nginx Admin: In the Works ..

This lot’s marked for addition already:-

  • Setup or Edit DNS using Bind
  • Network Tools Troubleshooting Guide
  • The Comprehensive Permissions Guide
  • Configuring Nginx Rewrites
  • Custom Website Error Page
  • Setting up Cron Jobs
  • Rsync for Incremental Remote-to-Local Backup
  • Cron & Rsync for Automatic Backup
  • Cron & mysqldump for Auto DB Backup
  • Safeguard Bandwidth with Hotlink Protection
  • Block Access with Nginx’ IP Deny



Got a Question? Want to Comment?

This site has no comments system. We've got a better system!

Please use the link at the top of the post and goto this topic's forum thread:-

  • to help build community
  • for a superior knowledge base
  • to keep info in one place, not diluted between forum & comments.

For those posts ported from Guvnr.com (pre-Feb/2010), archive comments remain.

Handy info from these comments is in the process of being ported to the forum and attributed to the original author.

If you think this idea sucks, let me know.

Thank you.

  • Install/Upgrade WORDPRESS with SUBVERSION - VPS Bible #15 - GUVNR June 4th, 2009 at 9:50 am

    [...] Part 13: * Serve Multiple Sites & Blogs with Virtual Hosts [...]

  • Chris Foster June 9th, 2009 at 9:10 am

    I’m just setting up on Mosso “Cloud Server” and I’m using your guide up to the point of VPS Bible Pt 13 with no linux ability whatsoever. I had previously started working with a Fedora 10 install, but when I came across your Bible, I deleted that server and started again.

    I created backups after each stage: Ubuntu (hardened), ubuntu + mysql + php and completed up to Pt 13 :Looking ahead, we set the group id to ‘webmasters’ for newly-created files & folders:-

    But then I forgot to “Exit” from the root account and instead closed down the putty session.

    I tried to go back in with both the root and secondary account but am greeted with ‘Network error: Connection timed out’

    Apparently this may due to “due to a repeat key exchange in SSH-2″ or “due to keepalives” in which case it may come up again after an hour.

    I did try both a warm and cold boot, but to no avail..so I’ll have to wait it out at this stage.

    Would you be able to suggest a course of action to rectify if it doesn’t back up or a possible setting change to avoid again if doing the stupid crash the putty session trick? It must be quite important to exit the account session in putty, so I guess highlighting the EXIT command in the Bible may help others avoid this mistake.

    If it doesn’t come back up in a couple of hours, I’ll reinstate from the last backup and start the MySQL/PHP sections again.

    This is an awesome resource

    Cheers,

    Chris

  • the_guv June 9th, 2009 at 10:47 am

    cheers Chris – appreciate that.

    Have added an explanatory note, in case anyone decides to type ‘exit’ twice or, as you did, closes the CLI with the X button.

    Hey … it’s bad practise to use the X button to close the CLI. Use ‘exit’ or ‘logout’ instead.

    I’m not sure why you can’t get back in. Are you sure your authentication keys were working before Part 13? Possibly your VPS provider has a CLI function built into your VPS Manager/Control Panel? With Linode and Slicehost, for example, there is such a module (Linode call it ‘Lish’) meaning you can reaccess the server from a terminal, then retrace and correct any mistakes, and then regain access thereafter with your regular PuTTY CLI.

    Hope that helps.

  • Shane July 2nd, 2009 at 8:26 pm

    Add Users, Groups and Permissions:

    In the second to last step, ‘Looking ahead, we set the group id to ‘webmasters’ for newly-created files & folders:-’, if you get:

    find: missing arguement to ‘-exec’

    just add a backslash before the closing semicolon, eg:

    find /home/public_html -type d -exec chmod g+s {} \;

  • Samuel July 6th, 2009 at 5:31 pm

    Would be nice to see a new chapter of “how to setup multi-site with multi-user+disk quotes” :)

    By the way… again I found problems with a file. This time ‘php-fastcgi’ file. But I have solved it using Google and replacing only one function.

    I have realize that at do_start function some ‘\’ characters was missing, making the script to fail. I think this is the same problem I have with the bash prompt customization.

    It seems like you lost all ‘\’ characters in the code when posting.

  • the_guv July 7th, 2009 at 12:48 am

    @Shane – tx for that.
    @Samuel – my bad, but surely your typo! unless anyone else has had this problem? not reported so far …..

  • Samuel July 7th, 2009 at 12:29 pm

    @the_guv: I’m sure that is not my typo, but yours ;)

    The common for all my problems are the missed ‘\’ characters of your snippets. Maybe this is due to WordPress filtering (or plugin related if you used one to publish the snippets).

    You can do this check:

    Go to part 7 and check the snippet line for formating the CLI prompt:

    export PS1=”[e[32;1m]u[e[0m][e[32m]@h[e[36m]w [e[33m]$ [e[0m]”

    And now check that same line in the video (minute 3, 52 seconds). You’ll see that in the video that line have a lot of ‘\’ characters.

    Without ‘\’ characters that line simply is not working.

    And this is the same for many other snippets.

  • the_guv July 8th, 2009 at 12:44 am

    apologies Samuel .. was a few scripts worth of typo, as it ‘appened .. was a newly-installed plugin interfering with the syntax highlighter. sorted now. thank you for tip-off.

  • Jason July 13th, 2009 at 11:27 pm

    adding myself to webmasters made me remove myself from sudoers.

  • the_guv July 14th, 2009 at 12:46 am

    @Jason .. like i said in earlier reply/previous post .. sounds like a permissions error, just moreso. i’d retrace those steps with a fine toothcomb. any more detail, like what deviations you’ve made from the series, and maybe i or others can help more. truth is, probably quicker to start over but not stray from the path. best of luck.

  • MichaellaS July 22nd, 2009 at 12:33 am

    tks for the effort you put in here I appreciate it!

  • the_guv July 25th, 2009 at 11:29 am

    @MichaellaS .. thank you, good to hear.

  • mary-aloe August 1st, 2009 at 4:12 pm

    Thanks :)

  • trav 19 August 11th, 2009 at 12:08 am

    Hi Guv, here I am again :( Sorry for my prev. comment about “spawn-fcgi”, I really don’t know what I’m talking about for the most part (disclaimer), so only NOW I realized we didn’t do it because of this Part 13. Now I get that both have the same purpose, so I’ve deleted my spawn-fcgi to follow this above guide.

    The problem is I keep getting 502 BAD GATEWAY messages, so then I checked the file above, /etc/init.d/php-fastcgi,
    and if you look at line# 19:

    DAEMON=/usr/bin/php-cgi

    I have a file named “php5-cgi” not php-cgi, so I changed that.

    BUT THAT DIDN’T SOLVE THE PROBLEM :( Which other files should I check? What did I do wrong? I set the ownership of php-fastcgi to mine:(

  • the_guv August 23rd, 2009 at 9:26 am

    Hey Trav .. Maybe you guessed, I was on holiday!

    So what’s the deal .. you sorted that?

    // To avoid any confusion with other folks, this is a WordPress MU issue, not specific to this tutorial or the VPS Bible. At some stage I’ll be adding a tutorial about setting up MU with or without BuddyPress.

  • Blofo August 27th, 2009 at 8:07 pm

    Hey guv, Keep up the good work!

  • juanco September 2nd, 2009 at 6:49 pm

    in the guvs words .. much appreciated ;) en serio, total util

  • Bill Bartmann September 2nd, 2009 at 8:25 pm

    This site rocks!

  • Dave September 12th, 2009 at 4:48 am

    Hmm so I figured out the email thing. Now I am having this problem.

    When I get to the step to restart nginx with n2r, I get this:

    Stopping nginx: Starting nginx: 2009/09/11 22:24:27 [warn] 4637#0: the “user” directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:1
    2009/09/11 22:24:27 [emerg] 4637#0: could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

  • Dave September 12th, 2009 at 2:55 pm

    Heh, I am always hasty to post for help. I figured out that problem as well. I kept changing the server_names_hash_bucket_size in the nginx.conf in my users folder and not on the actual server.

    And for the other thing, I fixed that too but it is kind of hard to explain how I did lol.

  • Agus September 16th, 2009 at 11:04 am

    Hi Guv,

    Fastcgi keeeps failing on my site, say every few day, especially when the site gets very busy… in this situation, it will give me the 502 bad gateway page…

    What do i do now? It’s crazy to think I have to reboot or restart every couple day…

    Please help… I am really hoping I will get your help… you have been sooooooo busy lately… :)

    Thanks,
    Agus

  • the_guv September 16th, 2009 at 8:18 pm

    @Blofo, @juanco & @Bill .. kindly cheers

    @Dave .. sorry been on hols/generally lazy-like/beaching it and gorging on ravioli .. pleased you’re sorted tho.

    @Agus .. er, I see you’re up for now and I just got my daily footie fix as a result, in some ridiculous language or other :) Frustratin tho’, I’m sure. Tell me, did you follow the fastCGI stage of the tut, as is, or did you veer off a bit? any diversion at all from the Bible? cos I dunny understand what’s up there, off hand, I’m sorry to say. of course, I’m still in holiday mode and can barely even spell PHP today. if I don’t come straight back to you, you can always catch me down the pub with the third beer on the right ;) Who’s your host? Probably worth asking them too, could be something there.

  • Yendis September 18th, 2009 at 12:59 am

    Firstly thanks for this Bible Guv. I’m learning loads.

    I want to create a copy of a site I want to move to a VPS from a shared server and would like to have the copy working before I actually ‘move’.

    I’ve followed this guide (I see the nginx welcome page) and I’ve uploaded files.

    I remember with the shared server there was a ‘temporary url’ something like http://XXX.XX.XXX.XX/~account_name which you would use until the nameservers for the domain was changed.

    My guess is that I would need to do something different in this part (13) and perhaps 10 but thats just a guess.

    I’m on Linode with pretty much an identical set up as the guide. Please advise.

  • the_guv September 18th, 2009 at 6:56 am

    @Yendis .. Tx to you, real nice to hear, Sir.

    If I get you right, all you wanna do is to test an as-live setup, before flicking the switch?

    .. presuming the site’s been config’d for nginx, you’ve n2r’d, the files are uploaded, (db connected) and the dns has been setup ..

    .. and before editing nameservers at your site registrar ..

    .. just edit your hosts file, locally, to point your pc to resolve the domain to your remote/VPS’ IP.

    It’s, er, all covered in non-geeky-greek, right here ..

    Moving Day! How to Move Your Blog or Site

    Lemme know if somat missing, hope that helps tho’.

    PS Linode rocks, huh?

  • George Smith September 18th, 2009 at 11:05 am

    Hi, thanks so much for putting this guide together.

    Towards the end of the tutorial, when I run the n2r command to restart nginx, I’m seeing an error message:

    “could not open error log file: open() “/usr/local/nginx/logs/error.log” failed (13: Permission denied)
    2009/09/18 04:58:33 [warn] 2423#0: the “user” directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx/conf:1
    2009/09/18 04:58:33 [emerg] 2423#0 open() “/usr/local/nginx/logs/access.log” failed (13: Permission denied)

    Although everything before and after this seems to work normally. Should I be concerned?

  • the_guv September 18th, 2009 at 6:48 pm

    @George .. try these:-

    sudo /etc/init.d/nginx stop
    sudo /etc/init.d/nginx start
    sudo /etc/init.d/nginx restart

    Do you get errors now?

  • George Smith September 18th, 2009 at 10:25 pm

    @the_guv No, no errors at all with those. I am getting a few perculiar issues though that I wasn’t having before – for example, when attempting to open bashrc, I’m seeing:

    Error reading /home/george/.nano_history: Permission denied

    Which definitely wasn’t happening before. I don’t know whether the problems are related.

  • George Smith September 18th, 2009 at 11:00 pm

    Ah, I just found out why I was getting an error with nano. Apparently ‘sudo nano’ creates a .nano_history file in the user’s home directory which nano can’t read when called from the user account (detailed here: http://ubuntuforums.org/showthread.php?t=204307).

  • Zereshk September 19th, 2009 at 9:06 am

    Dude, your tutorials are like a breeze of fresh air, especially after wasting hours and hours with those geeky ones. Thank you sudo much!
    Just 2 wee thing:
    1) My ubuntu 9.04 des not allow aptitude so I needed to replace it with apt-get
    2) apparently libfcgi0 is obsoletes and ubuntu suggests to installed libfcgi0ldbl instead.
    All in all, you saved days of my life. Thanks again.

  • Agus September 23rd, 2009 at 3:52 am

    Hey Guv,

    I have a question. Why is it that when I add a new site, it will sometime go to my other site, like its automatically redirected there.

    Do I have to do the steps exactly as directed here every time I add a new site? I know I skipped steps like the chmod, add user, things I know I have already done the first time I used this tutorial.

    I am now trying to install magento with nginx… any experience? :)

    also Guv, in your opinion, if I were to build a complete soccer site (like soccernet.com), would it be wise to continue with Drupal (i like it, and i know developers like it too…), or build from scratch?

    Thank you Mr. Governor…

  • the_guv September 23rd, 2009 at 9:55 am

    @George .. OK, pleased that’s sorted. BTW, I was getting those nano errors too! That post sorted me as well, thank you.

    Re. your earlier problem, do you still get that? I am guessing that’s something to do with your bashrc n2r alias .. maybe the command could be changed .. you got what I advise above, to the letter? Er, I’m fishing .. I’ve had this error before too, but can’t remember exactly why off-hand.

    @Zereshk .. m8, that is just such a top ting to hear.

    if for some reason your ubuntu version doesn’t have aptitude installed, i would strongly advise you to install it, basically because aptitude is a far superior installer to any other.

    sudo apt-get install aptitude

    .. will install it and, thereafter, very rarely would you use apt-get if at all. (basically because aptitude remembers your installation history so when you remove stuff it’s more efficient with the task .. er, I’ve written about it but it’s buried in a long post so I’ll knock out a specific one about this, it’s worth it.)

    “apparently libfcgi0 is obsoletes and ubuntu suggests to installed libfcgi0ldbl instead.”

    .. really? I installed Nginx t’other day without noticing this issue, but very possible indeed so thank you .. likely others will be grateful for that clarification.

    @Agus .. to add further sites, read this ..

    Add Web Sites Nginx Cheatsheet

    Magento .. no experience but I reckon that looks very simple to set up.

    .. but hey, you let me know please.

    Drupal .. yeah, well, it’s popular. So’s McDonalds. (I’m being a bit unfair.) You ever looked at MODx?

    .. MODx knocks any other cms system into a cocked hat. Basically, it allows you to take your clients’ functionality wishlist and his grafix’ layered .psd and not compromise with anything. Drupal is easier to get to grips with, sure.

    Thank you Mr Agus :)

  • the_guv September 24th, 2009 at 1:57 pm

    IMPORTANT NGINX UPGRADE ANNOUNCEMENT

    @Zereshk .. er, in a fit of memory today I realised why you had had that obsolete file error ..

    @everyone ..

    .. it was because bozo-here upgraded the Bible last week to reflect the latest Nginx stable release and then forgot to mention that it had this newly-required fastCGI shared library file, libfcgi0ldbl, replacing the outdated library libfcgi0.

    Apologies all, I promise, I have tested the entire procedure with the Nginx’s latest greatest stable release and all works well, so I’ve updated the instructions above to allow for the new library.

    This error won’t occur now.

    Future note: As Nginx or other key application stable releases are upgraded, I’ll be amending the Bible accordingly, the changes tested each time. Also, for the record, and as has been rightly requested by one or two folks, I’ll be adding a How to Upgrade Nginx Safely guide in the VPS Admin section, pretty shortly, so watch for that.

    Right .. back to work .. onwards and upwards, all that.

    (@Zereshk .. tx for the tip, Sir.)

  • Nginx Error & Access Logs - VPS ADMIN #9 - GUVNR November 30th, 2009 at 9:09 pm

    [...] who followed Serve Multiple Sites & Blogs with Virtual Hosts mapped out the location of the logs in each site or blogs virtual host file or, if you bundled each [...]

  • Dimitris December 1st, 2009 at 1:43 am

    addgroup webmasters

    -bash: addgroup: command not found on centos :(

  • the_guv December 7th, 2009 at 9:58 am

    @Dimitris .. sure, this guide is for Debian Linux, using Ubuntu 8.04 LTS (Long Term Support)

  • Omid December 31st, 2009 at 10:12 pm

    Hi, first off, thanks for the excellent tutorials. I faithfully followed the steps for nginx/0.7.64 and could get to the Damn, Guvnr ;) point. but when I upload a real site to the default site, I get 502 bad Gateway error. Your help is much appreciated.

  • ADD Nginx Sub-Domains (or WordPress Blogs): VPS BIBLE - vpsBible April 23rd, 2010 at 5:46 pm

    [...] is very similar to adding a domain, which is detailed here and cheat-sheeted here, but not quite the same, so I’ve cranked out this lil’ [...]