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

文章目录

一、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 所需环境:

bash 复制代码
安装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,然后:

bash 复制代码
查看Nginx版本:
./nginx -v

启动Nginx:
./nginx

停止Nginx:
./nginx -s stop

重启Nginx:
./nginx -s reload

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

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

bash 复制代码
1.开放80端口,命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
2.重启防火墙:systemctl restart firewalld.service
3.重新载入配置:firewall-cmd --reload
相关推荐
秦时明月之君临天下6 分钟前
Windows如何删除任务管理器中的某个服务?
windows
麦田里的守望者_zhg44 分钟前
Windows 执行 wsl --update 报错 1603:注册表权限导致 WSL 安装损坏问题排查与修复
windows
程序猿编码1 小时前
一个授予普通进程ROOT权限的Linux内核级后门:原理与实现深度解析
linux·运维·服务器·内核·root权限
小夏子_riotous1 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack
六点的晨曦2 小时前
VMware安装Ubuntu的记录
linux·ubuntu
❆VE❆2 小时前
Claude Code 安装与配置完整指南(Windows)
windows·claude code
w6100104662 小时前
CKA-2026-Service
linux·服务器·网络·service·cka
HXQ_晴天3 小时前
castor什么时候已有的 .cdh 数据可以直接用,不需要重新从 root 转换?
linux
航Hang*3 小时前
VMware vSphere 云平台运维与管理基础——第5章:VMware vSphere 5.5 高级特性
运维·服务器·开发语言·windows·学习·虚拟化
Mapleay3 小时前
Ubuntu 源的重要性!之 libgmp-dev 无法安装
linux·服务器·windows