高效部署nginx网站服务的技巧

一、优化nginx配置

1、日志配置优化

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" "$http_x_forwarded_for" "$host"';

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;
}

2、静态文件缓存配置

http {
    #文件缓存大小为200MB,文件缓存有效期为1天
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=1d max_size=200m;

    #指定需要缓存的文件类型和请求方法
    proxy_cache_key "$scheme$request_method$host$request_uri";
    proxy_cache_valid 200 304 1d;

    server {
        location / {
            #启用文件缓存
            proxy_cache my_cache;
            proxy_cache_bypass $http_pragma;
            proxy_cache_revalidate on;
            #指定缓存的文件类型
            proxy_cache_valid 200 60m;
            proxy_cache_valid 404 1m;
        }
    }
}

3、负载均衡配置

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        location / {
            proxy_pass http://backend;
        }
    }
}

二、启用gzip压缩

在nginx配置文件中添加以下内容

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

    server {
        ...
    }
}

三、启用SSL证书

1、生成证书

openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

2、在nginx配置文件中启用SSL证书

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/server.crt;
    ssl_certificate_key /path/to/server.key;

    location / {
        ...
    }
}

四、使用fastcgi代理

1、配置php-fpm

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php-fpm.sock;

    #以下是$fastcgi_param的值,可以根据实际情况修改
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PHP_FLAG 'short_open_tag=On';
    fastcgi_param PHP_VALUE 'max_execution_time=100';
    fastcgi_param PHP_ADMIN_VALUE 'open_basedir=/usr/share/nginx/html:/tmp/:/var/tmp/:/var/www/';
    fastcgi_index index.php;
    include fastcgi_params;
}

2、配置nginx代理

location / {
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

五、使用HTTP/2协议

在nginx配置文件中启用http2模块

http {
    ...
    server {
        listen 443 ssl http2;
        ...
    }
}

原创文章,作者:MYBHW,如若转载,请注明出处:https://www.506064.com/n/330404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MYBHWMYBHW
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • 使用vscode建立UML图的实践和技巧

    本文将重点介绍在使用vscode在软件开发中如何建立UML图,并且给出操作交互和技巧的指导。 一、概述 在软件开发中,UML图是必不可少的重要工具之一。它为软件架构和各种设计模式的…

    编程 2025-04-29
  • Python爬虫可以爬哪些网站

    Python是被广泛运用于数据处理和分析领域的编程语言之一。它具有易用性、灵活性和成本效益高等特点,因此越来越多的人开始使用它进行网站爬取。本文将从多个方面详细阐述,Python爬…

    编程 2025-04-29
  • 网站为什么会被黑客攻击?

    黑客攻击是指利用计算机技术手段,入侵或者破坏计算机信息系统的一种行为。网站被黑客攻击是常见的安全隐患之一,那么,为什么网站会被黑客攻击呢?本文将从不同角度分析这个问题,并且提出相应…

    编程 2025-04-29
  • 如何用Python访问网站

    本文将从以下几个方面介绍如何使用Python访问网站:网络请求、POST请求、用户代理、Cookie、代理IP、API请求。 一、网络请求 Python有三种主流的网络请求库:ur…

    编程 2025-04-29
  • 如何将Python开发的网站变成APP

    要将Python开发的网站变成APP,可以通过Python的Web框架或者APP框架,将网站封装为APP的形式。常见的方法有: 一、使用Python的Web框架Django Dja…

    编程 2025-04-28
  • 优秀周记1000字的撰写思路与技巧

    优秀周记是每个编程开发工程师记录自己工作生活的最佳方式之一。本篇文章将从周记的重要性、撰写思路、撰写技巧以及周记的示例代码等角度进行阐述。 一、周记的重要性 作为一名编程开发工程师…

    编程 2025-04-28
  • 如何在服务器上运行网站

    想要在服务器上运行网站,需要按照以下步骤进行配置和部署。 一、选择服务器和域名 想要在服务器上运行网站,首先需要选择一台云服务器或者自己搭建的服务器。云服务器会提供更好的稳定性和可…

    编程 2025-04-28
  • Trocket:打造高效可靠的远程控制工具

    如何使用trocket打造高效可靠的远程控制工具?本文将从以下几个方面进行详细的阐述。 一、安装和使用trocket trocket是一个基于Python实现的远程控制工具,使用时…

    编程 2025-04-28
  • Python网站源码解析

    本文将从多个方面对Python网站源码进行详细解析,包括搭建网站、数据处理、安全性等内容。 一、搭建网站 Python是一种高级编程语言,适用于多种领域。它也可以用于搭建网站。最常…

    编程 2025-04-28
  • Python生成列表最高效的方法

    本文主要介绍在Python中生成列表最高效的方法,涉及到列表生成式、range函数、map函数以及ITertools模块等多种方法。 一、列表生成式 列表生成式是Python中最常…

    编程 2025-04-28

发表回复

登录后才能评论