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
相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特4 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏4 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
xing-xing4 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼4 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘4 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥4 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发