nginx基础篇 - 入门介绍与安装教程

文章目录

  • [1 nginx介绍](#1 nginx介绍)
    • [1.1 相关网址](#1.1 相关网址)
    • [1.2 nginx是什么?](#1.2 nginx是什么?)
    • [1.3 nginx能做什么?](#1.3 nginx能做什么?)
    • [1.4 为什么选择nginx?](#1.4 为什么选择nginx?)
  • [2 安装nginx](#2 安装nginx)
    • [2.1 安装依赖环境](#2.1 安装依赖环境)
    • [2.2 下载、解压nginx安装包](#2.2 下载、解压nginx安装包)
    • [2.3 配置安装选项](#2.3 配置安装选项)
    • [2.4 安装nginx](#2.4 安装nginx)

1 nginx介绍

1.1 相关网址

  1. nginx官网
  2. w3c nginx入门指南
  3. w3c nginx使用手册
  4. nignx-tutorial
  5. nginx中文网

1.2 nginx是什么?

nginx(" engine x ")是一个高性能的开源Web服务器软件,也可以作为反向代理服务器、负载均衡器和HTTP缓存等功能。它由俄罗斯的程序员Igor Sysoev开发,旨在解决C10K问题,即同时处理成千上万个并发连接的问题。Nginx采用事件驱动的架构,能够高效地处理大量并发请求。

最初由Igor Sysoev编写 ,并根据 2 条款 BSD 许可进行分发。F5 , Inc. 提供企业发行版、商业支持和培训。

1.3 nginx能做什么?

  1. Web服务器:Nginx可以作为一个高性能的Web服务器,用于提供静态文件、动态内容和代理服务。
  2. 反向代理:Nginx可以作为反向代理服务器,将客户端请求转发给后端服务器进行处理,实现负载均衡和高可用性。
  3. 负载均衡:Nginx支持基于轮询、IP哈希、最少连接等算法的负载均衡功能,可以将请求分发给多台后端服务器,提高系统的性能和可靠性。
  4. HTTP缓存:Nginx可以作为HTTP缓存服务器,缓存静态文件和动态内容,减轻后端服务器的压力,提高网站的访问速度。
  5. SSL/TLS加密:Nginx支持SSL/TLS协议,可以提供安全的HTTPS服务,保护网站和用户数据的传输安全。
  6. URL重写和重定向:Nginx支持灵活的URL重写和重定向功能,可以根据需求对URL进行重写和重定向,实现网站URL的美化和管理。
  7. 日志记录:Nginx可以记录访问日志、错误日志和性能日志等信息,帮助管理员监控和分析服务器运行状态。
  8. 动态模块支持:Nginx支持动态模块的加载和卸载,可以根据需要扩展和定制功能。

1.4 为什么选择nginx?

  1. 高性能:Nginx采用事件驱动的架构,能够高效地处理大量并发请求,具有优秀的性能表现。
  2. 高可靠性:Nginx具有良好的稳定性和可靠性,能够长时间稳定运行,不容易出现故障。
  3. 低内存消耗:Nginx的内存消耗较低,能够有效利用系统资源,提高服务器的性能和效率。
  4. 良好的扩展性:Nginx支持动态模块的加载和卸载,可以根据需要灵活扩展和定制功能。
  5. 灵活的配置选项:Nginx具有丰富的配置选项,可以根据需求灵活配置和定制服务器行为。
  6. 支持HTTP缓存:Nginx可以作为HTTP缓存服务器,提供静态文件和动态内容的缓存功能,提高网站的访问速度。
  7. 反向代理和负载均衡:Nginx支持反向代理和负载均衡功能,可以提高系统的性能和可用性。
  8. 安全性:Nginx支持SSL/TLS加密协议,可以提供安全的HTTPS服务,保护网站和用户数据的传输安全。

2 安装nginx

根据操作系统的不同,安装nginx的方式也有差异,可以参考nginx官网的安装文档进行操作。

本文演示使用源码包方式在CentOS 7.9上安装nginx

2.1 安装依赖环境

主要有两个依赖环境:

  • nginx是基于C语言开发的,所以安装nginx前需要安装C语言编译环境。
  • HTTP rewrite 模块要求安装PCRE库。
  • SSL模块要求OpenSSL库。

安装命令:

shell 复制代码
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2.2 下载、解压nginx安装包

  1. 官网下载页面获取源码包下载地址。

  2. 使用wget下载压缩包

    shell 复制代码
    # 切换到放压缩包的目录
    cd /usr/local/src
    
    # 下载压缩包
    wget https://nginx.org/download/nginx-1.26.2.tar.gz
  3. 解压并进入目录

    shell 复制代码
    # 解压
    tar zxvf nginx-1.26.2.tar.gz
    
    # 进入解压后的目录
    cd nginx-1.26.2

2.3 配置安装选项

解压完成后,目录内容如下:

在安装nginx之前,可以使用目录中的configure命令来配置nignx的安装项目。

具体的配置项目及其作用,可以参考官网的Building nginx from Sources

我们指定安装选项如下(根据自己需要去设置,这里只是演示):

shell 复制代码
./configure \
	--sbin-path=/usr/local/nginx/nginx \
    --conf-path=/usr/local/nginx/nginx.conf \
    --pid-path=/usr/local/nginx/nginx.pid 

执行结果:

2.4 安装nginx

shell 复制代码
# 编译安装命令
make
make install

命令安装完成后,就可以切换到安装目录,然后使用nginx -v命令来查看是否安装成功。

shell 复制代码
# 切换到安装目录
cd /usr/local/nginx
# 查看版本
./nginx -v
相关推荐
TT-Kun20 分钟前
Linux | 进程控制(进程终止与进程等待)
linux·运维·服务器
...:...:...28 分钟前
Linux 第三次脚本作业
linux·运维·服务器
web2u2 小时前
Docker入门及基本概念
java·运维·服务器·spring·docker·容器
MickeyCV2 小时前
Nginx学习笔记:常用命令&端口占用报错解决&Nginx核心配置文件解读
前端·nginx
元气满满的热码式3 小时前
Docker实战-使用docker compose搭建博客
运维·docker·容器
不良人天码星3 小时前
Linux的基础指令和环境部署,项目部署实战(下)
linux·运维·服务器
EasyNVR5 小时前
基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案
运维·服务器·微信·小程序·webrtc·p2p·智能硬件
技术小齐5 小时前
网络运维学习笔记 022 HCIA-Datacom新增知识点03园区网典型组网架构及案例实战
运维·网络·学习
Java潘老师5 小时前
Automa 浏览器自动化编排 实现自动化浏览器操作
运维·自动化
waves浪游5 小时前
Linux基本指令(上)
linux·运维·服务器