ubuntu

Ubuntu LNMP如何实现动静分离

小樊
40
2025-09-06 12:58:15
栏目: 智能运维

在Ubuntu上实现LNMP动静分离的核心是通过Nginx配置,将静态资源与动态请求分离处理,具体步骤如下:

  1. 安装Nginx

    sudo apt update && sudo apt install nginx  
    
  2. 配置静态资源处理
    在Nginx配置文件(如/etc/nginx/sites-available/default)中,添加静态资源路径规则,使用location指令匹配静态文件扩展名(如.js.css.png等),并指定实际存储路径:

    location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {  
        root /var/www/static;  # 静态资源目录  
        expires 30d;           # 设置浏览器缓存30天  
        access_log off;        # 关闭访问日志(可选)  
    }  
    
  3. 配置动态请求转发
    对非静态请求(如API、PHP页面),使用proxy_pass将请求转发至后端服务(如PHP-FPM、Tomcat等):

    location / {  
        proxy_pass http://backend_server;  # 替换为后端服务地址(如127.0.0.1:9000)  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;  
    }  
    
  4. 优化缓存与性能(可选)

    • 为静态资源启用CDN加速,通过Nginx配置proxy_cache或直接对接CDN域名。
    • 对动态内容使用OPcache等缓存机制,减少PHP解析开销。
  5. 高可用扩展(可选)

    • 静态资源服务器可配置Nginx集群+Keepalived,实现主备切换。
    • 动态服务通过负载均衡(如Nginx upstream模块)分发请求至多台后端服务器。

完成配置后,重启Nginx生效:

sudo systemctl reload nginx  

关键逻辑:通过Nginx的location指令精准区分静态与动态请求,静态资源由Nginx直接处理,动态请求转发至后端,从而降低后端负载并提升整体性能。

0
看了该问题的人还看了