文档首页> 常见问题> 如何在云服务器上部署Laravel?

如何在云服务器上部署Laravel?

发布时间:2025-05-21 03:37       

云服务器部署Laravel项目的完整指南:从零到上线

在当今数字化时代,使用云服务器部署PHP应用已成为开发者的必备技能。本文将详细介绍如何在主流云服务器上部署Laravel框架项目,包含环境配置、安全设置和性能优化等关键步骤。

一、准备工作

1.1 选择合适的云服务商

主流云服务器提供商包括:

  • 阿里云ECS
  • 腾讯云CVM
  • AWS EC2
  • Google Cloud Compute

建议选择至少1核2G配置的服务器,操作系统推荐Ubuntu 20.04 LTS或CentOS 8。

1.2 服务器基础配置

# 更新系统软件包
sudo apt update && sudo apt upgrade -y

# 创建部署专用用户
sudo adduser deploy
sudo usermod -aG sudo deploy

二、环境搭建

2.1 安装必要组件

Laravel运行所需的核心组件:

# 安装Nginx
sudo apt install nginx -y

# 安装PHP及相关扩展
sudo apt install php-fpm php-mysql php-mbstring php-xml php-zip php-curl -y

# 安装Composer
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

2.2 数据库配置

MySQL安装与安全设置:

sudo apt install mysql-server -y
sudo mysql_secure_installation

创建专用数据库和用户:

CREATE DATABASE laravel_app;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;

三、项目部署

3.1 代码上传与配置

推荐部署方式:

  1. 通过Git克隆项目
  2. 配置.env文件
  3. 安装依赖
git clone https://your-repository.git /var/www/laravel-app
cd /var/www/laravel-app
cp .env.example .env
composer install --no-dev
php artisan key:generate
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data /var/www/laravel-app

3.2 Nginx配置

创建站点配置文件:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/laravel-app/public;
    
    index index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
    
    location ~ /\.(?!well-known).* {
        deny all;
    }
}

四、安全加固

4.1 基础安全措施

  • 配置防火墙:sudo ufw allow 'Nginx Full' && sudo ufw enable
  • 安装Fail2Ban防止暴力破解
  • 定期更新系统补丁

4.2 Laravel特定安全配置

# 禁用调试模式
APP_DEBUG=false

# 使用强加密
APP_KEY=base64:your_random_key

# 强制HTTPS
APP_URL=https://yourdomain.com

五、性能优化

5.1 OPcache配置

[opcache]
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0

5.2 队列与任务调度

配置Supervisor管理队列进程:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/laravel-app/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=deploy
numprocs=4
redirect_stderr=true
stdout_logfile=/var/log/laravel-worker.log

通过以上步骤,您已成功在云服务器上部署了Laravel应用。建议定期备份数据库和代码,并监控服务器资源使用情况。随着业务增长,可以考虑使用负载均衡、Redis缓存等进阶优化方案。

遇到问题时,Laravel社区和官方文档是最好的学习资源。Happy coding!