Linux如何部署PHPSymfony项目

絕刀狂花

絕刀狂花

2026-07-22

352人浏览

原创

将symfony项目部署到linux生产服务器需完成环境安装、代码部署、依赖注入、web服务配置和权限校准五步:安装nginx、php 8.2+及扩展;git克隆或解压项目并运行composer install --no-dev;配置nginx虚拟主机指向public目录;设置var目录权限与.env.local环境变量;最后缓存清除、预热并重启php-fpm。

linux如何部署phpsymfony项目 - php中文网

将本地开发完成的Symfony项目稳定运行在Linux生产服务器上,需完成环境安装、代码部署、依赖注入、Web服务配置和权限校准五个关键环节,缺一不可。

安装基础运行环境

在Ubuntu 22.04或Debian 12系统上执行以下命令,一次性安装Nginx、PHP 8.2+核心及必需扩展:

sudo apt update && sudo apt install -y nginx php-fpm php-mysql php-curl php-xml php-zip php-mbstring php-tokenizer php-bcmath php-intl git unzip

安装完成后验证PHP版本:php -v 必须显示8.2.x或更高版本;【低版本PHP(如7.4)会导致Symfony 6.4+组件加载失败】。若版本不符,请先添加ondrej/php PPA源并重装。

上传并初始化Symfony项目

方法一:使用Git克隆(推荐,便于后续更新)

将项目推送到私有Git仓库后,在服务器执行:git clone https://your-git-repo.com/your-symfony-project.git /var/www/symfony-app

方法二:上传压缩包解压(适用于无Git权限场景)

通过scp上传zip包 → 在服务器执行:unzip your-project.zip -d /var/www/symfony-app → 删除压缩包

进入项目目录:cd /var/www/symfony-app

运行Composer安装生产依赖:COMPOSER_MEMORY_LIMIT=-1 composer install --no-dev --optimize-autoloader。这一步跳过开发依赖,加快启动速度且提升安全性。

配置Nginx虚拟主机

第一步:创建站点配置文件

执行:sudo nano /etc/nginx/sites-available/symfony-app

第二步:粘贴以下最小可行配置(注意替换server_name为你的域名或IP):

PHP 8.5.5
PHP 8.5.5

PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。

下载

server {
  listen 80;
  server_name example.com;
  root /var/www/symfony-app/public;
  index index.php;

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

  location ~ ^/index\.php(/|$) {
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
  }

  location ~ \.php$ {
    return 404;
  }
}

第三步:启用站点并重载Nginx

sudo ln -sf /etc/nginx/sites-available/symfony-app /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

设置安全权限与环境变量

执行以下三条命令,确保Web服务器能写入缓存与日志目录:

sudo chown -R www-data:www-data /var/www/symfony-app/var
sudo chmod -R 775 /var/www/symfony-app/var
sudo setfacl -R -m u:www-data:rwx /var/www/symfony-app/var

复制环境配置模板:cp .env.local.dist .env.local

编辑.env.local文件,设置数据库连接、APP_ENV=prod、APP_DEBUG=false,并生成密钥:php bin/console secret:generate --env=prod

【务必关闭APP_DEBUG=true,否则会暴露敏感路径与堆栈信息】

预热缓存并验证访问

切换到prod环境并清除旧缓存:php bin/console cache:clear --env=prod

强制预热生产缓存:php bin/console cache:warmup --env=prod

重启PHP-FPM服务使配置生效:sudo systemctl restart php8.2-fpm

打开浏览器访问服务器IP或域名,看到Symfony默认首页即表示部署成功。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php linux nginx symfony

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

2025.09.11

1372

17

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

0

10

火山引擎域名备案流程详解
火山引擎域名备案流程详解

火山引擎域名备案适合需要在火山引擎云服务器、对象存储、CDN或网站服务上绑定域名的用户参考。本专题整理备案入口、账号实名认证、备案类型选择、主体信息填写、网站信息提交、资料上传、初审核验、管局审核和备案失败排查,帮助用户完成网站上线前的备案流程。

2026.08.04

0

10

火山引擎DNS解析配置步骤
火山引擎DNS解析配置步骤

使用火山引擎DNS解析网站域名时,需要确认域名已完成管理接入,并正确配置服务器IP、CNAME地址或验证记录。本专题整理域名添加、记录类型选择、TTL设置、解析状态检查、备案和访问测试等流程,适合新手搭建网站时参考。

2026.08.04

0

10

火山引擎对象存储使用教程
火山引擎对象存储使用教程

火山引擎对象存储适合用于网站图片、视频文件、备份数据、静态资源和应用附件管理。本专题整理TOS控制台入口、存储桶创建、地域选择、权限设置、文件上传、访问链接生成、CDN加速、费用查看和常见上传或访问失败问题,帮助用户快速掌握对象存储基础操作。

2026.08.04

1

10

火山引擎云服务器使用教程
火山引擎云服务器使用教程

火山引擎云服务器使用教程适合第一次购买、部署和管理云服务器的用户参考。本专题整理控制台入口、实例创建、地域和配置选择、系统镜像设置、安全组放行、远程连接、网站部署、续费计费和常见连接失败问题,帮助用户快速完成云服务器基础使用流程。

2026.08.04

3

10

火山引擎API Key绑定大模型教程
火山引擎API Key绑定大模型教程

火山引擎API Key怎么绑定大模型适合需要在火山方舟、应用后台、脚本工具或AI编程软件中调用模型的开发者参考。本专题整理控制台服务开通、API Key创建、模型权限检查、模型ID选择、Base URL填写、调用测试和鉴权失败排查,帮助用户完成从密钥到模型调用的配置流程。

2026.08.04

2

10

火山引擎API Key获取教程
火山引擎API Key获取教程

火山引擎API Key适合需要调用火山引擎云服务、AI模型、火山方舟接口或其他开放能力的开发者参考。本专题整理控制台入口、账号认证、服务开通、API Key创建、密钥复制保存、权限检查、调用测试和Key无效等常见问题排查。

2026.08.04

7

10

火山引擎API接入教程
火山引擎API接入教程

火山引擎API接入适合需要在应用、脚本、后台服务或AI工具中调用火山引擎能力的开发者参考。本专题整理控制台入口、服务开通、API Key获取、接口地址配置、请求参数填写、调用测试、权限设置、额度查询和常见接口报错排查。

2026.08.04

6

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 127人学习