跳到主要内容

文件权限与存储

正确的文件权限对安全性和功能性都至关重要。


所需权限

路径权限所有者用途
项目根目录(/var/www/feedbackpulse-saas/755www-data应用文件
storage/775www-data日志、缓存、Session、上传文件
storage/app/public/775www-data公开上传文件(Logo、照片)
storage/framework/cache/775www-data应用缓存
storage/framework/sessions/775www-data用户 Session
storage/framework/views/775www-data编译后的 Blade 视图
storage/logs/775www-data应用日志
bootstrap/cache/775www-data框架启动缓存
.env640www-data敏感配置文件

设置权限(Linux)

cd /var/www/feedbackpulse-saas

# 设置所有者
sudo chown -R www-data:www-data .

# 文件:644,目录:755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;

# 可写目录
sudo chmod -R 775 storage bootstrap/cache

# 保护 .env 文件
sudo chmod 640 .env

请将 www-data 替换为您 Web 服务器的用户:

  • Ubuntu 上的 Apache:www-data
  • Ubuntu 上的 Nginx:www-data
  • CentOS 上的 Apache:apache
  • CentOS 上的 Nginx:nginx
  • Windows 上的 Laragon:无需修改权限

存储软链接

Laravel 使用软链接使 storage/app/public/ 中的文件可通过 Web 访问:

public/storage -> storage/app/public/

创建软链接

php artisan storage:link

验证软链接

ls -la public/storage
# 应显示:public/storage -> /var/www/feedbackpulse-saas/storage/app/public

存储的内容

目录内容
storage/app/public/logos/租户公司 Logo
storage/app/public/products/产品图片
storage/app/public/submissions/反馈中上传的照片
storage/app/public/avatars/用户头像
storage/app/public/landing/落地页素材

磁盘空间管理

监控磁盘使用

# 检查整体磁盘使用情况
df -h

# 检查 FeedbackPulse 存储使用情况
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/

日志轮转

Laravel 日志可能会变得很大,请配置日志轮转:

sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}

清除缓存

cd /var/www/feedbackpulse-saas

# 清除应用缓存
php artisan cache:clear

# 清除编译后的视图
php artisan view:clear

# 清除路由缓存
php artisan route:clear

# 清除配置缓存
php artisan config:clear

# 一次性清除所有
php artisan optimize:clear

下一步