新闻中心 分类>>

Laravel项目部署到线上服务器的完整步骤

2025-11-20 00:00:00
浏览次数:
返回列表
部署Laravel项目需先配置服务器环境,安装PHP、Composer、Web服务器及数据库;1. 检查PHP扩展是否齐全;2. 通过Git上传代码并执行composer install;3. 配置.env文件,生成密钥并设置storage目录权限;4. 配置Nginx指向public目录,重启服务;5. 执行php artisan命令缓存配置、路由、视图;6. 添加Crontab定时任务;7. 启用HTTPS,禁止访问.env,定期备份与监控日志,确保系统安全稳定运行。

将Laravel项目部署到线上服务器需要系统性地完成环境配置、代码上传、依赖安装和安全设置等步骤。以下是完整且实用的部署流程,适用于主流Linux服务器(如Ubuntu/CentOS)。

1. 准备服务器环境

确保服务器已安装必要的运行环境:

  • PHP版本(建议8.0+),并启用必要扩展:OpenSSL、PDO、MBString、Tokenizer、XML、Ctype、JSON
  • Composer(PHP依赖管理工具)
  • Web服务器:Nginx 或 Apache
  • 数据库:MySQL / MariaDB 或 PostgreSQL
  • 可选但推荐:Redis(用于缓存或队列)、Supervisor(守护队列进程)

通过以下命令快速检查PHP扩展:

php -m | grep -E 'openssl|pdo|mbstring|tokenizer|xml|ctype|json'

2. 上传并配置Laravel项目

将本地项目代码推送到服务器,推荐使用Git:

  • 在服务器上克隆项目:git clone your-repo-url.git /var/www/your-project
  • 切换到项目目录:cd /var/www/your-project
  • 检出所需分支(如main或production)

安装PHP依赖:

composer install --optimize-autoloader --no-dev

该命令会安装生产环境所需依赖,并优化加载性能。

3. 配置环境与权限

复制并配置 .env 文件:

  • cp .env.example .env
  • 编辑 .env,设置:APP_ENV=production、APP_DEBUG=false、数据库连接、缓存驱动、队列连接等
  • 生成应用密钥:php artisan key:generate

设置目录权限:

  • 确保 storagebootstrap/cache 目录可写
  • 执行命令: chmod -R 755 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache

4. 配置Web服务器(以Nginx为例)

创建Nginx站点配置文件(如 /etc/nginx/sites-available/your-site):

server {
listen 80;
server_name your-domain.com;
root /var/www/your-project/public;
index index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}

启用站点并重启Nginx:

ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

5. 执行部署收尾操作

运行必要Artisan命令:

  • php artisan config:cache —— 缓存配置
  • php artisan route:cache —— 缓存路由(适用于API或大型项目)
  • php artisan view:cache —— 缓存视图
  • php artisan event:cache(如使用事件类)

设置定时任务(Crontab):

添加Laravel调度器:

* * * * * cd /var/www/your-project && php artisan schedule:run >> /dev/null 2>&1

6. 安全与监控建议

  • 启用HTTPS(使用Let's Encrypt免费证书)
  • 禁用 .env 文件外部访问(Nginx/Apache已默认保护)
  • 定期备份数据库和代码
  • 查看日志排查问题:tail -f storage/logs/laravel.log

基本上就这些。只要环境正确、权限设置妥当、配置文件无误,Laravel上线并不复杂,但每一步都容易因小疏忽导致白屏或500错误,务必逐项检查。

搜索