Nginx详解

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

Nginx

一.nginx详解

1.优势

支持高并发 (静态请求)

高性能反向代理功能(负载均衡服务器)

安装非常简单、bug很少、可在线平滑升级

模块丰富(功能丰富)

2.安装

  1. yum安装(本地源,base源,epel扩展源)

    方案一、使用官方源:
    注意:本地yum源没有nginx的安装包,需要其他的扩展源
    #安装epel  yum源  (需要开启官方Base源)
    yum install epel-release -y
    会发现多了两个yum源文件:
    epel.repo  epel-testing.repo    (epel扩展源:包含nginx)
    
    
    #安装nginx
    yum -y install nginx
    #启动nginx
    systemctl start nginx
    
    #防火墙放行
    firewall-cmd --add-service=http --per
    firewall-cmd --reload
    
    #主配置文件:/etc/nginx/nginx.conf
    
    
    
  2. 源码安装

    1.停止原有web服务卸载yum安装的nginx
    2.准备源码安装依赖的环境
    yum install -y gcc pcre-devel zlib-devel
    注意:本地yum源版本过低,使用官方yum源:CentOS-Base.repo
    
    3.创建程序运行用户和组
    useradd  -M -s /sbin/nologin  nginx
    
    4. 下载源码包
    wget http://nginx.org/download/nginx-1.19.7.tar.gz
    
    
    5.解包
    tar -axf nginx-1.19.7.tar.gz
    6.配置
    cd ~/nginx-1.19.7
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
    
     注释:      --prefix=/usr/local/nginx #指定安装目录
                    --user=nginx --group=nginx #指定程序运行的用户和组
    
    7.编译安装
    make  &&  make install
    
    8.启动服务
    /usr/local/nginx/sbin/nginx
    netstat -tunlp | grep nginx
    
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --reload
    
    9.客户机测试访问
    
    10.环境优化
    环境变量:PATH (命令的默认搜索路径)
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    简化命令的路径
    vim   /etc/profile.d/nginx.sh
    export PATH="/usr/local/nginx/sbin:$PATH"
    source /etc/profile #立即生效
    
    以后启动只需要执行:nginx    或  nginx -c /usr/local/nginx/conf/nginx.conf
     ## 设置:开机自启动
    echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local (开机会执行的脚本)          
    chmod +x /etc/rc.d/rc.local
    

    3.nginx服务管理

    1.启动
    nginx 或 nginx -c /usr/local/nginx/conf/nginx.conf
    2.快速关闭
    pkill -9 nginx
    或者 nginx -s stop
    3.重载
    nginx -s reload
    4.优雅的关闭
    nginx -s quit

    4.nginx升级或者添加模块

    1.进入之前编译安装的目录,清除旧数据
    make clean

    2.重新配置,添加你需要的模块(功能)
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
    –with…
    (重新配置会涉及到更多依赖包,根据报错去安装)

    3.编译安装
    make && make install

    4 .平滑升级
    make upgrade

    5.查看
    nginx -V

    #日志切割(防止单个文件过大,可以及时删除旧日志,节省磁盘空间)
    cat log.sh
    #!/bin/bash
    dir=/usr/local/nginx
    mv $dir/logs/access.log $dir/logs/date +%F.access.log
    mv $dir/logs/error.log $dir/logs/date +%F.error.log
    $dir/sbin/nginx -s reopen
    find $dir/logs/ -iname “*log” -atime +3 -exec rm -rf {} ;
    编辑周期性计划任务定期执行该脚本:
    crontab -e
    59 23 * * * /bin/bash /root/log.sh

    修改时间测试:
    date -s “2021-11-24 23:58:50”

5.nginx配置文件详解

nginx主配置文件主要有以下几大块

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。
5、location块:配置请求的路由,以及各种页面的处理情况。  



[root@clone1 nginx]# vim /usr/local/nginx/conf/nginx.conf    #user  nobody;                          
worker_processes  1;///worker进程轻易不要调,否则会出问题,,这里的worker进程数调成了多少,对应的nginx就会生成多少worker进程。#最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。#不能确定的时候,将其设置为可用的CPU核心数将是一个好的开始(设置为“auto”将尝试自动检测它)    #error_log  logs/error.log;    #error_log  logs/error.log  notice;    #error_log  logs/error.log  info;       #pid        logs/nginx.pid;             events {
   
   

​        worker_connections  1024;

​       ///每个进程最大的连接数,可以适当调高一点,最大值是65535

,nginx最终的并发连接数是这里的每个进程连接数乘以上面的worker进程数目

}
    http {
   
              (这种方式可以自定义发布目录)                                   include       mime.types;             
        default_type  application/octet-stream;server_tokens off;#隐藏软件版本号
\#定义访问日志格式        #                  '$status $body_bytes_sent "$http_referer" '        #                  '"$http_user_agent" "$http_x_forwarded_for"';        #access_log  logs/access.log  main;                                                                       
sendfile        on;#开启高效文件传输模式        #tcp_nopush     on;    #keepalive_timeout  0; keepalive_timeout  65;#连接超时时间        #gzip  on; server {
   
   
            listen       80;                        #监听端口
            server_name  localhost;            \#虚拟主机名称
            \#charset koi8-r;                //字符集设置  

​        \#access_log  logs/host.access.log  main;        //定义日志。编译安装的日志
​        location / {
   
                                                   #资源路径
​            root   html;                                        //默认发布网站目录,可以自定义
​            index  index.html index.htm;            //在发布网站目录下面有默认主页。可以写多个。按顺序访问
​      }\#error_page  404              /404.html;\# redirect server error pages to the static page /50x.html
​        \#
​        error_page   500 502 503 504  /50x.html;
​        location = /50x.html {
   
   
​            root   html;}\# proxy the PHP scripts to Apache listening on 127.0.0.1:80
​        \#
​    
C2000 ePWM与SDFM同步配置:从寄存器到Driverlib实战解析 在嵌入式实时控制系统中,脉宽调制(PWM)是实现电机驱动、数字电源等应用的核心技术,其信号质量和时序精度直接决定了系统性能。为实现精确控制,PWM信号常需与模数转换器(ADC)或Sigma-Delta滤波器(SDFM)的采样时刻严格同步,以消除开关噪声并获取准确的反馈信号。其技术原理在于通过硬件同步机制,将PWM的特定时间点(如周期中心)作为触发源,控制数据采集的启动时刻。这种硬件级同步能有效提升闭环控制的稳定性和动态响应速度,广泛应用于伺服驱动、变频器等高性能场景。本文聚焦于TI C2000系列微控制器, 阅读详情

相关推荐

3篇1章6节:R基础绘图之图形的保存和导出技巧

高质量图形导出是R语言用户在数据分析和科研工作中的重要技能。通过合理控制图形的分辨率、选择合适的颜色管理方案和文件格式,以及掌握批量保存图形的技巧,可以显著提升图形的展示效果和应用范围。这不仅有助于提高研究成果的展示质量,还能在各种专业场合中展现数据分析的精确性和美观性。

MD Code 1421

大厂面试必会的tomcat核心技术+Nginx性能调优你会了吗?

为了大厂的面试offer,今天给大伙介绍Tomcat组件结构+Nginx性能调优 对于tomcat的核心技术我觉得可以分为这些: 如图 tomcat的基本配置: 而Tomcat的基本配置,每个配置项也基本上对应了Tomcat的组件结构,如果要用一张图来形象展现一下Tomcat组成的话,整个Tomcat的组成可以如下图所示: tomcat收听请求,如何响应? Tomcat在接收到用户请求时,将会通过以上组件的协作来给最终用户产生响应。首先是最外层的Server和Service来提供整个运行

SQY0809的博客 1162

stata新版莫兰指数代码及配套数据.zip

详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/144409862

Nginx网站服务详解设置并发数、实现不同虚拟主机等)

掌握nginx的最大并发数量的设置掌握nginx的状态模块收集,一般会关闭日志收集掌握黑白名单和用户认证的设置,这都是有三个不同的作用域http\server\location掌握root和alias的区别,一个是追加location路径 一个是直接替换location路径掌握三种不同方式虚拟主机,基于不同域名 基于不同ip 基于不同端口。

liu_xueyin的博客 3603

高并发的nginx怎么配置

为了提高 Nginx 的高并发性能,可以在 nginx.conf 文件中进行如下配置: 调整 worker_processes 和 worker_connections 的值,使它们与机器的 CPU 核数相匹配。 使用 epoll 或 kqueue 作为事件模型,这样可以提高并发能力。 使用 sendfile 发送文件,这样可以减少 CPU 的负担。 使用 keepalive 连接,这样可...

weixin_35756130的博客 936

nginx并发数限制 limit_conn

本篇博客通过介绍 Nginx 的 limit_conn 指令,介绍了如何限制和控制服务器的并发连接数量。在高并发访问的场景下,若连接数没有得到有效的控制,则服务器的性能将受到影响,甚至可能导致崩溃。limit_conn 指令可以帮助开发者更好地抵御恶意请求和 DDoS 攻击,确保服务器能够有效响应合法请求。博客还介绍了 limit_conn指令的基本语法、可用参数以及一个实例,帮助读者了解如何在 Nginx 服务器上实现限制连接数。控制并发连接数量是保证服务器正常运行的关键设置之一,在处理高并发请求时很重要

JudithHuang的博客 5666

Nginx】之 nginx.conf 配置详解

一、Nginx.conf 文件配置结构 ... # 全局块 events { # events块 ... } http { # http块 ... # http全局块 server { # server块 ... # server全局块 location [PATTERN] { # location块 ...

王廷云的博客 2万+

本文来深入学习Nginx/OpenResty详解Nginx到底是个什么鬼

Nginx/OpenResty详解 Nginx(或OpenResty)在生产场景中使用的广泛程度已经到了令人咂舌的地步。无论其实际的市场占用率如何,以笔者这些年所经历的项目来看,其使用率为100%。 然而,笔者周围的大量开发人员对Nginx(或OpenResty)的了解程度都停留在基本配置的程度,对其核心原理和高性能配置了解不多。 本文不仅为大家解读Nginx的核心原理和高性能配置,还将介绍Nginx+Lua高并发实战编程,帮助大家掌握一个解决高并发问题的新利器。 Nginx简介 Nginx是一个

m0_63437643的博客 4241

Nginxnginx.conf 配置结构详解

HTTP相关的配置放在:/usr/local/nginx/conf/conf.d/http 目录下TCP相关的配置放在:/usr/local/nginx/conf/conf.d/tcp 目录下user root;events {...#TCP相关配置(不能放在下边的HTTP模块中不然会报错);这里的include是指包含/usr/local/nginx/conf/conf.d/tcp路径下所有的.conf。http {...#HTTP相关配置(需要放在HTTP模块中不然会报错);

dghfttgv的博客 4753

Nginx中 配置文件 nginx.conf 详解

proxy_max_temp_file_size :当 proxy_buffers 放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M,它与 proxy_cache 没有关系;紧跟在 location 后面的是 location 模块监听的 url 地址,也就是 location 块的匹配规则,只有匹配正确的地址才会进入该 location 块,可以使用正则表达式进行匹配(~ 表示区分大小写,~* 表示不区分大小写);

qingyuwp的博客 3962

nginx的配置和详解

nginx简介 nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。 nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。 第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 nginx.

B_memory的博客 1182

nginx配置详解

nginx配置详解。对于自己上线项目的前端来说,nginx也是必须要了解和熟悉的,查了很多的nginx文章,看着写的都很详细,但是却没有了整体的概念。这里就重新梳理一遍,也理清思路。我们在安装nginx之后,会自动生成很多的文件,但是nginx.conf这个文件是我们的核心,如何去正确的修改和优化它是nginx的核心。首先我们可以先看下原本的配置,你会觉得无所适从,因为感觉这个鬼东西也太多了吧。而且感觉根本就不理解,也不知道该怎么写。下面,就一步一步的教你如何入门到熟悉。

weixin_43239880的博客 7万+

nginx 详解

是由俄罗斯人发明的一款高性能的web服务器,它同早期的Apache,IIS,Lighttpd等都具有web服务器的功能,能够发布网站代码等资源,为用户提供信息资讯。但是nginx的功能不单单只是做为web服务器,它还可以用来做反向代理和负载均衡服务器,并且整体性能非常强大,在web前端服务器目前是企业的首选。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器

精神小牛马 1273

Nginx——详解

序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 Nginx

hyk的博客 1192

nginx详解

原错误文件日志位置【1】配置【2】建立所需文件【3】添加地址解析【4】测试。

wuyyy92的博客 1685

nginx-2-讲解与使用

nginx讲解与使用

weixin_44383484的博客 9974

Nginx

Nginx 在开发的时候, 在最开始我们需要上线一个项目的时候, 用户使用的少, 并发很小, 只需要一个服务器就可以很好的使用。但是慢慢的,使用使用的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。 于是乎, 据需要氪金玩家开始多买几个服务器, 这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。 我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器节点之上。这个过程用户是无

ximingx 3004

nginx高并发配置

nginx高并发配置 控制速率 nginx.conf http { ``` # 限流设置 nginx 控制请求速率 # binary_remote_addr 通过ip进行限流 contentRateLimit 设置漏桶空间大小 rate=2r/s 每秒只允许2个请求 limit_req_zone $binary_remote_addr zone=contentRateLimit:10m rate=2r/s; ``` server {

weixin_39471325的博客 365

大数据云计算运维之Nginx反向代理与负载均衡

Nginx(“engine x”)是一个高性能的 HTTP /反向代理的服务器及电子邮件(IMAP/POP3)代理服务器。 官方测试nginx能够支撑5万并发,并且cpu,内存等资源消耗却非常低,运行非常稳定。最重要的是开源,免费,可商用的。 Nginx还支持热部署,几乎可以做到7 * 24 小时不间断运行,即时运行数个月也不需要重启,还能够在不间断服务的情况下对软件进行升级维护。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 1455

源码编译Nginx服务器及其配置与应用

源码编译Nginx服务器及其配置与应用 文章目录源码编译Nginx服务器及其配置与应用一、Nginx的特点1.高并发2.低消耗3.低消耗4.高可用5.高扩展二、编译安装Nginx服务1.关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下2.安装依赖包3、创建运行用户、组4.编译安装Nginx5.检查、启动、重启、停止 nginx服务6.添加 Nginx 系统服务三、认识Nginx服务的主配置文件 nginx.conf1.全局配置2.I/O 事件配置3.HTTP 配置4.日志格式设定四、访问

qq_35456705的博客 1537
上一篇: LAMP详操
下一篇: Linux-防火墙
why0706y
博客等级 码龄6年 7粉丝 · 66原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值