温馨提示×

LNMP如何实现动静分离

小樊
34
2025-03-02 00:17:28
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在LNMP(Linux, Nginx, MySQL, PHP)架构中实现动静分离,主要是通过Nginx的反向代理功能来区分和处理静态资源和动态资源。以下是具体的实现步骤:

1. 基本概念

  • 静态资源:如HTML、CSS、JavaScript、图片等,可以直接由Nginx提供。
  • 动态资源:如包含PHP脚本的页面,需要由PHP-FPM处理。

2. Nginx配置

在Nginx配置文件中,通过location指令来区分静态资源和动态资源。

  • 静态资源处理
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    root /path/to/static/files;
    expires 30d;
}
  • 动态资源处理
location ~ \.php$ {
    root /path/to/dynamic/files;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

在上面的配置中,所有以.php结尾的请求都会被转发到运行PHP-FPM的监听端口(默认为9000)。

3. PHP-FPM配置

确保PHP-FPM配置允许Nginx通过FastCGI协议访问PHP进程。

  • php-fpm配置文件(通常是/etc/php-fpm.d/www.conf/etc/php-fpm.conf
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1

4. 部署和测试

  • 将静态资源文件放置在Nginx配置中指定的静态资源目录下。
  • 将动态资源文件(如PHP脚本)放置在Nginx配置中指定的动态资源目录下。
  • 重启Nginx服务以应用配置更改。
systemctl restart nginx

通过上述步骤,可以实现LNMP架构中的动静分离,提高网站的性能和安全性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:LNMP中如何实现动静分离

0