~~~
...
... #核心摸塊
events { #事件模塊
...
}
http { # http 模塊
server { # server塊
location [PATTERN] { # location塊
...
}
location [PATTERN] {
...
}
}
server {
...
}
}
mail { # mail 模塊
server { # server塊
...
}
}
~~~
https://www.nginx.cn/doc/index.html
## 核心模塊
主要設置一些影響 Nginx 服務器整體運行的配置指令。比如:worker_processes 1;`worker_processes `值越大,可以支持的并發處理量就越多。
~~~text
user www www; # 配置用戶或者組。
worker_processes auto; # 允許生成的進程數,默認為1
error_log /www/wwwlogs/nginx_error.log crit; # 錯誤日志路徑,級別。
pid /www/server/nginx/logs/nginx.pid; # 指定 nginx 進程運行文件存放地址
~~~
詳細:[Nginx - 主模塊](https://www.nginx.cn/doc/core/mainmodule.html)
## 事件模塊
涉及的指令主要影響 Nginx 服務器與用戶的網絡連接。比如:worker_connections 1024;支持的最大連接數。
~~~text
events {
accept_mutex on; #設置網路連接序列化,防止驚群現象發生,默認為on
multi_accept on; #設置一個進程是否同時接受多個網絡連接,默認為off
use epoll; #事件驅動模型select|poll|kqueue|epoll|resig
worker_connections 1024; #最大連接數,默認為512
}
~~~
詳細:[Nginx - 事件模塊](https://www.nginx.cn/doc/core/events.html)
## http 模塊
又包括 HTTP 全局塊和 Server 塊,是服務器配置中最頻繁的部分,包括配置代理、緩存、日志定義等絕大多數功能。Server 塊:配置虛擬主機的相關參數。Location 塊:配置請求路由,以及各種頁面的處理情況。
~~~text
http {
include mime.types; # 文件擴展名與文件類型映射表
default_type application/octet-stream; # 默認文件類型,默認為text/plain
access_log off; # 取消服務日志
sendfile on; # 允許 sendfile 方式傳輸文件,默認為off,可以在 http 塊,server 塊,location 塊。
sendfile_max_chunk 100k; # 每個進程每次調用傳輸數量不能大于設定的值,默認為0,即不設上限。
keepalive_timeout 65; # 連接超時時間,默認為75s,可以在http,server,location塊。
server
{
keepalive_requests 120; #單連接請求上限次數。
listen 80; #監聽端口
server_name 127.0.0.1; #監聽地址
index index.html index.htm index.php;
root your_path; #根目錄
location ~ \.php$
{
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
}
~~~
### location 查找規則
~~~json
location = / {
……
}
~~~
- “=” 開頭表示精確匹配,如 A 中只匹配根目錄結尾的請求,后面不能帶任何字符串。
- “^~” 開頭表示 uri 以某個常規字符串開頭,不是正則匹配
- “~” 開頭表示區分大小寫的正則匹配;
- “~*” 開頭表示不區分大小寫的正則匹配
- “/” 通用匹配,如果沒有其它匹配,任何請求都會匹配到
- PHP
- PHP 核心架構
- PHP 生命周期
- PHP-FPM 詳解
- PHP-FPM 配置優化
- PHP 命名空間和自動加載
- PHP 運行模式
- PHP 的 Buffer(緩沖區)
- php.ini 配置文件參數優化
- 常見面試題
- 常用函數
- 幾種排序算法
- PHP - 框架
- Laravel
- Laravel 生命周期
- ThinkPHP
- MySQL
- 常見問題
- MySQL 索引
- 事務
- 鎖機制
- Explain 使用分析
- MySQL 高性能優化規范
- UNION 與 UNION ALL
- MySQL報錯:sql_mode=only_full_group_by
- MySQL 默認的 sql_mode 詳解
- 正則表達式
- Redis
- Redis 知識
- 持久化
- 主從復制、哨兵、集群
- Redis 緩存擊穿、穿透、雪崩
- Redis 分布式鎖
- RedisBloom
- 網絡
- 計算機網絡模型
- TCP
- UDP
- HTTP
- HTTPS
- WebSocket
- 常見幾種網絡攻擊方式
- Nginx
- 狀態碼
- 配置文件
- Nginx 代理+負載均衡
- Nginx 緩存
- Nginx 優化
- Nginx 配置 SSL 證書
- Linux
- 常用命令
- Vim 常用操作命令
- Supervisor 進程管理
- CentOS與Ubuntu系統區別
- Java
- 消息隊列
- 運維
- RAID 磁盤陣列
- 邏輯分區管理 LVM
- 業務
- 標準通信接口設計
- 業務邏輯開發套路的三板斧
- 微信小程序登錄流程
- 7種Web實時消息推送方案
- 用戶簽到
- 用戶注冊-短信驗證碼
- SQLServer 刪除同一天用戶重復簽到
- 軟件研發完整流程
- 前端
- Redux
- 其他
- 百度云盤大文件下載
- 日常報錯記錄
- GIT
- SSL certificate problem: unable to get local issuer certificate
- NPM
- reason: connect ECONNREFUSED 127.0.0.1:31181
- SVN
- SVN客戶端無法連接SVN服務器,主機積極拒絕
- Python
- 基礎
- pyecharts圖表
- 對象
- 數據庫
- PySpark
- 多線程
- 正則
- Hadoop
- 概述
- HDFS