当前位置: 首页 > news >正文

Nginx - 配置文件结构(一)

安装Nginx

以 Ubuntu 为例,安装命令为

sudo apt install nginx

常用指令

# 检查配置文件是否有问题
nginx -t# 热加载配置文件
nginx -s reload# 等待处理完当前请求并退出
nginx -s quit# 快速退出
nginx -s stop

目录结构

nginx 默认安装位置一般在 /etc/nginx 目录,默认配置文件为 nginx.conf

drwxr-xr-x 2 root root 4.0K May 30  2023 conf.d
-rw-r--r-- 1 root root 1.1K May 30  2023 fastcgi.conf
-rw-r--r-- 1 root root 1.1K May 30  2023 fastcgi_params
-rw-r--r-- 1 root root 2.8K May 30  2023 koi-utf
-rw-r--r-- 1 root root 2.2K May 30  2023 koi-win
-rw-r--r-- 1 root root 3.9K May 30  2023 mime.types
drwxr-xr-x 2 root root 4.0K May 30  2023 modules-available
drwxr-xr-x 2 root root 4.0K May  1 19:21 modules-enabled
-rw-r--r-- 1 root root 1.5K May 30  2023 nginx.conf
-rw-r--r-- 1 root root  180 May 30  2023 proxy_params
-rw-r--r-- 1 root root  636 May 30  2023 scgi_params
drwxr-xr-x 2 root root 4.0K May  1 19:46 sites-available
drwxr-xr-x 2 root root 4.0K May  1 19:21 sites-enabled
drwxr-xr-x 2 root root 4.0K May  1 19:21 snippets
-rw-r--r-- 1 root root  664 May 30  2023 uwsgi_params
-rw-r--r-- 1 root root 3.0K May 30  2023 win-utf

通常建议将全局配置拆分并放在conf.d目录下,并通过include指令引用,比如默认配置文件中

 include /etc/nginx/conf.d/*.conf;

将每个虚拟站点配置放在sites-available下,并将使用的站点链接到sites-enabled文件夹,默认的配置文件中

include /etc/nginx/sites-enabled/*;

例如配置文件结构为

nginx
├── nginx.conf
├── conf.d/
├── sites-available/
│   ├── site1
│   └── site2
└── sites-enabled/└── site1 -> ../sites-available/site1

配置文件

nginx 配置文件由指令控制的模块组成,指令分为简单指令(simple directives)和块指令(block directives)。

简单指令由名字、参数和分号组成,例如

listen 80;

块指令则将分号替换为花括号{},例如

events {
}

可以包含其他指令的块指令称为上下文(context), 例如 eventshttpserverlocation

配置文件中不包含在其他上下文中的指令则属于主上下文(main context),eventshttp指令位于main context, server 位于http 中, location 位于 server 中。#开头的为注释。

例如默认配置文件nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;# multi_accept on;
}http {### Basic Settings##sendfile on;tcp_nopush on;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}
http://www.lryc.cn/news/345320.html

相关文章:

  • 暗区突围进不去/游戏无法启动/掉帧卡顿/报错的解决方法
  • 基于FPGA的视频矩阵 视频拼接 无缝切换解决方案
  • LeetCode 513.找树左下角的值
  • redis分片java实践、redis哨兵机制实现、redis集群搭建
  • 2024年四千价位段最具统治力的投影仪,坚果N1S 4K: 4K+三色激光=下一代4K
  • MySQL8.3升级踩坑记录
  • 你写的每条SQL都是全表扫描吗
  • 每日两题 / 24. 两两交换链表中的节点 25. K 个一组翻转链表(LeetCode热题100)
  • 【Linux】模拟实现bash(简易版)
  • C++ | Leetcode C++题解之第67题二进制求和
  • 如何确保UDP文件传输工具有最低稳定的传输速度?
  • 力扣爆刷第133天之动态规划收尾(距离编辑与回文子串)
  • List集合中对asList的使用
  • 软件测试所有测试方法
  • linux 下 /usr/local的作用
  • 【web网页制作】html+css旅游家乡河南开封主题网页制作(4页面)【附源码】
  • MySQL用命令行导出数据库
  • uniapp video 层级覆盖
  • SparkSQL概述
  • docker 和 docker-compose
  • 微信小程序支付(完整版)-ThinkPHP/Uniapp
  • 同时安装多个nodejs版本可切换使用,或者用nvm管理、切换nodejs版本(两个详细方法)
  • 马化腾用了一年多的时间,告诉所有人,视频号小店是新风口!
  • 代码随想录算法训练营第36期DAY19
  • C#图像:1.图像区域分割与提取
  • 炸弹使用技巧
  • SpringAop详解
  • 对XYctf的一些总结
  • Visual Studio和Visual Studio Code适用于哪些编程语言
  • 缓存菜品操作