文章目录
一、简介
二、下载和安装
1、下载 与 各版本介绍
2、安装流程
按照以下流程依次执行
安装过程:
1、安装依赖包 yum -yinstall gcc pcre-devel zlib-devel openssl openssl-devel
(由于 Nginx 是由 C 语言开发的,需要安装一些依赖包,比如gcc等。)
2、下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz
(如果已经下载了安装包并上传到了服务器,可以跳过这一步)
3、解压 tar-zxvf nginx-1.16.1.tar.gz
4、cd nginx-1.16.1
5、./configure --prefix=/usr/local/nginx
(该命令用于指定 nginx 的安装目录)
(nginx 目录是不存在的,需要提前通过 mkdir 命令创建出来:mkdir -p /usr/local/nginx )
6、make &&makeinstall
(两个命令一起执行,表示先 make 编译后,再通过 install 安装)
三、目录结构分析
- conf 目录 : 存放配置文件
- html 目录 : 存放静态资源文件
- logs 目录 : 存放运行日志文件
- sbin 目录 : 存放脚本文件
重点目录/文件:
- conf/nginx.conf nginx配置文件
- html 存放静态文件(html、CSS、Js等)
- logs 日志目录,存放日志文件
- sbin/nginx 二进制文件,用于启动、停止Nginx服务
四、配置环境变量
+++ 回到根目录 +++
cd /
+++ 编辑系统配置文件 +++
vim /etc/profile
+++ 配置环境变量 (如下图)+++
PATH=/usr/local/nginx/sbin:$PATH
+++ 刷新配置文件 +++
source /etc/profile
五、安装 tree 工具 (可选)
用于展示目录结构的工具,树型展示文件结构
安装命令:
yum install tree
使用命令:
tree //可树状显示出当前目录的结构信息
效果:
六、查看版本号
如果配置了 Nginx 环境变量,则可以在任意目录输入 nginx 命令,无需进入sbin目录,也无需加 ./
+++ 查看 Nginx 版本号 +++
nginx -v
七、检查配置文件完整性
如果配置了 Nginx 环境变量,则可以在任意目录输入 nginx 命令,无需进入sbin目录,也无需加 ./
+++ 检查配置文件完整性 +++
nginx -t
八、启动和停止
如果配置了 Nginx 环境变量,则可以在任意目录输入 nginx 命令,无需进入sbin目录,也无需加 ./
+++ 启动Nginx服务 +++
./nginx
+++停止Nginx服务 +++
./nginx -s stop
+++ 启动完成后可以查看Nginx进程 +++
ps-ef|grep nginx
九、Nginx 的一些细节
1、自动创建临时目录
当 Nginx 启动后,会自动生成一些临时目录,无需在意
2、自动生成日志文件
当 Nginx 启动后,会在 logs 目录下生成一些日志文件
- access.log 文件 :存放 Nginx 运行时的访问日志
- error.log 文件:存放 Nginx 运行时的错误日志
- nginx.pid 文件 :存放 Nginx 运行时的主进程id(master进程),Nginx 服务停止后文件会自动销毁
十、重新加载配置文件
如果配置了 Nginx 环境变量,则可以在任意目录输入 nginx 命令,无需进入sbin目录,也无需加 ./
作用: 当我们对 Nginx 配置文件做改动后,无需重启 Nginx ,使用 reload 命令可以马上生效
+++ 重新加载配置文件 (刷新配置文件) +++
nginx -s reload
十一、profile配置文件结构
在开发中,我们常常需要配置的是
http 块
部分
每次修改配置文件后,建议使用-t
命令检查配置文件的正确性再使用
reload
命令重新加载配置文件
十二、静态资源的部署和基本配置
1、静态资源部署
Nginx可以作为静态web服务器来部署静态资源。
静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。
相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。
将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。
2、基本配置(server 块)
server {
listen 80;#监听端口
server_name localhost;#服务器名称(域名)
location / {#匹配客户端请求url(location 后写要匹配的请求路径,/ 代表根路径)
root html;#指定静态资源根目录(配置 html 目录为静态资源根目录)
index index.html;#指定默认首页,多个请用空格分隔}}
十三、正向代理 、反向代理的介绍与区别
1、正向代理概念
- 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
- 正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
- 正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。
2、反向代理概念
- 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接 访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。
- 用户不需要知道目标服务器的地址,也无须在用户端作任何设定。
Nginx 提供了反向代理的功能
3、正向代理、反向代理的区别
- 正向代理: 在客户端设置的代理服务器,客户端知道代理服务器的存在
- 反向代理: 在目标服务器端设置的代理服务器,客户端不知道代理服务器的存在和目标服务器的地址。
正向代理 在客户端设置。
反向代理 在服务端设置 。
十四、配置反向代理服务器
在 location 块中,通过 proxy_pass 配置要代理的服务器
server {
listen 82;#需要监听的代理服务器端口
server_name localhost;#代理服务器域名
location / {#监听的请求路径 /
proxy_pass http://192.168.138.101:8080;#反向代理配置,将请求转发到指定服务}}
解析:当客户端访问反向代理服务器 192.168.138.100:82 地址时,反向代理服务器就会将客户端请求转发到地址为 192.168.138.101:8080 的目标服务器 ,并且反向代理服务器再将目标服务器的响应数据转发回客户端。
十五、负载均衡的介绍与配置
1、介绍
早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。
- 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据
- 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理
负载均衡器也是一种反向代理服务器,只不过是将客户端请求转发到多台服务器上(服务器集群)
2、配置负载均衡
(配置到 http-全局块)
配置负载均衡:
upstream targetserver{# upstream指令可以定义一组服务器
server 192.168.138.101:8080 weight=10;# 可定义多个要均衡负载的服务器,用 ; 号分隔
server 192.168.138.101:8081 weight=5;# weight 代表权重,值越大,权重越大,该服务器分配请求的概率就越高}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://targetserver;# 设置反向代理服务器,配置了一组负载均衡的服务器 targetserver}}
如果配置负载均衡时不加 weight 关键字来设置权重,那么默认的负载均衡策略是 “轮询”
轮询:轮着来,平均分配。
3、负载均衡策略
+++ 配置方式 +++
server 服务器ip:端口号 负载均衡策略;
如:server 192.168.138.101:8080 weight=10;
版权归原作者 HoHeHa 所有, 如有侵权,请联系我们删除。