Best Hosting Service for Affiliate Marketers

Hosting is one of the key elements of an affiliate marketer’s business. The goal is to have cost effective, fast, and reliable hosting in order to capture leads/sales.

Most affiliates tend to look to hosting companies like GoDaddy and Hostgator for their hosting needs. I’m not implying that there’s a problem with that, but I’m going to show you how I host my landing pages.

This is the best, most cost effective method of hosting for affiliates in my opinion. This will provide the most bang for your buck in terms of page load times. You can run this setup for as little as $3.5/month.

I use Vultr which is a cloud based self-managed SSD VPS provider. This is my personal preference based on my past experiences with the company. However, there are many other popular options out there like DigitalOcean and UpCloud.

Many affiliates shy away from self-managed cloud VPS servers as they are intimidated by the setup. I’m going to show you how to setup a Vultr cloud instance step-by-step and how to optimize it to host your landing pages.

Domain & DNS

The first step is to change your domain name’s settings to point to Vultr’s name servers which are “” and “” You do this by logging into your account at your domain name registrar and editing the DNS settings. In my example, I’m using NameCheap to purchase my domains.

Server Options

Now it’s time to choose which VPS fits your needs. Go over to Vultr (or whichever service you prefer) and look at the options. Your choice of SSD size, RAM, CPU, and Bandwidth will be based on what you will be using the server for.

I run basic lead capture landing pages then redirect to the offer page. To be completely honest, the $3.5/month option at Vultr which offers a 20 GB SSD, 1 CPU. 512 MB RAM, and 500 GB bandwidth will be sufficient. But I always at least go with the $5/month option that provides the 1024 MB RAM.

Here you will need to pick the location your server will be physically hosted. This is very important as unless you’re planning on using a good CDN (Content Delivery Network) then you need to have the server as close as possible to where you will be running your campaigns in order to have fast load times for your traffic.

After you picked the location, select Ubuntu 16.04 x64.

Leave everything blank other than the server name. Enter your desired server name and hit deploy.

Server Setup

Once your new instance is setup and ready, you will be provided with an IP Address and a root password to login.

Before we start setting up your new VPS, go over to the DNS settings in Vultr and associate the domain you initially pointed at Vultr to the new server IP Address. You do this by typing in the domain name and then entering the new IP Address you just received.

This will create a set of default variables inside the DNS settings for you which are sufficient at this time.

You now need to download PuTTY, which is a SSH client that enables you to communicate with your new VPS server.

Open PuTTY and type your new VPS server’s IP Address in the box that says “Host Name (or IP Address).” Leave the port option at the default 22 and click on open. You will be be prompted a box that asks if you trust this host. Select “Yes” and continue.

The next screen is where you enter your login which will be set to “root” as default. The password is provided on your login screen. Enter that information in and press enter.

Now you will be logged in and see a black screen that says “root@vultr:~#.” The first step is to enable the firewall to add some security to your server. Type the following:

ufw allow OpenSSH

Then enable the firewall by typing the code below. You will prompted with a message regarding possible SSH disruption, you can safely ignore it as we added an exemption in the last step. Hit “Y” and press enter to complete the process:

ufw enable

For the purposes of our hosting, we need to install a combination of software called LEMP stack. This bundle consists of Linux, Nginx, MySQL, and PHP. Don’t worry if you don’t know what this is, it will be easy!

Installing NGINX

Input the following in the command box:

apt-get update

Hit enter and then input:

apt-get install nginx

Now we need to create an exemption for Nginx in the firewall rules. Do this by inputting:

ufw allow “Nginx HTTP”

Installing MySQL

Now to install the MySQL server, input the following command and follow the prompts:

apt-get install mysql-server

You should run a script that will make sure some flaws with MySQL are removed. The prompts are self explanatory, just follow them carefully:


Installing PHP

We’re going to download PHP 7.0 now, to do this input the following command:

apt-get install php-fpm php-mysql

Now we need to configure a flaw with PHP 7.0. This is going to be done using the text editor Nano. Enter the following line:

nano /etc/php/7.0/fpm/php.ini

A text editor will show up. Hold Ctrl + W which will bring in the search box and input “cgi.fix” and hit enter. This will bring the following line in the editor:


Now remove the “;” from that line and change the 1 to 0. The line should look like this at the end:


Press Ctrl + X then Y then Enter to save and leave that file.

Reset PHP 7 by typing:

systemctl restart php7.0-fpm

Configuring Nginx

Almost done! Just a few more steps. We need to configure our server in Nginx so that we have a proper server name and to enable .php pages.

In the command prompt area type the following:

nano /etc/nginx/sites-available/default

The file that opens up is the main config for your server. You need to pay attention in this part. Scroll down by pressing the down button; we’re going to make the following modifications line by line:

index index.html index.htm index.nginx-debian.html;

Add index.php to the above line so that it will look like:

index index.php index.html index.htm index.nginx-debian.html;

Insert your domain name in front of the “server_name _” directive so it looks like:


Un-comment the following directives by removing the hashtags in the beginning of the lines:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;

location ~ /\.ht { deny all; }

Your completed configuration file should look like this:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html; index index.php index.html index.htm index.nginx-debian.html;


location / { try_files $uri $uri/ =404; }

location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }

location ~ /\.ht { deny all; } }

Now press Shift + X to exit and hit Y then Enter to save the configuration changes you made. All done! Now input the follow code to test your settings:

nginx -t

If there’s no error messages, restart Nginx by typing:

systemctl reload nginx

Your new VPS hosting is now ready for you to upload your landing page files!

If you go to your browser and you type, it should bring a page with a message saying “Welcome to Nginx.”

You now have access to your server to upload your website files. I recommend downloading a FTP Client like FileZilla that would give you easy access to upload your website files.

The default location to access your website files once you login to your server via your FTP client is “/var/www/html.”

Leave a Reply

Notify of