在 CentOS 系統下,處理 Laravel 靜態資源的方法如下:
安裝 Nginx 和 PHP-FPM:
首先,確保你已經安裝了 Nginx 和 PHP-FPM。如果沒有,請使用以下命令安裝:
sudo yum install epel-release
sudo yum install nginx
sudo yum install php-fpm
配置 Nginx:
編輯 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
。在 server
塊中,添加以下配置:
location / {
root /path/to/your/laravel/public;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
將 /path/to/your/laravel/public
替換為你的 Laravel 項目的 public
目錄的實際路徑。
設置文件權限:
確保 Nginx 用戶(通常是 nginx
或 www-data
)有權訪問 Laravel 項目的 storage
和 bootstrap/cache
目錄。使用以下命令設置權限:
sudo chown -R nginx:nginx /path/to/your/laravel/storage
sudo chown -R nginx:nginx /path/to/your/laravel/bootstrap/cache
重啟 Nginx 和 PHP-FPM:
為了使更改生效,請重啟 Nginx 和 PHP-FPM 服務:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
處理靜態資源:
在 Laravel 項目中,你可以使用 npm
或 yarn
來管理前端依賴項。首先,安裝 Node.js 和 NPM(如果尚未安裝):
sudo yum install nodejs npm
然后,在項目根目錄下運行以下命令來安裝依賴項:
npm install
或者
yarn install
接下來,你可以使用 Laravel Mix 來編譯前端資源。在項目根目錄下找到 webpack.mix.js
文件,并根據需要進行配置。例如:
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
最后,運行以下命令來編譯資源:
npm run dev
或者,你可以使用 npm run prod
來生成壓縮后的資源。
更新 Nginx 配置以處理編譯后的靜態資源:
在 Nginx 配置文件中,添加一個新的 location
塊來處理編譯后的靜態資源:
location /css/ {
alias /path/to/your/laravel/public/css/;
}
location /js/ {
alias /path/to/your/laravel/public/js/;
}
將 /path/to/your/laravel/public
替換為你的 Laravel 項目的 public
目錄的實際路徑。
重啟 Nginx:
為了使更改生效,請重啟 Nginx 服務:
sudo systemctl restart nginx
現在,你應該可以在瀏覽器中訪問你的 Laravel 應用程序,并看到正確處理的靜態資源。