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
相关推荐
康熙38bdc15 分钟前
Linux 进程优先级
linux·运维·服务器
hhzz18 分钟前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
只是有点小怂20 分钟前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
N0zoM1z032 分钟前
域内用户名枚举 实验
windows
三枪一个麻辣烫42 分钟前
linux基础命令
linux·运维·服务器
cuisidong19971 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
光通信学徒2 小时前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试
南种北李2 小时前
Linux自动化构建工具Make/Makefile
linux·运维·自动化
小飞猪Jay2 小时前
面试速通宝典——10
linux·服务器·c++·面试
暗恋 懒羊羊3 小时前
Linux 生产者消费者模型
linux·开发语言·ubuntu