nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)

nginx从安装到配置详细说明

安装

在 Ubuntu/Debian 上通过以下命令安装 nginx:

sudo apt-get update
sudo apt-get install nginx

在 CentOS/Fedora 上通过以下命令安装 nginx:

sudo yum install nginx

安全配置

当我们在互联网上使用 nginx 的时候,安全配置非常重要。以下是一些常见的安全配置:

隐藏版本号

nginx 默认的 http 头中会包含版本号,攻击者可以利用这个版本号来尝试攻击 nginx。因此,我们可以在 nginx 的配置文件中通过以下指令来隐藏版本号:

server_tokens off;

限制请求速率

攻击者可以通过发送大量的请求来拒绝服务,我们可以通过限制每个 IP 的请求速率来阻止这种攻击。下面是一个例子,我们每秒钟只允许访问 100 个请求:

limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s;

server {
    location / {
        limit_req zone=one burst=10;
    }
}

去除不必要的模块

所有的模块都需要内存和 CPU 来运行,因此我们可以通过去除不必要的模块来提高 nginx 的性能。

防盗链

防盗链是指限制只有特定的网站才能加载您的资源,这对于一些会员网站来说很重要,因为他们希望只有付费的用户才能使用他们的资源。以下是一个例子,限制只有指定的域名才能访问我们的资源:

location ~* \.(gif|jpg|jpeg|png)$ {
    valid_referers none blocked server_names *.example.com;
    if ($invalid_referer) {
        return 403;
    }
}

动静分离

我们可以将静态资源和动态资源分开处理,以提高网站的性能。以下是一个例子:

location /static {
    alias /var/www/static;
}

location / {
    proxy_pass http://localhost:8000;
}

其中 /static 目录指向静态资源的路径,/ 目录是动态资源的路径。在这个例子中,静态资源将被直接访问,而动态资源将通过代理服务器访问。

配置 HTTPS

配置 HTTPS 需要 SSL 证书,可以通过以下步骤获取:

  1. 在 https://letsencrypt.org/ 上注册并获取 SSL 证书
  2. 安装 Certbot 工具
  3. 使用 Certbot 工具生成 SSL 证书

以下是一个示例 HTTPS 配置:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8000;
    }
}

性能优化

以下是一些常用的性能优化指令:

尽可能禁用访问日志

日志文件非常大,因此您可以考虑禁用访问日志或者使用代理服务器将日志文件转移到其他位置。

access_log off;

使用 Gzip 压缩

使用 Gzip 压缩可以减少网络带宽和传输时间。

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

启用缓存

启用缓存可以减少对后端服务器的请求,从而提高网站的性能。

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mycache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_valid 200 60m;
proxy_cache_bypass $http_pragma;
proxy_cache_revalidate on;

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 如何在Linux系统上进行集群配置?

    在Linux系统中配置集群主要包含以下步骤: 确定需要使用的集群软件:Linux系统上常用的集群软件包括Keepalived、Pacemaker、Corosync等。在选择时需要考虑软件的稳定性、易用性以及配置复杂程度等因素。 安装集群软件:在Linux系统中,可以使用命令行工具yum和apt-get等管理工具来安装集群软件。比如,安装Keepalived软…

    Linux 2023年4月19日
    00
  • linux基础(部分讲解)

    linux常见岗位 Linux运维工程师、Linux高级架构师、运维开发工程师、数据库管理员、云计算架构师 作为python后端可以从事的linux岗位: 自动化运维、容器运维、DBA注意:会的越多给的就越多!!!补充知识 IDC运维:机房运维员 不要做!!! 计算机的种类 计算机目前可以简单分成三种:台式机、笔记本、服务器 作用 可以尽量避免数据不会丢失(…

    Linux 2023年4月10日
    00
  • [Linux] nginx记录多种响应时间

    官网介绍$request_time – Full request time, starting when NGINX reads the first byte from the client and ending when NGINX sends the last byte of the response body$upstream_connect_time…

    Linux 2023年4月13日
    00
  • Linux(Ubuntu)下查看摄像头是否挂载及挂载的USB端口号

    1、查看摄像头是否已经挂载的命令 方法一:    ls /dev/video* 方法二: ls /dev | grep video 或 ls /dev | grep video* 2、如果有多个USB端口,则通过以下命令查看摄像头挂载的端口号 ls -l /sys/class/video4linux/video* 转自:https://blog.csdn.n…

    Linux 2023年4月13日
    00
  • Linux网络配置

    一、Linux 网 络配置原理图    二、查看网络IP 和网关   2.1  查 看虚拟网络编辑器        2.2  修改 改ip 地址        2.3  查 看网关        2.4  查看 看windows 环境的中VMnet8 网络配置 置 (ipconfig 指令)       

    Linux 2023年4月12日
    00
  • 如何在Linux系统上安装和配置DNS服务器?

    在Linux系统上安装和配置DNS服务器的步骤如下: 安装BIND软件包 首先,需要安装BIND软件包,执行以下命令安装: sudo apt-get update sudo apt-get install bind9 配置DNS 配置文件位于 /etc/bind 目录下,主要配置文件为 named.conf 和 named.conf.options,编辑 n…

    Linux 2023年4月19日
    00
  • linux 下文件显示行数

      1、编辑文件 :set number 显示行数 :set nu 简写 :set nu!不显示行数或者直接编辑vim文件,每次打开后都会显示 修改vi ~/.vimrc 文件,添加:set number   2、查看文件 【一】从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | he…

    Linux 2023年4月11日
    00
  • [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装ngi…

    Linux 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部