如何在不修改public文件夹路径的情况下在服务器部署Laravel项目
Laravel项目部署可行解决方案
我已找到Laravel项目部署的可行解决方案
多数开发者在服务器部署Laravel项目时都会遇到卡点,最常见的诱因是部署时随意修改public路径、改动server.php文件,平白增加出问题的概率。
具体可落地的操作方案如下:
- 不要把整个Laravel项目直接丢到web服务的根目录,正确做法是把项目代码放在web根目录的上级文件夹,避免项目核心逻辑文件被公网直接访问
- 直接将Nginx/Apache的站点运行目录指向项目内的
public文件夹即可,不需要挪动public下的入口文件位置,也不需要额外修改框架内的路径配置代码 - 给项目目录配置正确权限:
storage、bootstrap/cache两个目录需要授予web运行用户读写权限,其余目录按需配置只读权限即可 - 进入项目根目录依次执行以下部署命令,完成依赖安装和初始化配置:
composer install --optimize-autoloader --no-dev cp .env.example .env # 编辑.env文件配置好数据库、域名等信息后再执行后续命令 php artisan key:generate php artisan migrate php artisan config:cache php artisan route:cache php artisan view:cache
避坑提醒:任何情况下都不建议手动修改框架自带的
server.php文件,也不要为了图省事把public目录下的文件剪切到项目根目录运行,这类操作不仅会破坏框架原有路径逻辑,还会留下严重的安全漏洞,后续版本升级也大概率会出兼容问题。
内容的提问来源于stack exchange,提问作者Shashikant
相关产品推荐
相关产品推荐

