在 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 应用程序,并看到正确处理的静态资源。