# Server Types

# Introduction

Forge supports provisioning several different types of servers:

  • Application Servers
  • Web Servers
  • Worker Servers
  • Load Balancers
  • Database Servers
  • Cache Servers

Below, we will discuss each of these server types in more detail.

# Server Types

For reference, here is a breakdown of what is offered by each server type:

Application App Server Web Server Database Server Cache Server Worker Server Load Balancer
Nginx
PHP
MySQL / PostgreSQL / MariaDB
Redis, Memcached
Node.js

# App Servers

Application servers are designed include everything you need to deploy a typical Laravel / PHP application within a single server. Therefore, they are provisioned with the following software:

  • PHP
  • Nginx
  • MySQL / Postgres (if selected)
  • Redis
  • Memcached
  • Node.js
  • Supervisor

Application servers are the most typical type of server provisioned on Laravel Forge. If your unsure which server type you need, most likely you should provision an application server.

# Web Servers

Web servers contain the web server software you need to deploy a typical Laravel / PHP application, but they do not contain a database or cache. Therefore, these servers are meant to be networked to other dedicated database and cache servers. Web servers are provisioned with the following software:

  • PHP
  • Nginx
  • Node.js
  • Supervisor

# Database Servers

Database servers are intended to function as dedicated MySQL / Postgres servers for your application. These servers are meant to be accessed by a dedicated application or web server via Forge's network management features. Database servers are provisioned with the following software, based on your selections during the server's creation:

  • MySQL, MariaDB, or PostgreSQL

# Cache Servers

Cache servers are intended to function as dedicated Redis / Memcached servers for your application. These servers are meant to be accessed by a dedicated application or web server via Forge's network management features. Cache servers are provisioned with the following software:

  • Redis
  • Memcached

# Worker Servers

Worker servers are intended to function as dedicated PHP queue workers for your application. These servers are intended to be networked to your web servers, do not include Nginx, and are not accessible via HTTP. Worker servers are provisioned with the following software:

  • PHP
  • Supervisor

# Load Balancers

Load balancers are meant to distribute incoming web traffic across your servers. To do so, load balances use Nginx as a "reverse proxy" to evenly distribute the incoming traffic. Therefore, load balancers are only provisioned with Nginx.