nginx基本配置之部署

本文详细介绍了Nginx的高性能特性、核心模块、配置文件结构,包括全局和事件驱动配置,以及可选模块如邮件和流服务。此外,还探讨了如何调整并发处理、优化CPU绑定、控制工作进程优先级和调试文件限制等关键点。
摘要由CSDN通过智能技术生成

 Nginx简介

是一个高性能的开源Web服务器,反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。Nginx专为性能优化而设计,可以处理高并发连接,并且占用系统资源较少。它也被广泛用作负载均衡器和HTTP缓存。Nginx的设计目标之一是解决C10k问题,即同时连接数超过1万的情况下仍能保持高性能。

 Nginx的配置文件的组成部分:

主配置文件:nginx.conf 

子配置文件: include conf.d/*.conf

#事件驱动相关的配置   同步
event {
 ...
}   
#http/https 协议相关配置段
http {
 ...
}          
#默认配置文件不包括下面两个块
#mail 协议相关配置段
mail {
 ...
}    
#stream 服务器相关配置段
stream {负载均衡
 ...
}

4.1全局配置的六个模块

全局配置模块

就是配置文件从头开始到 events 块之间的内容,主要设置的是影响nginx服务器整体运行的配置指令。比如 worker_process,值越大,可以支持的并发处理量也越多,但是还是和服务器的硬件相关

核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 、配置文件解析 、事件驱动机制 、进程管理等核心功能

标准HTTP模块:提供 HTTP 协议解析相关的功能,比如: 端口配置 、 网页编码设置 、 HTTP响应头设置 等等

可选HTTP模块:主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,比如:Flash 多媒体传输 、解析 GeoIP 请求、 网络传输压缩 、 安全协议 SSL 支持等

邮件服务模块:主要用于支持 Nginx 的 邮件服务 ,包括对 POP3 协议、 IMAP 协议和 SMTP协议的支持

Stream服务模块: 实现反向代理功能,包括TCP协议代理

第三方模块:是为了扩展 Nginx 服务器应用,完成开发者自定义功能,比如: Json 支持、 Lua 支持

注意:location 匹配的内容来源是来自网页的URI,而不是URL

(URL代表整个链接如:www.baidu.com/images/search,而URI则是/images/search。所以nginx的location匹配的是URI) 

access模块

①access模块默认是安装的无论是yum安装还是编译安装,不安装此模块需要在编译安装时添加--

without-http_access_module。

②access模块有allow和deny俩个动作,allow是允许那些ip访问,deny是拒绝那些ip。默认是黑名

单,拒绝谁才不能通过,不拒绝全部允许通过。

③设置拒绝192.168.11.9

server {
        listen 80;

        server_name www.kgc.com;

        deny 192.168.11.9/32;

#拒绝192.168.11.8地址访问此网页

        root /data/nginx/pc/;
 
}

④在其他2台pc的/etc/hosts文件中添加 192.168.30.8 www.kgc.com,然后访问。

4 Nginx配置文件的详解

4.1.1关闭版本

  server_tokens  off;vim /apps/nginx/conf/nginx.conf

 

 

4.1.2修改版本信息:

修改版本名与版本号重新编译

①修改源代码

[root@localhost nginx]#vim  /opt/nginx-1.18.0/src/core/nginx.h
13 #define NGINX_VERSION      "版号"
14 #define NGINX_VER          "软名/" NGINX_VERSION
#src源代码目录,core核心代码目录



[root@localhost nginx]#vim /opt/nginx-1.18.0/src/http/ngx_http_header_filter_module.c 

49 static u_char ngx_http_server_string[] = "Server: mcb" CRLF;

 重新编译安装

4.13cpu与work 进程 绑定

将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。

#ps axo pid,cmd,psr,ni|grep -v grep |grep nginx|sort -n

实验绑定

#ps axo pid,cmd,psr,ni|grep -v grep |grep nginx|sort -n

4.1.4PID 路径 

pid    /apps/nginx/run/nginx.pid;
 
 
pid  进程号文件位置 可以 自定义

4.1.5nginx进程的优先级

(work进程的优先级)

当你想将nginx的work进程的优先级调高 可以使用nice设置

worker_priority -10; 

 4.1.6调试work进程打开的文件的个数

worker_rlimit_nofile 65534;

#所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与

客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致
 调系统进程 

 修改pam认证文件

[root@localhost nginx-1.18.0]#vim /etc/security/limits.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值