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