Nginx概述

与 Apache 软件类似,Nginx (“engine x”)是一个开源的、支持高性能、高并发的web服务和代理服务软件。它是由俄罗斯人 Igor Sysoev 开发的,最初被应用在俄罗斯的大型网站 www.rambler.ru 上。后来作者将源代码以类 BSD 许可证的形式开源出来供全球使用。

Nginx 可以运行在Unix、Linux、BSD、Mac Os X、Solaris,以及 Microsoft Windows等操作系统中。随着 Nginx 在国内很多大型网站的稳定高效运行,其近两年也逐渐被越来越多的中小型网站所使用。当前流行的 Nginx web 组合被称为 LNMP。

Nginx 因具有高并发(特别是静态资源)、占用系统资源少等特性且功能丰富而逐渐流行起来,到目前为止大有赶超 Apache,而获得第一的趋势。

why Nginx

  • 可靠,服务稳定,而且非常轻量

    功能模块少 (源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装)

    代码模块化 (易读,便于二次开发,对于开发人员非常友好)

    安装简单、配置文件简洁,配置灵活

  • 高性能:支持高并发,能支持几万并发连接

  • 资源消耗少:3万并发,开启10个Nginx线程消耗不到200M内存

  • 功能强大

    可做反向代理及负载均衡,相当于专业的Haproxy或LVS功能

    可做缓存(相当于Squid)

  • Nginx支持Epoll网络I/O模型,Apache采用传统Select网络I/O模型

    Select: 当用户发起一次请求,select模型就会进行一次遍历扫描,处理高并发大量请求时性能低下。

    Epool: 当用户发起请求,epool模型会直接进行处理,效率高效,并无连接限制。

    比喻:你去宿舍找人。select会带你挨个房间找;epool会先登记每个人的房间号,你来了只需告诉你房间号。

  • 互联网公司都选择Nginx

    1.Nginx技术成熟,具备的功能是企业最常使用而且最需要的

    2.适合当前主流架构趋势,微服务、云架构、中间层

    3.统一技术栈,降低维护成本,降低技术更新成本。

Nginx典型应用场景

(1)作为Web 服务软件

(2)反向代理或负载均衡服务

在反向代理负载均衡功能方面,它类似于大名鼎鼎的 LVS负载均衡以及 Haproxy 专业代理软件,但是Nginx 部署起来更为简单、方便。

(3)前端业务数据缓存服务

在Web缓存服务方面,Nginx可通过自身的proxy_cache模块实现类似Squid等专业缓存软件的功能。

Nginx安装

安装方式:

1、编译安装Nginx (1.版本随意 2.安装复杂 3.升级繁琐 4.规范 5.便于管理)

2、epel仓库安装Nginx (1.版本较低 2.安装简单 3.配置不易读)

3、官方仓库安装Nginx (1.版本较新 2.安装简单 3.配置易读)

2与3安装对比:

##### epel仓库安装 #####
直接yum install -y nginx 是走eple仓库 root@web02,172.16.1.8:~ # nginx -v
nginx version: nginx/1.20.1 #//版本较低
公司没规定就直接安,因为快 ##### 官方仓库安装 #####
https://nginx.org/en/download.html 拉到最底下
https://nginx.org/en/linux_packages.html
https://nginx.org/en/linux_packages.html#RHEL-CentOS # 先vim /etc/yum.repos.d/nginx.repo再安装
把上面的官方仓库考进来
[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
module_hotfixes=true # 此时yum安装可以看到是走上面的[nginx-stable]源
yum install -y nginx # 查看版本
[root@web01 /etc/yum.repos.d]# nginx -v
nginx version: nginx/1.24.0 #//版本较新

Nginx启停

# 启动
systemctl start nginx
nginx
/usr/sbin/nginx # nginx加入开机自启
systemctl enable nginx # 停止
systemctl stop nginx
nginx -s stop
/usr/sbin/nginx -s stop # 重启
systemctl restart nginx # 重新加载
systemctl reload nginx # 选项
-c 指定配置文件的路径
-t 检测配置文件语法问题(不检测单词拼写)
-s 启停重载 属于服务操作
-v 查看版本号
-V 检查nginx的编译参数

验证是否安装成功:打开浏览器访问

注意防火墙和SElinux是否关闭。

Nginx快速入门:简介、安装、配置的更多相关文章

  1. Nginx快速入门菜鸟笔记

    Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...

  2. 【云原生 · Docker】Docker入门、安装配置

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying Docker入门.安装配置 1. Docker入门简介 2. Docker虚拟化特点 3. ...

  3. webpack快速入门——如何安装webpack及注意事项

    1.window+R键,输入cmd打开命令行工具,输入 mkdir XXXX(XX:文件夹名): 2.cd XXX 进入刚刚创建好的文件夹里,输入cnpm install -g webpack (安装 ...

  4. Nginx单向认证的安装配置

    Nginx单向认证的安装配置 首先系统要已经安装了openssl,以下是使用openssl安装配置单向认证的执行步骤与脚本: #------------------------------------ ...

  5. Redis快速入门:安装、配置和操作

    本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...

  6. (1)Maven快速入门_1maven安装

    Maven 快速入门 1.1 Maven官网下载     windows 系统 下载 下图红色框选处. 下载到本地解压, 创建一个本地maven仓库的目录 maven_lib 配置Maven的环境变量 ...

  7. nginx初探,下载安装配置负载均衡

    上一篇我讲了正向代理和反向代理的概念,这个是为nginx做准备的前置技能,网上百度nginx可以知道nginx是什么: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/PO ...

  8. 轻量级HTTP服务器Nginx(入门与安装篇)

    轻量级HTTP服务器Nginx(入门篇)   文章来源于南非蚂蚁   一.什么是Nginx 相信很多读者都对Apache非常熟悉,与Apache类似,Nginx是一款高性能的HTTP和反向代理服务器软 ...

  9. 01 Node.js简介, 安装&配置

    Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开 ...

  10. FastDFS_v5.05+nginx+cache集群安装配置手册

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...

随机推荐

  1. 记一次某CMS代码审计(转载)

    作者:ddwGeGe 本文转自先知社区:https://xz.aliyun.com/t/11774 前言 无意中浏览到某小众OA官网且可以下载到源码,随机审计一波,最后成功Getshell,大佬勿喷 ...

  2. websocket多实例推送解决方案-数据实时展示

    需求 需要前端展示实时的订单数据信息.如下图所示,实时下单实时页面统计更新展示 思路方案 前端使用websocket 建立通信 后端监听数据库的binglog变更,实时得到最新数据,推送到前端 现状及 ...

  3. MySQL对时间戳的格式化

    时间转时间戳 select unix_timestamp('2022-02-22 22:22:22'); 时间戳转时间 select from_unixtime(1645539742); 格式化 SE ...

  4. 2021-10-09:杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。

    2021-10-09:杨辉三角.给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行.在「杨辉三角」中,每个数是它左上方和右上方的数的和.力扣118. 福大大 答案2021-10 ...

  5. vue全家桶进阶之路23:Element UI

    Element UI 是一套基于 Vue.js 的组件库,它提供了一系列常用的 UI 组件,包括表单.弹窗.布局.导航等等.Element UI 的设计风格简洁.易用.美观,且易于定制. Elemen ...

  6. linux DHCP

    目录 一.DHCP概念 二.DHCP工作过程 三.DHCP实验 一.DHCP概念 概念:动态主机配置协议,自动为计算机分配tcp/ip参数 DHCP的优点:1.减少管理员的工作难度 2.避免错误的可能 ...

  7. 现代 CSS 解决方案:CSS 原生支持的三角函数

    在 CSS 中,存在许多数学函数,这些函数能够通过简单的计算操作来生成某些属性值,例如 : calc():用于计算任意长度.百分比或数值型数据,并将其作为 CSS 属性值. min() 和 max() ...

  8. docker部署gitlab CI/CD (二)终篇:部署gitlab runner和添加gitlab-ci.yml文件 终极踩坑版

    关于gitlab部署的教程还好,有的看,但到了cicd环节,简直痛苦面具,教程虽多,但断断续续,先不说大部分都是只截取片段,让人云里雾里,不会的看不懂,懂的不需要看,根据步骤跑不起来不说,改了一堆,完 ...

  9. Unity框架与.NET, Mono框架的关系

    什么是C# C#是一种面向对象的编程语言. 什么是.NET .NET是一个开发框架,它遵循并采用CIL(Common Intermediate Language)和CLR(Common Languag ...

  10. 1.1. Java简介与安装

    Java简介 Java是一种广泛使用的计算机编程语言,由James Gosling和他的团队在Sun Microsystems公司开发,于1995年首次发布.Java的设计理念是"一次编写, ...