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
相关推荐
一心0923 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上3 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊3 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
代码老y4 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程4 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
DuelCode5 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
你想考研啊7 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks7 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
饥饿的半导体8 小时前
Linux快速入门
linux·运维
还是奇怪10 小时前
Linux - 安全排查 2
linux·运维·安全