首页 > 系统相关 >Nginx的一些基本配置

Nginx的一些基本配置

时间:2024-11-11 15:40:37浏览次数:4  
标签:基本 log nginx 配置 server Nginx proxy com example

1. 基本配置

首先,我们需要编辑 Nginx 的主配置文件 nginx.conf。这个文件通常位于 /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf

示例:基本配置

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

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

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

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    # Gzip Settings
    gzip  on;
    gzip_disable "msie6";

    # Include other configuration files
    include /etc/nginx/conf.d/*.conf;
}

2. 配置虚拟主机

虚拟主机允许您在同一台服务器上托管多个网站。每个虚拟主机的配置通常放在 /etc/nginx/conf.d/ 目录下的单独文件中。

示例:虚拟主机配置

创建一个文件 /etc/nginx/conf.d/example.com.conf

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

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
        root /usr/share/nginx/html;
    }

    # Logs
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;
}

3. 反向代理

Nginx 可以用作反向代理,将请求转发到后端服务器。

示例:反向代理配置

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

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

4. 负载均衡

Nginx 可以配置为负载均衡器,将请求分发到多个后端服务器。

示例:负载均衡配置

http {
    upstream backend_servers {
        server 192.168.1.10:8080;
        server 192.168.1.11:8080;
        server 192.168.1.12:8080;
    }

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

        location / {
            proxy_pass http://backend_servers;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

5. 静态内容服务

Nginx 可以高效地提供静态内容,如图片、CSS 和 JavaScript 文件。

示例:静态内容服务配置

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

    root /var/www/static.example.com;

    location / {
        try_files $uri $uri/ =404;
    }

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

6. 测试和重新加载配置

在修改配置文件后,建议先测试配置文件是否正确:

sudo nginx -t

如果测试通过,可以重新加载 Nginx 以应用新的配置:

sudo systemctl reload nginx

或者

sudo service nginx reload

以上是一些常见的 Nginx 配置示例。根据您的具体需求,您可以进一步调整和优化这些配置。

标签:基本,log,nginx,配置,server,Nginx,proxy,com,example
From: https://www.cnblogs.com/wyl-1113/p/18527493

相关文章

  • Hive的基本操作(附详细步骤和相关操作截图)
    Hive3.1.2概述与基本操作1、Hive基本概念1.1 Hive简介Hive本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更近一步说hive就是一个MapReduce客户端。面试题:什么是hive?1、hive是数据仓库建......
  • 基于云服务器搭建个人网站,nginx:bind() to 0.0.0.0:80 failed解决方法
    前言我在搭建个人网站时出现下面情况nginx:[emerg]bind()to0.0.0.0:80failed(98:Unknownerror)nginx:[emerg]bind()to[::]:80failed(98:Unknownerror)如果你的也是这样,本帖应能帮到你解决方法首先确保安全组中的80端口是开放的查看端口占用情况命令(可......
  • appsettings.json launchSettings.json 发布 配置
    默认的 JsonConfigurationProvider 会按以下顺序加载配置:appsettings.jsonappsettings.{Environment}.json:例如,appsettings.Production.json 和 appsettings.Development.json 文件。文件的环境版本是根据 IHostingEnvironment.EnvironmentName 加载的。有关详细信息,......
  • nginx权限问题 failed( 13 Permission denied )
    使用nginx代理时,文件一直无法展示,查看nginx的error日志文件显示Permissiondenied,权限问题1.查看nginx启动用户和使用用户是否一致psaux|grepnginx输出的第一列就是用户名称2.打开nginx配置文件#查找nginx.conf文件的位置ps-aux|grepngxin输出记录中有/conf/n......
  • LangChain Runnable 组件深度解析:灵活配置、错误处理与生命周期管理
    在LangChain框架中,Runnable组件是构建灵活、可配置的AI应用的核心。本文将深入探讨Runnable组件的高级特性,包括动态参数配置、组件替换、错误处理机制以及生命周期管理。通过掌握这些特性,开发者可以构建更加健壮和可维护的AI应用。1.Runnable组件动态添加默认调用参数......
  • jeecgboot配置QQ邮箱
    在JeecgBoot中配置QQ邮箱主要涉及到修改项目中的配置文件。以下是配置QQ邮箱的基本步骤和示例代码:修改application-dev.yml(或对应的开发环境配置文件),添加邮件服务器的配置信息。spring:mail:host:smtp.qq.com#QQ邮箱的SMTP服务器地址port:587#SMTP服务器的端口,QQ邮箱......
  • openresty配置为简单文件上传下载服务器
    安装resty.upload模块opminstallledgetech/lua-resty-upload新建/usr/local/openresty/nginx/lua/upload.lua内容如下:localupload=require"resty.upload"localcjson=require"cjson.safe"localchunk_size=4096localform,err=upload:new(c......
  • K8s安装ingress-nginx
    安装ingress-nginx问题ingress-nginx-controller的service通过NodePort显露出去时,需要先使用ingree-controller调度到的节点先访问一次,集群的其他节点才能正常访问,如:有master:10.191.9.21,node1:10.191.9.22,node2:10.191.9.23三个节点,ingress-controller调度到了......
  • Codigger之配置LunarVim
    Lunarvim是一款先进的集成开发环境(IDE),构建于Neovim之上,致力于为用户提供一个高效且个性化的编程平台。该环境融合了Neovim的核心优势,并增添了多项扩展功能,以支持诸如代码高亮、自动补齐、以及语言服务器协议(LSP)等特性,旨在为Codigger用户在Neovim中复现熟悉的开发体验。高效开发工......
  • 【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
    说明:本文所涉及的AI运动识别、计时、计数能力,都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎,可以为您的小程序或UniAPP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及自定义扩展运动识别能力。完善的文档、Demo......