指南 · PHP 框架 · 2026
Laravel 托管指南 2026:VPS、PaaS 还是云主机?
Laravel 是全球最受欢迎的 PHP 框架,从初创项目到大型企业应用无处不在。选择能够充分发挥 Laravel 性能的托管平台——支持队列、调度器、Redis 和 WebSocket 广播——对开发团队和 DevOps 工程师来说至关重要。
本指南涵盖所有内容:系统要求、为什么共享主机不适合 Laravel、VPS 与 PaaS 的完整对比(附真实价格),以及 Ubuntu 24.04 完整部署教程。
Laravel 11.x 系统要求
在选择主机之前,需要了解 Laravel 的具体要求。Laravel 11.x(2024年初发布,2026年仍处于活跃支持期)的要求如下:
PHP 版本
- PHP 8.2 或更高(支持至 PHP 8.4)— Laravel 12.x 同样需要 PHP 8.2+
- 必须启用的 PHP 扩展:BCMath、Ctype、cURL、DOM、Fileinfo、JSON、Mbstring、OpenSSL、PCRE、PDO、Tokenizer、XML
数据库
- MySQL 8.0+ 或 MariaDB 10.3+
- PostgreSQL 10+(完全支持)
- SQLite 3.8.8+(仅用于开发环境)
- SQL Server 2017+(企业环境)
必需的服务器工具
- Composer — PHP 包管理器(需要命令行访问权限)
- SSH 访问 — 用于运行
php artisan、composer install、数据库迁移 - Web 服务器 — Nginx(推荐)或 Apache(含 mod_rewrite)
- Cron 任务 — 每分钟执行
php artisan schedule:run - 队列 Worker — 以 Supervisor 守护进程运行
php artisan queue:work - Redis(推荐)— 用于缓存、Session 和队列,性能远优于数据库驱动
- Node.js + npm(如使用 Vite/Mix 构建前端资源)
为什么共享主机不适合 Laravel
很多开发者尝试在共享主机上运行 Laravel,但会反复遇到以下问题:
- 没有 SSH 访问 — 无法运行
composer install、php artisan migrate、php artisan key:generate - 没有 Composer — 必须上传整个 vendor/ 目录(50-200 MB),速度慢且容易出错
- 无法运行队列 Worker — 共享主机不允许长时间运行的后台进程
- Cron 间隔过长 — 大多数提供商最短间隔为 1 小时,而 Laravel 调度器需要每分钟运行
- 内存限制过低 — PHP memory_limit 通常只有 128-256 MB,导致 Composer 超时
- 缺少 PHP 扩展 — 部分提供商未启用 BCMath、DOM 等 Laravel 必需的扩展
总结:共享主机在技术上可以运行基础的 Laravel 应用,但对于使用队列、调度器、Redis 或 WebSocket 的生产应用来说完全不适合。请使用 VPS 或 PaaS。
方案一:VPS(虚拟私有服务器)
VPS 提供完整的 root 权限,可以完全控制服务器,安装任何软件,针对 Laravel 应用的需求精细调优。这是 Laravel 生产部署最灵活、最常见的选择。
DigitalOcean Droplets
DigitalOcean 是全球 PHP/Laravel 开发者最常用的云服务商之一,拥有详尽的文档、庞大的社区和一键部署 Marketplace 镜像。Basic Droplet 价格(2026年10月数据——请在 digitalocean.com 验证最新价格):
| 方案 | 内存 | vCPU | SSD | 流量 | 月费 |
|---|---|---|---|---|---|
| Basic | 1 GB | 1 | 25 GB | 1 TB | $6 |
| Basic | 2 GB | 1 | 50 GB | 2 TB | $12 |
| Basic | 2 GB | 2 | 60 GB | 3 TB | $18 |
| Basic | 4 GB | 2 | 80 GB | 4 TB | $24 |
| Basic | 8 GB | 4 | 160 GB | 5 TB | $48 |
| 通用型 | 8 GB | 2 | 25 GB NVMe | 4 TB | $63 |
价格数据截至 2026年10月 — 请直接在 digitalocean.com 核实最新价格
Laravel 生产环境建议:小型应用选 2GB/$12 方案即可;若同时运行队列 Worker + Redis,建议选 4GB/$24 方案获得更充裕的资源。DigitalOcean 的新加坡(SG1)数据中心对东南亚地区延迟较低。
Ruk-Com Cloud VPS(泰国本地)
Ruk-Com Cloud 是泰国本地云服务商,在泰国(TH)和新加坡(SG)均有数据中心,提供 24/7 泰语支持和 99.9% SLA 保证。对于需要低延迟和本地语言支持的团队来说是理想选择,提供完整 root 访问和 NVMe SSD 存储。
Ruk-Com Cloud VPS — 完整 root 访问,NVMe SSD,TH/SG 数据中心,泰语 24/7 支持,SLA 99.9%
查看 VPS 方案Bangmod Cloud(泰国)
Bangmod Cloud 是面向开发者和企业的泰国 KVM 云服务商,提供简洁的控制面板、自定义 OS 镜像和快照备份,数据中心位于泰国,价格具有竞争力。
Bangmod Cloud — KVM VPS,泰国数据中心,按需计费,支持 Ubuntu/Debian/CentOS
查看方案方案二:云 PaaS
PaaS(平台即服务)介于共享主机和原始 VPS 之间。你可以部署代码而无需管理服务器基础设施,同时获得 Laravel 所需的完整全栈功能。
Ruk-Com Cloud PaaS
Ruk-Com Cloud PaaS 通过一个 GUI 支持 PHP(7.4-8.4)、Node.js、Python、Ruby 和 .NET Core。可直接从 Git 仓库部署,无需命令行操作。该平台提供 Laravel 生产环境所需的全部组件:
- PHP 8.x 运行环境,含 OPcache 和每应用 PHP-FPM 进程池
- Git 仓库直接部署——推送即部署,无需命令行
- MariaDB Galera 集群(3节点 HA)或单节点方案
- Redis 主从复制 + Sentinel 自动故障转移
- GUI 配置 Cron 任务(完美适配
php artisan schedule:run) - 负载均衡器(NGINX 或 HAProxy)HA 双节点
- 按小时计费(Cloudlet:每 Cloudlet 128 MiB 内存 + 400 MHz CPU)
- 泰国和新加坡数据中心可选
总结:PaaS 适合谁?
PaaS 非常适合希望获得即用型全栈环境(Redis、队列、Cron、HA 数据库)而无需自行管理服务器的 Laravel 团队。成本高于原始 VPS,但节省了大量搭建和维护时间。非常适合专注于产品开发而非基础设施的中小型团队。
方案三:托管云主机
Laravel Forge 或 Cloudways 等托管方案在云 VPS 之上提供 GUI 管理层,让团队无需编写原始服务器命令即可管理 Laravel 部署。
Laravel Forge
Laravel Forge 是 Laravel 官方生态工具(由 Taylor Otwell 创建),专为 Laravel 的 VPS 服务器配置和管理而设计。订阅费从 $12/月起(另加 VPS 费用),功能包括:
- 一键从 Git 部署,支持零停机发布
- 自动 SSL 证书(Let's Encrypt)
- 为 Laravel 预配置的 Nginx(含 try_files 和安全头)
- 通过 GUI 管理队列 Worker 和 Cron 任务
- 数据库管理(MySQL、PostgreSQL)
- 支持 DigitalOcean、AWS、Vultr、Linode、Hetzner
Cloudways
Cloudways 是运行在 DigitalOcean、AWS、Google Cloud、Linode 或 Vultr 基础设施上的托管云平台,提供一键 PHP 应用搭建、服务器级缓存和自动备份。价格取决于底层云服务商和服务器规格,建议在做决定前直接在 Cloudways 官网核实当前价格。
完整对比表
| 方案 | SSH | Composer | 队列 Worker | Redis | 起始价格 | 适合场景 |
|---|---|---|---|---|---|---|
| 共享主机 | 无 | 无 | 不支持 | 无 | ฿79/月 | 静态站点,不推荐用于 Laravel |
| DigitalOcean VPS | 完整 | 可安装 | 支持 | 可安装 | $6/月 | 开发到生产,全球覆盖 |
| Ruk-Com VPS(泰国) | 完整 | 可安装 | 支持 | 可安装 | 见官网 | 需要泰语支持的泰国团队 |
| Bangmod Cloud(泰国) | 完整 | 可安装 | 支持 | 可安装 | 见官网 | 需要泰国数据中心的团队 |
| Ruk-Com PaaS | GUI | 自动(Git) | 支持 | 内置 | 按小时(Cloudlet) | 需要全栈 GUI 管理的团队 |
| Laravel Forge + VPS | 完整 | 自动 | GUI 管理 | 可安装 | $12(Forge)+ VPS | Laravel 生态系统的团队 |
数据截至 2026年10月 — 请直接在各服务商官网核实最新价格
在 Ubuntu 24.04 上部署 Laravel — 逐步教程
本教程使用 Ubuntu 24.04 LTS(2026年新服务器推荐操作系统),适用于任何 VPS 提供商——DigitalOcean、Ruk-Com、Bangmod 等。
1. 更新系统并安装 Nginx
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx
2. 安装 PHP 8.3 + 扩展
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.3-fpm php8.3-cli php8.3-mbstring \
php8.3-xml php8.3-bcmath php8.3-curl php8.3-dom \
php8.3-pdo php8.3-mysql php8.3-redis php8.3-zip
3. 安装 Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
4. 安装 MySQL 8.0
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo mysql -e "CREATE DATABASE laravel_db;"
sudo mysql -e "CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'StrongPass';"
sudo mysql -e "GRANT ALL ON laravel_db.* TO 'laravel_user'@'localhost';"
5. 克隆项目并安装依赖
cd /var/www
sudo git clone https://github.com/your-org/your-laravel-app.git myapp
cd myapp
sudo composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate
6. 配置 .env 生产环境
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=StrongPass
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
7. 迁移数据库并优化
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan storage:link
8. 配置 Nginx 服务器块
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/myapp/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}
}
9. 设置 Laravel 调度器 Cron
sudo crontab -u www-data -e
# 添加以下行:
* * * * * cd /var/www/myapp && php artisan schedule:run >> /dev/null 2>&1
10. 使用 Supervisor 配置队列 Worker
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/myapp/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/myapp/storage/logs/worker.log
sudo supervisorctl reread && sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
11. 申请 SSL 证书
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
生产环境最佳实践
性能优化
- 每次部署后运行
php artisan optimize(缓存配置、路由和视图) - 使用 Redis 作为缓存和 Session 驱动,替代文件驱动
- 配置 OPcache:
opcache.enable=1,opcache.memory_consumption=256 - 生产环境构建 Vite 资源:
npm run build
安全加固
- 生产环境必须设置
APP_DEBUG=false,绝不暴露调试信息 - 通过 Nginx deny 规则阻止
.env文件被 Web 访问 - 配置 UFW 防火墙:只开放 22(SSH)、80、443 端口
- 定期审计依赖包:
composer audit - 安装 Fail2Ban 防止 SSH 暴力破解
备份策略
- 使用 spatie/laravel-backup 包,每日自动备份
- 同时备份数据库和 storage 文件
- 将备份存储在 S3 兼容存储(Cloudflare R2、Wasabi)上,与服务器分离
零停机部署
- 使用 Laravel Envoy 或 Deployer 实现原子部署
- 模式:部署到新的
releases/目录,然后将current软链接切换到新版本 - 使用 GitHub Actions 或 GitLab CI/CD 自动化部署流程
常见问题
Laravel 11.x 需要什么版本的 PHP?
Laravel 11.x 需要 PHP 8.2 或更高版本(支持至 PHP 8.4)。必需扩展:BCMath、Ctype、cURL、DOM、Fileinfo、JSON、Mbstring、OpenSSL、PCRE、PDO、Tokenizer、XML。
Laravel 可以在共享主机上运行吗?
技术上可行,但不推荐用于生产环境。共享主机通常没有 SSH、Composer,也不支持长时间运行的队列 Worker 和每分钟 Cron 调度。请使用 VPS 或 PaaS。
运行 Laravel 需要多少内存的 VPS?
对于中小型应用,2 GB 内存/1-2 vCPU(DigitalOcean 约 $12-18/月)可支持约 50-100 个并发用户。若同时运行队列 Worker 和 Redis,建议选择 4 GB 内存方案。
Ruk-Com Cloud PaaS 是否支持 Laravel?
完全支持。Ruk-Com PaaS 提供 PHP 7.4-8.4 运行环境、Git 部署、MariaDB、Redis Sentinel、Cron 任务和负载均衡器——通过一个 GUI 管理 Laravel 全栈环境所需的一切。
Laravel Octane 是什么?需要什么服务器?
Laravel Octane 使用 Swoole 或 RoadRunner 替代 PHP-FPM 作为持久化应用服务器,可将吞吐量提升 10-100 倍。需要在具有 root 权限的 VPS 或云服务器上安装 PHP 扩展,不支持共享主机。
Laravel 应该用 Nginx 还是 Apache?
两者均可,但推荐使用 Nginx。Nginx 更轻量,并发连接处理能力更强,Laravel 的 try_files Nginx 配置比 Apache .htaccess 方式更简洁可靠。