Nginx下载安装,什么是nginx,什么是反向代理,Windows下、linux下安装nginx(保姆级教程)

发布于:2024-04-30 ⋅ 阅读:(24) ⋅ 点赞:(0)

一、Nginx简介

Nginx 是一个高性能的 HTTP(静态资源服务器) 和 反向代理 Web 服务器。

为什么要使用Nginx

1、如果将前端项目资源也放置在 tomcat 中部署,那么访问一些前端静态资源的时候就需要访问 tomcat,增加服务器压力(本身 tomcat 服务器处理能力有限),所以我们需要一台高效的静态资源服务器

什么意思:如果将前端和后端的代码部署到一起,那么访问静态资源会走 tomcat。----> 将前端和后端代码分开部署

2、随着项目访问量的增加,tomcat 并不能满足要求(tomcat 的并发量大概在 200 左右)。这时候我们需要搭建 tomcat 集群来处理并发问题,所以我们需要一台高效的反向代理服务器

集群:1 个 tomcat 不够,n 个来凑。问题:n 个 tomcat 的端口肯定不能一样(除非搞 n 台机器),所以我们这里说的是:伪集群(一个机器上搞多个 tomcat),但是对于客户来说,我应该访问哪个端口呢?----> 需要 Nginx

Nginx的特点
  • 稳定性强,可以实现 7*24 不间断运行
  • 提供简洁、直观的配置
  • 占用内存小,并发能力强
Nginx的相关概念
正向代理

一个位于 客户端 和 原始服务器 之间的服务器。为了从 原始服务器 中取得内容,客户端 向 代理 发送一个请求并指定目标(原始服务器),然后 代理 向 原始服务器 转交请求 并将获得的内容返回给客户端。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反向代理

反向代理位于用户与目标服务器之间。

对于用户:反向代理服务器就相当于目标服务器。即:用户直接访问反向代理服务器就可以获得目标服务器的资源。(用户不需要知道目标服务器的地址,也无须在用户端作任何设定)

在这里插入图片描述

反向代理服务器通常可用来作为 Web 加速,即使用反向代理作为 Web 服务器的前置机 来降低网络和服务器的负载,提高访问效率。

动静分离

随着前后端分离开发,可以实现前后端项目的分离部署。即:将前端项目部署到 Nginx 上直接进行访问,后端资源通过 Nginx 反向代理进行访问。

负载均衡

通过负载均衡策略,分发请求到集群中的不同 tomcat 服务器上。

二、Nginx安装

1. Windows安装

下载解压后,执行根目录下 nginx.exe 启动(不要放置含有中文的路径下,否则启动不成功),然后输入:http://localhost 访问即可。

在这里插入图片描述

2. Linux安装

1、先安装 Nginx 所需环境:

安装gcc:一般这个Linux会自带,但是最好也安装一下,怕不带
yum install -y gcc-c++

安装PCRE pcre-devel:
yum install -y pcre pcre-devel

安装zlib:
yum install -y zlib zlib-devel

安装Open SSL:
yum install -y openssl openssl-devel

2、安装 Nginx:下载地址

在这里插入图片描述

2.1 下载并解压: 将下载的 xxx.tar.gz 上传到 Linux,并解压到 /usr/local 下(这里我解压到 /usr/local/nginx 下了),解压命令:tar -zxvf nginx-1.26.0.tar.gz -C /usr/local/nginx

2.2 编译安装: 进入解压后的目录:cd /usr/local/nginx/nginx-1.26.0;然后输入命令:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre 生成 makefile 文件;然后继续输入:make 编译;再输入:make install 安装(可以一起 make && make install 编译安装)

注意:其中生成 makefile 文件命令中的 /usr/local/nginx 路径就是 Nginx 的路径(可以改成别的路径),后面要启动 Nginx 程序就要去那启动。

2.3 启动运行: 首先进入 Nginx 的启动目录:cd /usr/local/nginx/sbin,然后:

查看Nginx版本:
./nginx -v

启动Nginx:
./nginx

停止Nginx:
./nginx -s stop

重启Nginx:
./nginx -s reload

注意:Nginx 启动后默认端口为 80,80 端口在浏览器页面可以不写。所以我们直接浏览器输入 IP 地址即可。

在这里插入图片描述

报错:假如页面加载不出来,则需要 Linux 系统开放 80 端口:

1.开放80端口,命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
2.重启防火墙:systemctl restart firewalld.service
3.重新载入配置:firewall-cmd --reload