温馨提示×

Nginx在Ubuntu上如何实现动静分离

小樊
47
2025-07-12 04:50:34
栏目: 智能运维

在Ubuntu上使用Nginx实现动静分离,可以通过配置Nginx的location块来实现。动静分离的基本思想是将动态请求和静态资源请求分开处理,动态请求转发到后端应用服务器(如Tomcat、Node.js等),而静态资源请求则直接由Nginx处理。

以下是一个基本的步骤指南:

1. 安装Nginx

首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:

sudo apt update sudo apt install nginx 

2. 配置Nginx

编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default。你可以创建一个新的配置文件或修改现有的配置文件。

示例配置

server { listen 80; server_name example.com; # 静态资源配置 location /static/ { alias /var/www/static/; expires 30d; add_header Cache-Control "public"; } # 动态资源配置 location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 

解释

  • listen 80;:监听80端口。
  • server_name example.com;:服务器域名。
  • location /static/:静态资源请求的配置。
    • alias /var/www/static/;:指定静态资源的实际路径。
    • expires 30d;:设置缓存时间为30天。
    • add_header Cache-Control "public";:添加缓存控制头。
  • location /:动态请求的配置。
    • proxy_pass http://backend_server;:将请求转发到后端服务器。
    • proxy_set_header:设置转发请求的头信息。

3. 配置静态资源路径

确保你的静态资源(如CSS、JS、图片等)放在指定的目录中,例如/var/www/static/

4. 重启Nginx

保存配置文件后,重启Nginx以应用更改:

sudo systemctl restart nginx 

5. 测试配置

打开浏览器,访问你的服务器域名,确保静态资源能够正确加载,动态请求能够正确转发到后端服务器。

通过以上步骤,你就可以在Ubuntu上使用Nginx实现动静分离了。根据实际需求,你可以进一步优化和调整配置。

0