# 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.