云服务器搭建 Laravel 网站

本文介绍了如何在云服务器搭建基于 Laravel 框架的网站,涵盖环境准备(如安装 PHPNginx/Apache、MySQL 和 Composer)、Laravel 项目部署(通过 Git 克隆 Composer 创建)、配置 Web 服务器反向代理伪静态规则、设置权限与 .env 文件、启用 OPcache 及配置 SSL 等关键步骤,帮助开发者快速、安全地将 Laravel 应用上线运行。

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

数字化时代,快速、稳定、可扩展的Web应用部署能力已成为开发者心竞争力,Laravel作为PHP生态中最成熟的全栈框架,以其优雅语法和丰富生态广受青睐;而云服务器(如阿里云ECS、腾讯云CVM或AWS EC2)则提供了弹性免运维的基础设施支持,本文将带你跳过冗长理论,以轻量级、可复现的方式,完成一次真实的Laravel网站云端部署——全程无需宝塔面板,纯命令行操作,兼顾安全性与生产可用性

第一步:选购与初始化云服务器
推荐选择Ubuntu 22.04 LTS(长期支持版),内存建议2GB起(Laravel + Nginx + MySQL + Redis最小可行组合),创建实例后,通过SSH密钥登录,立即执行基础加固:

sudo apt update && sudo apt upgrade -y  
sudo ufw allow OpenSSH && sudo ufw enable  # 启用防火墙  
sudo timedatectl set-timezone Asia/Shanghai  # 设置时区  

第二步:安装运行环境(LAMP/LNMP精简版)
我们采用LNMP组合(Linux+Nginx+MySQL+PHP 8.2),避免Apache冗余模块:

  • 安装Nginx:sudo apt install nginx -y
  • 安装MySQL:sudo apt install mysql-server -y,运行sudo mysql_secure_installation强化安全
  • 安装PHP及Laravel依赖
    sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring \
    php8.2-xml php8.2-zip php8.2-bcmath php8.2-opcache -y  

    启动服务并设为开机自启:sudo systemctl enable nginx php8.2-fpm mysql

第三步:部署Laravel应用
假设项目已开发完成,本地使用Git托管,在服务器上创建站点目录:

sudo mkdir -p /var/www/myapp  
sudo chown $USER:$USER /var/www/myapp  
cd /var/www/myapp  
git clone HTTPS://github.com/yourname/my-laravel-app.git .  
composer install --no-dev --optimize-autoloader  
cp .env.example .env  
php artisan key:generate  

关键配置:编辑.env,设置数据库连接、APP_URL(如https://example.com)、缓存驱动(推荐redisfile);执行迁移php artisan migrate --force

第四步:配置Nginx与权限
新建站点配置文件 /etc/nginx/sites-available/myapp

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

启用配置:sudo ln -sf /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
测试并重载:sudo nginx -t && sudo systemctl reload nginx

第五步:安全收尾(生产必备)

  • 禁用PHP错误显示:修改/etc/php/8.2/fpm/php.inidisplay_errors = Off
  • 设置正确目录权限:sudo chown -R www-data:www-data /var/www/myappsudo chmod -R 755 /var/www/myapp,但storagebootstrap/cache需写入:sudo chmod -R 775 storage bootstrap/cache
  • 启用HTTPS(推荐Let’s Encrypt):sudo apt install certbot Python3-certbot-nginx -y && sudo certbot --nginx -d example.com

至此,一个符合Laravel官方推荐规范、具备基础安全防护的云上网站已就绪,整个过程约15分钟,无图形界面依赖,便于脚本化与CI/CD集成,真正的运维始于上线之后——建议后续接入日志监控(如logrotate)、定期备份数据库,并为Artisan命令配置定时任务(如php artisan schedule:run)。

云不是终点,而是敏捷交付的新起点,当一行命令就能让Laravel应用在百公里外的数据中心稳定呼吸,你所构建的,早已不止是网站——而是数字世界的可靠支点。