nginx动静分离测试实例

实验目的

测试nginx的动静分离。

实验准备

1) 在服务器上存放两个静态文件
路径1: /data/image/1.jpg
路径2: /data/www/www.html

2) www.html的内容如下:
<h1>test www</h1>

nginx配置

# 修改nginx配置文件nginx.conf
server {
        listen       80;
        server_name  192.168.41.33;

        location /www/ {
            root /data/;
        }

        location /image/ {
            root /data/;
            autoindex on;
        }
    }

# nginx重新加载
nginx -s reload
nginx -s stop
nginx

测试

测试image,效果如下:

在这里插入图片描述

测试www,效果如下:

在这里插入图片描述

动静分离

nginx 将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如 jsp页面、servlet程序等)由 tomcat 服务器处理,tomcat 本身是用来处理动态资源的,同时 tomcat 也能处理静态资源,但是 tomcat 本身处理静态资源的效率并不高,而且还会带来额外的资源开销。利用 nginx 实现动静分离的架构,能够让 tomcat 专注于处理动态资源,静态资源统一由静态资源服务器处理,从而提升整个服务系统的性能。

在这里插入图片描述

### 配置 Nginx 实现动静分离 在 Linux 环境下,可以通过调整 Nginx 的配置来实现静态资源和动态请求的分离。这种做法可以显著提高服务器性能并优化用户体验。 #### 动静分离原理 动静分离是指将网站中的静态资源(如图片、CSS 文件、JavaScript 文件等)与动态内容分开处理。通过这种方式,可以让 Nginx 更高效地提供静态文件服务,而动态请求则转发到后端应用服务器上进行处理[^1]。 #### 配置方法 以下是具体的配置步骤: ##### 1. 定义静态资源路径 假设所有的静态资源都存储在一个特定目录 `/data/www/static` 中,则可以在 `location` 块中定义匹配规则以识别这些静态文件类型。 ```nginx location ~* \.(js|css|jpg|jpeg|gif|png|swf|ico|pdf)$ { root /data/www/static; expires 1d; # 设置缓存时间为一天 } ``` 上述代码片段的作用是当客户端访问指定类型的文件时,Nginx 将会从根目录 `/data/www/static/` 提供相应的文件,并设置 HTTP 头部字段 `Expires` 来启用浏览器缓存功能[^2]。 ##### 2. 转发动态请求至后端服务器 对于非静态的内容请求,通常需要将其传递给后端的应用程序服务器(例如 PHP-FPM 或其他 Web 应用框架)。这可以通过反向代理的方式完成。 ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:9000; # 替换为目标应用程序地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } ``` 此部分配置用于捕获所有未被前一步骤拦截的 URL 请求并将它们发送到本地运行的服务实例上进一步处理。 ##### 3. 测试配置有效性 修改完成后保存更改并重新加载 Nginx 配置文件以使新设定生效。在此之前建议先验证语法正确性以免造成意外停机情况发生: ```bash sudo nginx -t sudo systemctl reload nginx ``` 如果一切正常的话,现在应该已经成功设置了基于 Nginx动静态内容分隔机制! --- ### 注意事项 为了确保最佳效果,在实际操作过程中还需要注意以下几点: - **安全性**: 对公开可下载的大容量媒体资料实施适当权限管理; - **性能调优**: 根据实际情况调整缓冲区大小及其他参数选项; - **日志记录**: 开启详细的错误日记以便于排查潜在问题所在位置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值