目录
前言:
一、 Nginx 基本概念
(1) Nginx 是什么, 做什么事情
(2) 反向代理
(3) 负载均衡
(4) 动静分离编辑
二、 Nginx安装、常用命令和配置文件
1. 在Windows下的安装与使用
2.在 Linux 系统中安装 Nginx
前言:
本片博客是学完Nginx相关知识后的个人总结的学习笔记,共两篇:基础学习和基本使用;本篇是基础学习篇。
每个知识点都附带原文链接, 记录了我的学习轨迹,大家可进行一定的参考;希望对您有所帮助。
Nginx学习大纲图:
一、 Nginx 基本概念
(1) Nginx 是什么, 做什么事情
Nginx ( engine x ) 是一个高性能的 HTTP 和反向代理服务器, 特点是占有内存少, 并发能 力强, 事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好 Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 , 能经受高负载 的考验,有报告表明能支持高达 50.000 个并发连接数
(2) 反向代理
要学习反向代理,要先知道什么正向代理,什么是代理服务器?
代理服务器概念:(Proxy Server)是一种网络服务器,它充当客户端(如浏览器)和服务器之间的中间媒介。代理服务器接收来自客户端的请求,然后代表客户端向目标服务器发起请求,并将服务器响应的内容返回给客户端。
正向代理概念:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求,将获得的内容返回给客户端。正向代理的情况下,客户端必须要进行一些特殊的设置才能使用。
特点:正向代理需要主动设置代理服务器ip或者域名进行访问,由设置的服务器ip或者域名去访问内容并返回 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
反向代理概念:反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。
对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置。
特点:正向代理需要配置代理服务器,而反向代理不需要做任何设置。 反向代理是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。
参考链接:详解正向代理与反向代理_正向代理和反向代理-CSDN博客
(3) 负载均衡
概念:单个服务器解决不了, 我们增加服务器的数量, 然后将请求分发到各个服务器上, 将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上, 将负载分发到不同的服 务器, 也就是我们所说的负载均衡
(4) 动静分离
动静分离,是指将动态内容和静态内容分开处理的一种方式。通常,动态内容是指由服务器端处理的,例如动态生成的网页、数据库查询等。静态内容是指不需要经过服务器端处理的,例如图片、CSS、JavaScript文件等。通过将动态内容和静态内容分开处理,可以提高服务器的性能和响应速度。
在动静分离中,通常将Nginx作为前端服务器,将静态内容直接由Nginx处理并返回给客户端,而动态内容则交给后端服务器(如应用服务器)处理。Nginx可以通过配置来指定哪些请求是静态内容,这样它就可以直接从磁盘中读取并返回相应的文件,而不需要将请求转发给后端服务器。
参考原文链接:Nginx:动静分离(示意图+配置讲解)_nginx配置静态网页和动态网页-CSDN博客
二、 Nginx安装、常用命令和配置文件
1. 在Windows下的安装与使用
我是参考了下面这篇非常详细的教程,原文链接如下:
在Windows下的安装与使用:https://blog.csdn.net/weixin_44251179/article/details/129700793
Nginx基本目录:
-
conf:存在Nginx配置文件的目录
-
docs:存放Nginx文档的目录
-
html:存放静态html文件的目录
-
logs:存放Nginx日志的目录
-
temp:存放临时文件的目录
参考链接:windows系统下安装Nginx以及简单使用(详解)_nginx windows-CSDN博客
2.在 Linux 系统中安装 Nginx
a.首先,安装 pcre 依赖
第一步 联网执行以下命令,下载 pcre 压缩文件
使用命令 wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
第二步 使用命令,解压压缩文件
tar -xvf pcre-8.37.tar.gz
第三步 进入pcre-8.37目录下,然后
执行命令:
./configure
开始自动配置;自动配置完成后,回到 pcre 目录下执行
make && make install
b. 然后,安装 openssl 、 zlib 、 gcc 依赖
`使用命令 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
c. 最后,安装 Nginx
第一步 进入/usr/src
目录下,上传压缩包nginx.tar.gz
第二步 解压压缩文件
tar -xvf nginx.tar.gz
第三步 进入nginx目录下,然后
执行命令:
./configure
开始自动配置;自动配置完成后,回到 pcre 目录下执行
make && make install
至此,Nginx安装/配置完成,进入/usr/local/nginx/sbin
目录下,启动nginx
执行命令:
./nginx
启动nginx` ;执行命令:
ps -ef | grep nginx
查看nginx进程是否成功启动
d. 关于Linux防火墙的设置
Linux打开/关闭防火墙的命令如下1234:(此处是参考链接,点击跳转原文)
-
查看防火墙状态:
systemctl status firewalld
-
开启防火墙:
systemctl start firewalld
-
关闭防火墙:
systemctl stop firewalld
-
查看防火墙运行状态:
firewall-cmd --state
-
禁用,禁止开机启动:
systemctl disable firewalld
简述:防火墙开启后,会默认屏蔽掉所有的请求,我们需要手动添加开放端口,只有被开放的端口,才能用浏览器访问。
-
查看开放的端口号:
firewall-cmd --list-all
-
设置开放的端口号:
添加HTTP服务:
firewall-cmd --add-service=http --permanent
用于永久地将HTTP服务添加到防火墙允许的服务列表中。通常一旦你添加了HTTP服务,实际上已经自动允许了访问TCP端口80
开放TCP端口80:
firewall-cmd --add-port=80/tcp --permanent
-
重启防火墙:
firewall-cmd --reload
(2)Nginx 常用命令
-
进入 nginx 目录中:
cd /usr/local/nginx/sbin
-
查看 nginx 版本号:
./nginx -v
-
启动nginx:
./nginx
-
停止 nginx:
./nginx -s stop
-
重新加载nginx配置文件:
./nginx -s reload