Nginx入门

【Nginx】Nginx从入门到实战:全面指南 Nginx是一个功能强大且灵活的Web服务器和反向代理服务器,适用于各种场景,从简单的静态网站到复杂的高流量动态应用。通过合理的配置和优化,Nginx能够提供卓越的性能和可靠性。 阅读详情

1.Nginx是什么?

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。

其特点是占有内存少,并发能力强

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行

Nginx代码完全用C语言从头写成。数据测试表明能够支持高达 50,000 个并发连接数的响应。
在这里插入图片描述

2.Nginx的作用

Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

正向代理:代理的是客户端,因此要知道访问服务器的地址。
在这里插入图片描述

反向代理:代理的是服务器端,不需要知道访问服务器的真实地址。
在这里插入图片描述

负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的。
轮询:服务器依次响应请求
在这里插入图片描述

加权轮询:根据权重大小对请求进行响应。(根据权重响应的比例不是绝对的)
在这里插入图片描述
iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
在这里插入图片描述

动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
nginx实现动静分离,不需要后台处理的文件叫静态文件,静态请求访问本地nginx。
在这里插入图片描述

3.Nginx与Apache的比较

NginxApche
占用内存及资源少,可处理高并发请求rewrite功能强大
本身是反向代理服务器,负载均衡能力突出,可实现分布式架构及高可用集群。动态页面处理能力强
社区活跃,高性能模块出品迅速bug少,稳定性强
模块化设计,编写模块相对简单

4.Nginx的安装

yum安装
RPM包获取:http://nginx.org/packages/
yum安装法法简单,但是缺少灵活性;无法自定义模块及安装路径
yum源配置:http://nginx.org/en/linux_packages.html

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.ke

程序包安装
1、安装gcc

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

2、PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

3、zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

5、下载安装包

手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
在这里插入图片描述
下载完毕上传到服务器上 /root
6、解压

tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

7、配置

使用默认配置,在nginx根目录下执行

./configure
make
make install

查找安装路径: whereis nginx

Nginx常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程

启动成功访问 服务器ip:80

浏览器访问80端口会出现:welcome to nginx!

注意:如何连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口!
相关命令:

开启

service firewalld start

重启

service firewalld restart

关闭

service firewalld stop

查看防火墙规则

firewall-cmd --list-all

查询端口是否开放

firewall-cmd --query-port=8080/tcp

开放80端口

firewall-cmd --permanent --add-port=80/tcp

移除端口

firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

参数解释

1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;

##nginx 配置文件的组成:
1.main区

user nginx       #是worker进程的执行者
worker_processes 1   #worker进程的个数
pid    #pid文件的位置

2.event区(全局配置)

    accept_mutex on;   #防止“惊群”
    multi_accept off;    #一个进程可否接受多个链接
    worker_connections  1024;   #worker 最大连接数
    use epoll;  #网络驱动模型

3.http区

http {
      http配置
      
      upstream xxxx{    #负载均衡
              192.168.42.111  
              192.168.42.112
     }

      upstream yyyy{    #负载均衡
              192.168.42.111  
              192.168.42.112
     }
     server {    #配置虚拟主机
          listen   80;
          server name   location;
          #代理
                 location{
            }
     }
          server {    #配置虚拟主机
          listen   443;
          server name   location;
          #代理
     
                 location{
            }
      }
     }

nginx工作过程:
解析配置文件----实例化socket---- fock子进程 ----监听
客户端请求----有子进程竞相处理----建立链接 ----根据 请求时间选择对应的时间模块 ----处理事件

Nginx教程(一) Nginx入门教程 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 阅读详情

相关推荐

局域网ip冲突检测工具_python 小工具实现 windows笔记本与 ipad数据互传

宅在家没事的时候就开始琢磨ipad的进阶使用,由于没有mac无法隔空投送,ipad与windows的数据交互表现极差,所以设计了这个ftp小工具。当然,这个工具不仅仅能用于windows与ipad,还可以用于局域网任意两台设备之间程序源码与下载见文章末尾使用说明windows端:biubiubiu.exeipad端: appsotre下载 FE文件管理器windows端操作在c盘下创建ftp目录...

weixin_39866265的博客 4435

XNA入门教程(一)

何谓XNA:XNA Framework 是建置于 .NET Framework 2.0上,另外还加入了一些专注于游戏开发上类别库,在指定的平台上使程式码重用达之最大效果。XNA Framework 在一个特别为有管理式游戏运行的通用语言执行层(Common Language Runtime)版本上运行。这个执行层支援Windows XP、Windows Vista和XBox 3...

banshu2416的博客 856

武汉理工大学数据结构综合实验——连连看游戏综合实践

文章目录实验目的主要仪器设备及耗材一、实验要求二、分析与设计(非线性结构)1.数据结构的设计2.核心算法设计一条直线消子两条直线消子三条直线消子初始化游戏地图搜寻路径提示和重排3.测试用例设计4.测试效果总结 实验目的 (1)线性结构实验目的 调研连连看游戏,了解连连看游戏的功能和规则等 掌握集成开发工具VS2019的使用和C++的基础编程 了解MFC框架 了解线性结构,掌握数组的遍历、消子和胜负判断等算法 了解企业软件开发过程,应用迭代开发思路进行项目开发,养成良好的编程习惯和培养软件工程化思维 .

mo_zhe的博客 7612

argmax,nanargmax,nanmax区别

np.argmax(a) 返回包括Nan在内的最大值的索引 np.nanargmax(a) 返回Nan之外的最大值的索引 np.nanmax(a) 返回最大值 代码 import numpy as np a = np.array([[np.nan, 4], [2, 10]]) print(a) np.argmax(a) np.nanargmax(a) np.nanmax(a) 输出: [[nan 4.] [ 2. 10.]] 0 3 10.0 ...

MAGDB的博客 1782

Altium Concord Pro 的应用范围,安装,和使用范围

Altium Concord Pro 的应用范围,安装,和使用范围。保证满足两者软件的最低安装要求。 Altium Concord Pro 是配合Digapcb,和MCAD,Altium 和相应机械设计软件的基础和交换桥梁

hanzhaos的博客 1121

激光甲烷传感器DIY指南:从DFB激光器选型到Herriott池光路搭建

本文详细介绍了如何DIY激光甲烷传感器,从DFB激光器选型到Herriott池光路搭建的全过程。通过TDLAS技术实现ppm级甲烷检测,适用于家用燃气泄漏监测和农业沼气监测等场景。文章包含核心器件选型、光路搭建技巧、信号调理方案及系统集成优化,为创客提供实用指南。

f9g0h的博客 596

Nginx快速入门

nginx快速入门Nginx简介Nginx的特点Nginx作用Nginx安装windos安装启动Nginx检查nginx是否启动成功关闭nginxlinux下安装1、安装gcc2、PCRE pcre-devel 安装3、zlib 安装4、OpenSSL 安装下载linux版的安装包网址同上配置Nginx常用命令Nginx 配置文件nginx.conf全局块events 块http 块http 全局块server 块全局 server 块location 块Nginx 的反向代理正向代理反向代理基于Nginx

dyk 2246

从零开始:使用Verilog在FPGA上实现8051微控制器的完整指南

8051微控制器是一种8位微控制器,由Intel在1980年代初推出。它包括一个CPU、一些RAM和ROM、I/O端口、定时器和串行通信接口。由于其简单的架构和强大的功能,8051已经成为了嵌入式系统设计的首选。FPGA是一种集成电路,设计师可以按照自己的需求进行编程。与传统的ASIC(应用特定集成电路)相比,FPGA提供了更高的灵活性,允许在硬件级别进行快速原型设计和迭代。这里,我们定义了一些基本的输入/输出端口,如时钟clk、复位reset、数据输入/输出和地址输入/输出。

qq_38334677的博客 1332

nginx开发从入门到精通

http://tengine.taobao.org/book/index.html

qq_23350817的博客 1583

4.6 知识库使用指南:如何让AI Agent拥有专业知识

本文介绍了如何为AI Agent构建和使用知识库。知识库的作用是为Agent提供专业知识,包含文档、数据和规则,可用于专业问答和知识检索。使用方法包括创建知识库(上传文档)、向量化处理、知识检索以及在Agent中的应用。核心要点是理解知识库的价值和使用流程。文章还提出了构建方法、检索优化和应用实践等思考题,建议准备高质量数据、优化检索效果并持续更新知识库。下节将介绍用LangGraph构建复杂AI应用。

yonggeit的博客 3011

1、掌握 Microsoft Dynamics 365 Business Central 开发全解析

本文全面解析了Microsoft Dynamics 365 Business Central的开发全流程,涵盖开发环境搭建、AL语言扩展开发、定制解决方案实现、高级开发技术、文件与报表处理、打印功能、调试与性能优化、API使用、Azure和Power Platform集成、DevOps实践以及生成式AI应用。同时探讨了开发工具技巧、常见问题解决、开发流程优化、团队协作要点及未来技术趋势,帮助开发者系统掌握Business Central开发核心技能,提升企业级应用开发效率与质量。

food6的博客 111

Nginx 从入门到精通

Nginx是一款高性能的HTTP服务器和反向代理服务器,具有高并发处理能力、低资源消耗和灵活配置等优势。本文从入门到精通详细介绍了Nginx的配置与优化,包括基础配置结构、虚拟主机设置、反向代理、负载均衡、HTTPS配置、静态资源优化等核心功能。同时讲解了性能调优方法、监控日志分析和实际应用案例,并提供了Nginx模块扩展和安全加固的最佳实践,帮助开发者充分发挥Nginx的高性能特性。

weixin_51820421的博客 1324

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Nginx从入门到精通

Nginx从入门到精通

faihtua的专栏 361

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Nginx入门学习

nginx 反向代理 负载均衡 动静分离 高可用 原理分析

weixin_52359996的博客 1189

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

快速入门nginx

快速入门nginx:1.nginx前言、2.什么是nginx、3.Nginx作用?、4.Nginx的安装、5.Nginx常用命令

雙馬程序猿 673

视频教程-Nginx入门视频课程-Nginx

Nginx入门视频课程 全栈工程师,从事软件开发及软件教育培训多年,具有丰富...

weixin_31061053的博客 1005

Nginx——快速入门

Nginx——快速入门

weixin_72076848的博客 465

一文让你nginx入门

概述Nginx(engine x)作为一款开源软件,在网络服务领域占据着举足轻重的地位。它集成了HTTP服务器、反向代理服务器以及电子邮件(IMAP/POP3/SMTP)代理服务器的功能,以其卓越的性能、高度的稳定性和丰富的功能特性,成为全球众多企业和开发者构建高效网络应用的首选方案。起源与发展Nginx的诞生源于对解决高并发访问难题的迫切需求。俄罗斯工程师伊戈尔·赛索耶夫在为访问量位居俄罗斯第二的Rambler.ru站点提供技术支持时,深刻认识到传统服务器软件在处理大规模并发连接时的局限性。

m0_73359068的博客 2326

Nginx 从入门到实践,万字详解!

Nginx 从入门到实践,万字详解!

qq_41490913的博客 232
上一篇: Shell脚本
下一篇: Docker容器技术
PerDrix?
博客等级 码龄7年 6粉丝 31原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值