作者:狮子也疯狂
专栏:《Nginx从入门到超神》
坚持做好每一步,幸运之神自然会降临在你的身上

【Nginx】|入门连续剧——安装_Nginx

目录

  • 一. 🦁 前言
  • Ⅰ. 🐇 为啥我们要使用Nginx?
  • 二. 🦁 搭建流程
  • Ⅰ. 🐇 环境准备
  • Ⅱ. 🐇 安装准备
  • 2.1 安装命令
  • 2.2 参数解释
  • Ⅲ. 🐇 Nginx安装
  • 3.1 下载源码
  • 3.2 版本介绍
  • 3.3 源码编译
  • 3.3.1 解压
  • 3.3.2 生成 makefile
  • 3.3.3 编译安装
  • 三. 🦁 总结

一. 🦁 前言

【Nginx】|入门连续剧——安装_Nginx_02


Nginx是一款轻量级的Web服务器反向代理服务器,由于它的内存占用少启动极快高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型

Ⅰ. 🐇 为啥我们要使用Nginx?

互联网飞速发展的今天,大用户量高并发已经成为互联网的主体.怎样能让一个网站能够承载几万个或几十万个用户的持续访问呢?

我们所接触的单机架构已经不适应现状,一个Tomcat 默认配置的最大请求数是150,也就是说同时支持150个并发。具体能承载多少并发,须要看硬件的配置,线程CPU越多性能越高,分配给JVM的内存越多性能也就越高,但也会加剧GC的负担。

【Nginx】|入门连续剧——安装_服务器_03


所以,我们引入了反向代理负载均衡。如下:

【Nginx】|入门连续剧——安装_分布式_04


这样就可以通过多个web服务器来平均分担压力,并发过来的请求被平均分配到多个后台web服务器来处理。这里就需要使用到Nginx来搭建负载均衡服务器。

二. 🦁 搭建流程

Ⅰ. 🐇 环境准备

  1. Linux操作系统:ContOs 7.6

tips:
必须确认防火墙关闭,网络可用以及yum可用。

Ⅱ. 🐇 安装准备

由于Nginx是一个C语言编写的项目,所以我们要安装C语言编译环境——gcc

2.1 安装命令

yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel

2.2 参数解释

  • gcc:编译依赖gcc环境
  • pcre:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库。
  • zlib:zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
  • Openssl:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

Ⅲ. 🐇 Nginx安装

3.1 下载源码

我们需要访问Nginx官网,下载Nginx软件:下载 点击之后,我们会看到以下页面,这个就是Nginx的官网。点击箭头指向进入下载页面。

【Nginx】|入门连续剧——安装_分布式_05


等待跳转后,我们就会来到以下这个下载页面,下载我们所需要的版本。点击下载即可。

【Nginx】|入门连续剧——安装_分布式_06

3.2 版本介绍

官网提供了三个类型的版本:

  • Mainline Version:主线版,是最新版,但未经过过多的生产测试
  • Stable Version:稳定版,生产环境使用版本。
  • Legacy Version:老版本。

我们这里采用稳定版本。下载完成之后通过Xftp上传到虚拟机的/opt目录下

3.3 源码编译

3.3.1 解压

解压到/usr/local/的目录下。

[root@node1 opt]# tar -zxvf Nginx- 1.20.1.tar.gz -C /usr/local/

进入到 Nginx 解压包目录中,查看Nginx 的目录。

[root@node1 opt]# cd /usr/local/Nginx-1.20.1/

tips:
各个目录中存放的文件作用为:
auto:存放 Nginx 自动安装的相关文件
conf:存放 Nginx 服务器配置文件
configure:命令,用于对即将安装的软件的配置,完成
makefile 编译文件的生成
contrib:存放由其他机构贡献的文档材料
html:存放 Nginx 欢迎页面
man:manual,手册,存放 Nginx 帮助文档
src:存放 Nginx 源码

3.3.2 生成 makefile

编译命令 make 需要根据编译文件 makefile 进行编译,所以在编译之前需要先生成编译文件 makefile。使用 configure 命令可以生成该文件。其中,我们可以查看一下configure的参数作用

【Nginx】|入门连续剧——安装_服务器_07

configure 参数:

  • –prefix:Nginx 安装目录。注意,安装目录与解压目录不一样
  • –sbin-path:Nginx 命令文件
  • –modules-path:Nginx 模块存放路径
  • –conf-prefix:Nginx 配置文件存放路径
  • –pid-path:Nginx 的进程 id 文件
  • –error-log-path:错误日志文件
  • –http-log-path:http访问日志文件

生成命令及步骤:

需要自己生成一个目录——/var/temp/nginx/client

[root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]# pwd
/usr/local/nginx-1.20.1
[root@node1 Nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--error-logpath=/usr/local/nginx/logs/error.log \
--http-logpath=/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--with-http_gzip_static_module \
--http-client-body-temppath=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temppath=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
3.3.3 编译安装

make 为编译命令,make install 为安装命令,分别执行。

make 
make install

三. 🦁 总结

这样Nginx就安装完成了,你都学会了吗?接下来让我们来开启一个Nginx快乐之旅叭。