.

CHEATSHEET Add More Domains with Nginx - VPS ADMIN #1

English   English (change)
  • Digg
  • Twitter
  • Technorati
  • del.icio.us
  • Facebook
  • MySpace
  • Reddit
  • StumbleUpon
  • LinkedIn
  • email

Maintain Unmanaged VPS - Part 1: Add Web Sites Nginx Cheatsheet

website file structure image

Create additional sites & blogs quickly & easily. After creating the DNS entries, just add a vhost file, its symlink, restart Nginx and go play.

OK. So I did this guide already, already! But as this is one of the main things people do with a VPS - adding extra domains - I figured it wouldn't hurt to provide a shortcut cheatsheet too, minus the blarney.

This tutorial presumes you have already set up a site or blog with the VPS Bible, and therefore have already enabled FastCGI and, for WordPress, the required FURL & caching scripts. If not, check out the VPS Bible index. Otherwise, just substitute "mydomain.com" for your_domain.tld throughout this how-to.

If you do want the detail, the why's, the where's, the wherefore's, then you can check out the detailed tutorial here.

Set Up an Unmanaged VPS (4 Newbies) .. The V-P-S Bible

In 20 copy/paste steps .. from zero to hero, blank box to cute-as Linux server.

Scroll down for the full series index.

So, hey, shed shared & viva virtual!   Hope it helps.   the_guv

Create DNS Records

Add the DNS settings as explained here.

Add Site Directory Structure

At the terminal, type:-

sudo mkdir -p /home/public_html/mydomain.com/{public,private,log,backup}

Create a Temporary Homepage (optional)

You don't have to bother with this, but I guess some folks will find it handy.

Type:-

sudo nano /home/public_html/mydomain.com/public/index.html

.. hit return and paste:-

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My New Nginx-Powered Site</title>
</head>
<body>
<p>It works!</p>
</body>
</html>

Add Virtual Host (vhost) with FastCGI, FURL Support & Optional WordPress Caching

Type this:-

sudo nano /usr/local/nginx/sites-available/mydomain.com

Return and paste this:-

server {
            listen   80;
            server_name  www.mydomain.com;
            rewrite ^/(.*) http://mydomain.com/$1 permanent;
       }

server {

            listen   80;
            server_name mydomain.com;

            access_log /home/public_html/mydomain.com/log/access.log;
            error_log /home/public_html/mydomain.com/log/error.log;

            location / 
            {

                root   /home/public_html/mydomain.com/public/;
                index  index.php index.html;

                # Basic version of Wordpress parameters, supporting nice permalinks.
                # include /usr/local/nginx/conf/wordpress_params.regular;
                # Advanced version of Wordpress parameters supporting nice permalinks and WP Super Cache plugin
                include /usr/local/nginx/conf/wordpress_params.super_cache;
            }

            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /home/public_html/mydomain.com/public/$fastcgi_script_name;
            }
      }

Option: If you don't use WordPress with this site, delete the following lines from the above:-

# Basic version of Wordpress parameters, supporting nice permalinks.
# include /usr/local/nginx/conf/wordpress_params.regular;
# Advanced version of Wordpress parameters supporting nice permalinks and WP Super Cache plugin
include /usr/local/nginx/conf/wordpress_params.super_cache;

Option: If you do want WordPress, and want both pretty permalinks and WP Super Caching support, leave the above, as is.

Option: If you do want WordPress, and want pretty permalinks but not WP Super Caching, swap this:-

# Basic version of Wordpress parameters, supporting nice permalinks.
# include /usr/local/nginx/conf/wordpress_params.regular;
# Advanced version of Wordpress parameters supporting nice permalinks and WP Super Cache plugin
include /usr/local/nginx/conf/wordpress_params.super_cache;

.. for this :-

# Basic version of Wordpress parameters, supporting nice permalinks.
include /usr/local/nginx/conf/wordpress_params.regular;
# Advanced version of Wordpress parameters supporting nice permalinks and WP Super Cache plugin
# include /usr/local/nginx/conf/wordpress_params.super_cache;

Save the file.

Create the Symlink and Restart Nginx

Paste this into the terminal:-

sudo ln -s /usr/local/nginx/sites-available/mydomain.com /usr/local/nginx/sites-enabled/mydomain.com

And reboot the web server by typing ..

sudo /etc/init.d/nginx stop && sleep 2 && sudo /etc/init.d/nginx start

.. Or if you followed Set Up Unmanaged VPS (4 Newbies) - Part 7: Edit bashrc for User-Friendly Linux, plus System Updates, just type:-

n2r

Upload your new domain's site files and go check it. If you're relocating an existing site, you should read this for a seamless move.


SETUP an Unmanaged VPS (4 Newbies) .. The V-P-S Bible

Serve multi sites & blogs on a budget .. at the fastest possible speed .. with the least downtime .. in the most secure environment .. and future-proofed for easy admin.

That's what the VPS Bible is about, stepped out in simple copy & paste guides.

From high traffic WordPress blogs to startup web hosts, here's what you need.

Set it up?  Click here for the 21 part follow-up .. V-P-S Admin

  1. * Includes video tutorial.

  2. Not linked = not published. Won't be long. Fix a feed for updates.


If you liked that ...
... maybe you'll like these?

.