Nginx概述、命令、配置文件和具体应用详解

 更新时间:2023年08月09日 10:27:36   作者:东离与糖宝  
Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,这篇文章主要介绍了Nginx概述、命令、配置文件和具体应用,需要的朋友可以参考下

前言

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

一、Nginx概述

1. Nginx介绍

  • Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有: 百度、京东新浪、网易、腾讯、淘宝等。
  • Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler,ru站点(俄文: Pam6nep)开发的,第一个公开版本.1.0发布于2004年10月4日。
  • 官网: https://nginx.org/

2. Nginx下载和安装

安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz

解压 tar -zxvf nginx-1.16.1.tar.gz

cd nginx-1.16.1

./configure --prefix=/usr/local/nginx

make && make install

3. Nginx目录结构

安装完Nginx后,我们先来熟悉一下Nginx的目录结构,重点目录/文件如下:

  • conf/nginx.conf ---- nginx配置文件
  • html ---- 存放静态文件 (html、CSS、Js等)
  • logs ---- 日志目录,存放日志文件
  • sbin/nginx ---- 二进制文件,用于启动、停止Nginx服务

二、Nginx命令

1. 查看版本 查看Nginx版本可以使用命令

./nginx -V

2. 检查配置文件正确性

./nginx -t ---- 在启动Nqinx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

3. 启动和停止

1. 启动Nginx服务使用如下命令

./nginx

2. 停止Nginx服务使用如下命令

./nginx -s stop

3. 启动完成后可以查看Nginx进程

ps -ef | grep nginx

4. 重新加载配置文件

./nginx -s reload

三、Nginx配置文件结构

Nginx配置文件(conf/nginx.conf)整体分为三部分

全局块 ---- 和网络连接相关的配置
events块 ---- 和网络连接相关的配置
http块 ---- 代理、缓存、日志记录、虚拟主机配置
. http全局块
. Server块
---- Server全局块
---- location块
注意: http块中可以配置多个Server块,每个Server块中可以配置多个location块。

四、Nginx具体应用

1. 部署静态资源

1. Nginx如何部署静态资源

Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的htm[页面、css文件、js文件、图片、视频等资源。
相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

2. 示例

2. 反向代理

1. 正向代理

是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器

2. 反向代理

  • 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直按访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。
  • 用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

3. 配置反向代理示例

3. 负载均衡

1. 什么是负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群进行性能的水平扩展以及避免单点故障出现。
应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据
负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

2. 负载均衡配置示例

3. 负载均衡的策略

名称说明
轮询默认方式
weight权重方式
ip_hash依据ip分配方式
least conn依据最少连接方式
url hash依据url分配方式
fair依据响应时间方式

总结

到此这篇关于Nginx概述、命令、配置文件和具体应用的文章就介绍到这了,更多相关Nginx配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows下Nginx多域名简单配置教程

    windows下Nginx多域名简单配置教程

    这篇文章主要为大家详细介绍了windows下Nginx多域名简单配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Nginx 禁止直接访问目录或文件的操作方法

    Nginx 禁止直接访问目录或文件的操作方法

    Nginx 默认是不允许列出整个目录的,那么需要这样的功能怎么操作呢,下面小编给大家介绍下Nginx 禁止直接访问目录或文件的方法,需要的朋友可以参考下
    2022-10-10
  • Nginx URL重写rewrite机制原理及使用实例

    Nginx URL重写rewrite机制原理及使用实例

    这篇文章主要介绍了Nginx URL重写(rewrite)机制原理及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Nginx部署Vue项目添加访问后缀方式

    Nginx部署Vue项目添加访问后缀方式

    文章介绍了如何根据需要为Vue项目配置不同的访问路径,并通过Nginx进行相应的配置,通过设置`vue.config.js`中的`publicPath`和`route`的`base`为`/app`,并将打包后的文件放入指定目录,然后在Nginx配置中使用`alias`和`try_files`指令来处理路径
    2025-01-01
  • Nginx location(正则)使用

    Nginx location(正则)使用

    这篇文章主要介绍了Nginx location(正则)使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • nginx源码分析线程池详解

    nginx源码分析线程池详解

    这篇文章主要介绍了nginx源码分析线程池详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Prometheus监控实战篇Nginx、Hbase操作详解

    Prometheus监控实战篇Nginx、Hbase操作详解

    这篇文章主要介绍了Prometheus监控实战篇Nginx、Hbase,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • nginx实现静态文件的token认证过程

    nginx实现静态文件的token认证过程

    这篇文章主要介绍了nginx实现静态文件的token认证过程,
    2024-06-06
  • nginx加php-fpm出现502 bad gateway错误的5种解决方法

    nginx加php-fpm出现502 bad gateway错误的5种解决方法

    这篇文章主要介绍了nginx加php-fpm环境中出现502 bad gateway错误的5种解决方法,总结归纳服务器出现502错误的原因多数为连接过多和脚本超时,本文总结了5种解决方法,需要的朋友可以参考下
    2014-05-05
  • 修改Nginx配置返回指定content-type的方法

    修改Nginx配置返回指定content-type的方法

    nginx作为一个http服务器,在功能实现方面和性能方面都表现的非常优越,下面这篇文章主要给大家介绍了关于修改Nginx配置返回指定content-type的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论