0
点赞
收藏
分享

微信扫一扫

Nginx第三天学习笔记

陬者 2023-09-22 阅读 23

在Nginx的第三天学习中,我对Nginx的配置、优化和安全性有了更深入的了解。以下是我在这三天学习中总结的一些关键知识点和学习笔记。

一、Nginx配置

  1. 基本配置

Nginx的配置文件位于/etc/nginx/nginx.conf。在这个文件中,我们可以定义服务器块(server blocks)、位置块(location blocks)和其他的配置设置。例如,我们可以定义一个HTTP服务器块来监听80端口,并将请求重定向到本地的一个PHP应用程序。

server {
    listen 80;
    server_name example.com;
    location / {
        root /var/www/html;
        try_files $uri $uri/ /index.php?$query_string;
    }
}
server {
    listen 80;
    server_name example.com;
    location / {
        root /var/www/html;
        try_files $uri $uri/ /index.php?$query_string;
    }
}

  1. 负载均衡

Nginx支持多种负载均衡算法,例如轮询、IP哈希和最少连接数。我们可以在一个服务器块中定义多个上游服务器,并指定负载均衡算法来分配请求。

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
    #ip_hash;  # 使用IP哈希算法
    #least_conn; # 使用最少连接数算法
    round_robin; # 使用轮询算法
}
upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
    #ip_hash;  # 使用IP哈希算法
    #least_conn; # 使用最少连接数算法
    round_robin; # 使用轮询算法
}

二、Nginx优化

  1. 缓存设置

Nginx支持各种缓存设置,包括缓存头、缓存时间和缓存响应。我们可以使用expires指令来设置缓存头和缓存时间。例如,以下指令将响应的缓存时间设置为1天。

csslocation ~* \.(jpg|jpeg|png|gif|css|js)$ {
    expires 1d;
}
location ~* \.(jpg|jpeg|png|gif|css|js)$ {
    expires 1d;
}

  1. Gzip压缩

通过使用Gzip压缩,可以减小响应的大小并提高传输速率。Nginx默认已经启用了Gzip压缩,我们可以在配置文件中使用gzip_types指令来指定需要压缩的文件类型。

cssgzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

三、Nginx安全性

  1. 防止DDoS

Nginx提供了许多防止DDoS的选项,例如限制并发连接数、限制请求速率和限制客户端IP地址。我们可以使用http_限指令来限制并发连接数和请求速率,使用geo指令来限制客户端IP地址。例如,以下指令将限制每个IP地址的并发连接数为100个。

举报

相关推荐

0 条评论