云服务器搭建 Laravel 网站

本文介绍了如何在云服务器搭建基于 Laravel 框架的网站,涵盖环境准备(如安装 PHPMySQLNginx/Apache)、Laravel 项目部署(通过 Composer 安装、配置 .env 文件与权限)、Web 服务器配置(重写规则、文档根目录设置)以及基础安全优化建议(SSL 配置、日志管理缓存启用),适合有一定 Linux 和 PHP 基础的开发者快速上线 Laravel 应用。

云服务器上高效搭建 Laravel 网站实战指南

数字化转型加速的今天,Laravel 凭借其优雅语法、丰富生态与活跃社区,成为构建现代 Web 应用的首选框架之一,而云服务器(如阿里云 ECS、腾讯云 CVM AWS EC2)则提供了弹性、可靠且成本可控的部署环境,本文将带你跳过冗长理论,以实操视角,梳理一条清晰、可复现的 Laravel 网站上线路径——全程基于 Ubuntu 22.04 LTS,不依赖宝塔等可视化面板,专注命令行本质操作,确保每一步都可控、可审计。

✅ 第一步:基础环境准备
登录云服务器后,先更新系统并安装心依赖:

sudo apt update && sudo apt upgrade -y  
sudo apt install -y git curl wget unzip nginx php8.1-cli php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-bcmath php8.1-opcache  

注意:Laravel 11 要求 PHP ≥ 8.2,若需最新版,建议通过 ondrej/php PPA 源安装;但对多数中型项目,PHP 8.1 + Laravel 10 已足够稳定高效

✅ 第二步:配置 Nginx 与 PHP-FPM
编辑站点配置 /etc/nginx/sites-available/myapp

server {
    listen 80;
    server_name your-domain.com;
    root /var/www/myapp/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        FastCGI_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

启用配置并重启服务:

sudo ln -sf /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/  
sudo nginx -t && sudo systemctl restart nginx  

✅ 第三步:部署 Laravel 应用
推荐使用 Composer 全局安装(非 root 用户更安全):

curl -sS HTTPS://getcomposer.org/installer | php  
sudo mv composer.phar /usr/local/bin/composer  

创建项目目录并拉取代码(或上传本地打包文件):

sudo mkdir -p /var/www/myapp  
sudo chown -R $USER:www-data /var/www/myapp  
cd /var/www/myapp  
composer create-project laravel/laravel . --version=10.*  

设置权限与环境:

cp .env.example .env  
php artisan key:generate  
sudo chgrp -R www-data storage bootstrap/cache  
sudo chmod -R ug+rwx storage bootstrap/cache  

数据库配置写入 .env(DB_HOST 通常为 0.0.1,云服务器若用云数据库,请填写内网地址并放行安全组端口)。

✅ 第四步:优化与上线前检查

  • 启用 OPcache:确认 /etc/php/8.1/fpm/php.iniopcache.enable=1
  • 关闭调试模式:.env 中设 APP_DEBUG=false
  • 加载优化:运行 php artisan config:cachephp artisan route:cache(仅生产环境
  • 防火墙放行:sudo ufw allow 'Nginx Full',禁用 SSH 密码登录(推荐密钥认证

✅ 小贴士:不止于“能跑”,更要“稳跑”

  • 日志监控:Laravel 默认日志写入 storage/logs,建议配合 logrotate 或对接云日志服务(如阿里云 SLS);
  • 自动化备份:用 crontab 定期导出数据库+打包 storage/app(含用户上传文件);
  • HTTPS 强制:Let’s Encrypt 一键配置:sudo apt install certbot Python3-certbot-nginxsudo certbot --nginx -d your-domain.com

云服务器不是黑盒,而是你掌控应用生命周期的起点,搭建 Laravel 网站的过程,本质是理解请求如何穿过 Nginx、PHP-FPM、Laravel 内核直至数据库的链路,每一次 php artisan migrate 的成功,每一处 500 错误的日志溯源,都在夯实工程化思维的根基,不必追求一步到位的“全自动脚本”,真正的效率,来自对每个环节的知其然更知其所以然。

当你的 Laravel 网站在云上首次返回 “Welcome to Laravel”,那不仅是技术落地的瞬间,更是开发者主权意识的觉醒——你不再依赖封装,而是亲手编织基础设施与业务逻辑之间的信任纽带。

(全文共 1198 字)