Nginx系列(一)——快速入门Nginx

本文是Nginx系列的第一篇,主要介绍Nginx的基础知识,包括Nginx的发行版本、功能特性、安装配置步骤、常见问题及Nginx架构的初步理解。Nginx是一款轻量级的HTTP和反向代理服务器,以高性能和低内存消耗著称,常用于静态文件服务、反向代理和负载均衡。文章详细讲解了Nginx的安装过程,包括Linux环境检查、依赖安装、服务启动,并讨论了Nginx作为Web服务器的基本配置,如server块、location块、proxy_pass和index等。此外,还介绍了虚拟主机和云服务器的概念,以及Nginx的命令操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

Nginx 是十分轻量级的开源高性能高可靠HTTP和反向代理服务器,性能是 Nginx 最重要的考量,其占用内存少、处理高并发能力是十分强大的,能支持高达 5w 个并发连接数,最重要的是,Nginx 是免费的并可以商业化,配置使用也比较简单

一、Nginx基础扫盲

Nginx的发行版本

和Linux一样,Nginx有一些常用的发行版,我们来看一下,本文主要是对Nginx开源版本的学习

  • Nginx开源版

    简单的web服务器、反向代理、负载均衡

  • Nginx 商业版

    把Nginx和Lua脚本进行了一个整合,对微服务和云原生整合较好

  • openResty——免费开源

    OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关

  • Tengine——免费开源

    Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

Nginx的功能和特性

Nginx有以下三个基础功能,本文主要做到快速上手Nginx,这些功能会在其他篇章详细整理

  • 可以作为静态页面的 web 服务器
  • 反向代理
  • 负载均衡

Nginx 做为 HTTP 服务器,有以下几项基本特性:

  • 支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新
  • Nginx 以事件驱动的方式编写,有非常好的性能,同时可以做非常高效的反向代理、负载均衡服务器了
  • 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
  • 无缓存的反向代理加速,简单的负载均衡和容错.
  • FastCGI,简单的负载均衡和容错

Nginx 的缺点

  • Nginx 仅能支持http、https和Email协议,这样就在适用范围上面小些

  • 对后端服务器的健康检查,只支持通过端口来检测,不支持通过 url来检测。不支持 Session 的直接保持,但能通过 ip_hash 来解决

二、Nginx安装与配置

一般使用解压包方式安装,也是我们主要使用的安装方式,另外可以通过yum命令安装(下文有提到)

step1.Linux环境检查

Loki以后都将在Linux环境下学习整理,因此你需要有一定的Linux基础,不用担心,Loki在写这篇文章时对Linux也是一知半解的状态

请自行准备好一个可以连通网络的虚拟机并且搭载CentOS7系统,你可以通过

除此之外,我们需要安装XShellXftp这两款软件用于控制远端服务器

安装Nginx前,我们要先安装好它的依赖环境,就像Java程序需要运行在JVM上一样,nginx安装依赖以下环境,因此要检查是否安装,如果没有则需要安装这些环境

  • GCC

    GCC编译器是Linux下最常用的C/C++编译器,它以gcc命令的形式呈现

  • openssl-devel

    openssl是多功能命令工具,用于生成密钥,创建数字证书,手动加密解密数据
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

  • pcre-devel

    PCRE(Perl Compatible Regular Expressions)是一个轻量级的Perl函数库,包括 perl 兼容的正则表达式库。它比Boost之类的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库

  • zlib-devel

    zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目

  1. gcc安装

    检查是否安装

    gcc --version
    

    已安装会显示版本号,未安装执行在线安装指令

    yum install gcc-c++
    
  2. PCRE 安装

    查看是否安装

    rpm -qa pcre
    

    已安装会显示版本号,未安装执行在线安装指令

    yum install -y pcre pcre-devel
    
  3. zlib 安装

    查看是否安装

    yum list installed | grep zlib*
    

    已安装会显示版本号,未安装执行在线安装指令

    yum install -y zlib zlib-devel
    

以上环境没有问题之后,我们来安装Nginx

step2.安装Nginx

官方下载地址:http://nginx.org/en/download.html

image-20220426172024670

在本机下载以后通过xftp上传到Linux服务器,执行以下命令

命令 功能
./configure --prefix=/usr/local/nginx 配置Nginx环境
make 编译
make install 安装

安装完nginx后,会在路径 /usr/local 下生成 nginx 文件夹

进入这个目录

cd /usr/local/nginx

ls查看目录结构,建议自行去看看这些文件夹

  • sbin目录(里面有两个文件:nginx nginx.old)
  • conf目录,Nginx的配置文件目录,其中**nginx.conf**是主配置文件

image-20220426223005186

step3.启动Nginx服务

#进入nginx下的sbin目录
cd /usr/local/nginx/sbin
#启动Nginx服务,./表示是当前目录
./nginx 

如果访问你的Linux主机的ip地址能看到这个界面,说明Nginx服务启动成功

image-20220426223307823

三、安装的其他问题

防火墙问题导致无法访问Nginx

🚀 因为防火墙问题,在 windows 系统中访问 linux 中 nginx,默认不能访问的

因此需要开放入口规则,即开放80 端口,操作如下

查看开放的端口号<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值