Nginx的一些常用配置汇总

Nginx的一些常用配置汇总

Nginx是一个高性能的HTTP和反向代理服务器。在使用Nginx的过程中,下面这些常用的配置是必不可少的。

1. 为域名配置SSL证书

如果您的网站需要使用SSL证书来保护数据传输的安全,您需要为您的域名配置SSL证书。Nginx支持使用Let's Encrypt等免费的SSL证书。您可以通过以下步骤配置您的SSL证书。

首先,您需要安装certbot:

sudo apt-get update
sudo apt-get install certbot

安装完成后,您可以使用以下命令配置证书:

sudo certbot certonly --nginx -d example.com -d www.example.com

其中,example.com是您的域名。这个命令会自动检测您的Nginx配置,并为您的域名生成SSL证书。

2. 为静态资源添加缓存

如果您的网站包含大量的静态资源,如图片、CSS和JavaScript文件,为这些资源添加缓存可以显著提高网站的性能。可以使用以下配置为这些资源添加缓存:

location ~* \.(css|js|png|jpg|jpeg|gif|ico)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}

这个配置会将静态资源的过期时间设置为30天,并且添加了缓存控制头。这将告诉浏览器在30天内缓存这些资源并从缓存中加载。

3. 示例配置1

下面是一个示例的Nginx配置:

user nginx;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    sendfile on;

    gzip on;
    gzip_types text/plain text/xml application/xml application/json;

    server {
        listen 80;
        server_name example.com www.example.com;

        return 301 https://$server_name$request_uri;
    }

    server {
        listen 443 ssl http2;
        server_name example.com www.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://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }

        location /static/ {
            alias /var/www/example/static/;
            expires 30d;
            add_header Cache-Control "public, no-transform";
        }
    }
}

这个配置文件包含了一个监听80端口的HTTP服务,以及一个监听443端口的HTTPS服务。HTTP服务会将请求重定向到HTTPS服务。HTTPS服务会将所有动态请求通过反向代理转发到8000端口,并将所有以/static/开头的请求直接映射到本地文件系统中的静态资源,其中静态资源的缓存时间为30天。

4. 示例配置2

下面是另一个示例的Nginx配置:

user nginx;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    sendfile on;

    gzip on;
    gzip_types text/plain text/xml application/xml application/json;

    server {
        listen 80;
        server_name example.com www.example.com;

        return 301 https://$server_name$request_uri;
    }

    server {
        listen 443 ssl http2;
        server_name example.com www.example.com;

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

        location /api/ {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }

        location / {
            root /var/www/example;
            index index.html;
        }
    }
}

这个配置文件包含了一个监听80端口的HTTP服务,以及一个监听443端口的HTTPS服务。HTTP服务会将请求重定向到HTTPS服务。HTTPS服务会将所有以/api/开头的请求通过反向代理转发到8000端口,并将所有其他请求映射到本地文件系统中的根目录中,并使用index.html作为默认的访问文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx的一些常用配置汇总 - Python技术站

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

相关文章

  • NGINX热部署

    备份二进制文件: cp /usr/bin/nginx nginx.old 把编译好的新版Nginx的二进制文件覆盖旧版本。objs目录为编译过程中的中间文件目录。 cp -r /new_nginx/objs/nginx /usr/bin/ -f 向正在运行Nginx的master进程发送热部署信号: ps -ef | grep nginx root 6668…

    Nginx 2023年4月16日
    00
  • CentOS 下 安装 nginx 执行配置命令 ./configure 报错

      CentOS 下 安装 nginx 执行配置命令 ./configure –prefix=/opt/nginx –sbin-path=/usr/bin/nginx   时提示以下错误:   checking for OS   Linux 2.6.32-431.el6.x86_64 x86_64checking for C compiler … n…

    Nginx 2023年4月13日
    00
  • Nginx伪静态配置和常用Rewrite伪静态规则集锦

    下面我就为大家详细讲解“Nginx伪静态配置和常用Rewrite伪静态规则集锦”的完整攻略,包括以下内容: 什么是Nginx伪静态配置 Nginx伪静态配置的优点和缺点 常用的Rewrite伪静态规则集锦 两个示例说明 什么是Nginx伪静态配置 Nginx伪静态配置是指通过修改URL地址,将动态生成的URL地址改变成静态的URL地址,这样可以提高网址的优化…

    Nginx 2023年5月16日
    00
  • CentOS系统rpm安装Nginx和配置

    下面是 CentOS 系统 rpm 安装 Nginx 和配置的完整攻略。 系统要求 在开始安装之前,请确保你的 CentOS 系统版本是 7 或以上,并且已经安装了 EPEL 仓库。 安装 Nginx 使用以下命令安装 Nginx: sudo yum install epel-release sudo yum install nginx 安装完成后,使用以下…

    Nginx 2023年5月16日
    00
  • Nginx启动异常及解决方案:Failed to start SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy

    当我使用systemctl start nginx.service或者service nginx start命令启动nginx,发现启动失败,报错信息如下:     当使用nginx -t却显示OK.查看状态,信息如下:     解决办法: 根据Nginx配置文件查看配置的端口(本文中使用的是80端口),然后根据端口查看端口占用情况。     修改/etc/…

    Nginx 2023年4月10日
    00
  • Centos6.8 搭建Nginx服务器

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,其特点是占有内存少,并发能力强,业界内的评价一直很不错,反正用过的都说好,虽然我还分不出来它到底好在哪里,看了一下前辈们的文档,百度百科了一下。 手动搭建了一个nginx服务器。下面是具体的搭建步骤: 一:yum安装nignx  一般搭建服务…

    2023年4月9日
    00
  • 如何配置Nginx的gzip压缩?

    要配置Nginx的gzip压缩,需要按照以下步骤进行: 打开nginx的配置文件,一般位于/etc/nginx/nginx.conf。 在http模块中添加如下配置: http { gzip on; gzip_types text/plain text/css application/json application/javascript text/xml …

    Nginx 2023年4月19日
    00
  • nginx+apache+mysql+php+memcached+squid搭建集群web环境

    一、简介 Nginx和Apache是常见的Web服务器,而PHP和MySQL是常见的Web应用程序和数据库。在大型Web应用程序中,当并发用户数量很高时,单个Web服务器无法满足需求,因此需要通过集群来实现负载均衡。同时,Memcached和Squid是常用的缓存技术,它们可以提高Web应用程序的性能和可靠性。 二、环境配置 安装Nginx服务器 Nginx…

    Nginx 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部