CentOS部署Laravel的注意事項
Laravel需要PHP 7.3及以上版本,需提前通過yum
安裝PHP及必要擴展(如php-mysqlnd
、php-gd
、php-mbstring
、php-curl
、php-xml
、php-bcmath
)。若版本不符,可通過Remi倉庫升級PHP(如sudo yum-config-manager --enable remi-php74
安裝PHP 7.4)。
使用Composer安裝Laravel及依賴(composer create-project --prefer-dist laravel/laravel your_project_name
)。部署后需運行composer install
安裝項目依賴,若內存不足可臨時增加限制(php -d memory_limit=256M composer install
)。
root
指向項目public
目錄,添加try_files $uri $uri/ /index.php?$query_string
規則處理路由,并配置PHP-FPM(fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock
)。示例配置:server {
listen 80;
server_name yourdomain.com;
root /path/to/your/laravel-project/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
mod_rewrite
模塊,配置DocumentRoot
指向public
目錄,并設置AllowOverride All
允許.htaccess
重寫規則。nginx
或apache
):sudo chown -R nginx:nginx /path/to/your/laravel-project
。755
、文件權限為644
:sudo find /path/to/your/laravel-project -type d -exec chmod 755 {} \;
sudo find /path/to/your/laravel-project -type f -exec chmod 644 {} \;
storage
和bootstrap/cache
目錄需可寫(chmod -R 755
),確保Laravel能寫入緩存、日志等文件。若系統啟用SELinux,需調整上下文或臨時禁用:
sudo setenforce 0
(重啟后恢復)。/etc/selinux/config
,將SELINUX=enforcing
改為SELINUX=disabled
。sudo chcon -R -t httpd_sys_content_t /path/to/your/laravel-project
。.env.example
為.env
:cp .env.example .env
。DB_CONNECTION
、DB_HOST
、DB_DATABASE
、DB_USERNAME
、DB_PASSWORD
)及其他配置(如APP_KEY
)。php artisan key:generate
。php artisan config:clear
。storage/logs/laravel.log
)定位錯誤:tail -f /path/to/your/laravel-project/storage/logs/laravel.log
。/var/log/nginx/error.log
;Apache:/var/log/httpd/error_log
)。php artisan config:cache
。php artisan route:cache
。php artisan view:cache
(生產環境建議開啟)。