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配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教你在容器中使用nginx搭建上传下载的文件服务器

    教你在容器中使用nginx搭建上传下载的文件服务器

    这篇文章主要介绍了容器中使用nginx搭建支持上传下载的文件服务器,在这需要注意为了让nginx支持文件上传,需要下载并运行带有nginx-upload-module模块的容器,需要的朋友可以参考下
    2022-05-05
  • 详解nginx如何配置HTTPS

    详解nginx如何配置HTTPS

    本篇文章主要介绍了详解nginx如何配置HTTPS,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Nginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Nginx 动态域名解析过程详解

    Nginx 动态域名解析过程详解

    这篇文章主要为大家介绍了Nginx 动态域名解析过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • nginx配置文件目录过程

    nginx配置文件目录过程

    文章介绍了在本地使用VSCode打开Nginx配置文件时发现未指定配置文件目录的问题,通过查看Nginx官网和默认配置文件目录未找到配置文件,最终通过`nginx -V`命令确认了Nginx在编译时指定了配置文件目录
    2025-11-11
  • Nginx服务器中的重定向配置参考指南

    Nginx服务器中的重定向配置参考指南

    这里简单整理了一份Nginx服务器中的重定向配置参考指,包括rewrite模块的配置以及301重定向的设置等,需要的朋友可以参考下
    2016-05-05
  • nginx配置ssl实现https的方法示例

    nginx配置ssl实现https的方法示例

    这篇文章主要介绍了nginx配置ssl实现https的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • nginx配置文件使用环境变量的操作方法

    nginx配置文件使用环境变量的操作方法

    Nginx是一款开源代码的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务,相较于Apache、lighttpd具有占有内存少,稳定性高等优势,所以深受用户喜爱,今天小编给大家分享nginx配置文件使用环境变量的操作方法,感兴趣的朋友一起看看吧
    2021-06-06
  • 详解Nginx 动态 DNS 反向代理的几种写法

    详解Nginx 动态 DNS 反向代理的几种写法

    这篇文章主要介绍了详解Nginx 动态 DNS 反向代理的几种写法,详细的介绍了Nginx 动态 DNS 反向代理的4种方法,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • nginx修改server信息的方法详解

    nginx修改server信息的方法详解

    请求响应信息会暴露nginx版本信息,若攻击者获知服务器组件等信息及版本信息,会使下一步的攻击和漏洞测试提供便利,所以本文给大家介绍了nginx修改server信息的方法,需要的朋友可以参考下
    2025-02-02

最新评论