Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。

Nginx Linux系统安装以及反向代理的配置

  • 简介
  • 优点
  • nginx 环境
  • 安装
  • 常用Nginx 命令
  • nginx 文件服务器搭建

简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

优点

Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.20.0稳定版已经于2021年4月20日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。
Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为大家选择了 epoll and kqueue作为开发模型。

Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。
无缓存的反向代理加速,简单的负载均衡和容错。
FastCGI,简单的负载均衡和容错。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI。

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。
代理服务器
作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。如果还能够不间断服务的情况下进行软件版本的升级。

nginx 环境

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

Nginx下载地址
在这里插入图片描述
如果支持rz 命令的画 可以输入rz命令
在这里插入图片描述
如果不支持的话可以使用 wget 命令
右键图一 你所需要的版本(我这边选择的是 tar.gz) 然后 选择复制连接(谷歌浏览器)

wget https://nginx.org/download/nginx-1.17.0.tar.gz在这里插入图片描述

安装

运行以下命令

解压
tar -zxvf nginx-1.17.0.tar.gz
进入nginx 目录
cd nginx-1.17.0  
配置 编译后的文件路径
./configure --prefix=/usr/nginx
编译
make && make install

在这里插入图片描述
编译过后就可以看到 多了一个nginx 文件夹
下面是nginx 文件夹 的目录结构
在这里插入图片描述

进入nginx 目录
cd /usr/nginx
检查nginx 是否安装成功
./sbin/nginx -t

在这里插入图片描述

常用Nginx 命令

nginx             # 启动 Nginx
nginx -s reload            # 重新载入配置文件
nginx -s reopen            # 重启 Nginx
nginx -s stop              # 停止 Nginx

nginx 文件服务器搭建

autoindex on;            # 显示目录
autoindex_exact_size on; # 显示文件大小
autoindex_localtime on; # 显示文件时间
charset utf-8;                          # 中文名的文件不乱码. 
-----------------------
http {
    autoindex on;             # 显示目录
    autoindex_exact_size on;  # 显示文件大小
    autoindex_localtime on;   # 显示文件时间
    charset utf-8;                          # 中文名的文件不乱码. 

    server {
        listen 80                          # 监听端口;
        server_name localhost              # 地址
        charset utf-8;                     # 中文名的文件不乱码. 
        location / {                       # 访问首页路径
            root /xxx/xxx/                 # 根目录
            index index.html index.htm     # 默认文件
        }        
        
        error_page  500 504   /50x.html    # 当出现以上状态码时从新定义到50x.html
        location = /50x.html {             # 当访问50x.html时
            root /xxx/xxx/html             # 50x.html 页面所在位置
        }        
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232751.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

画对比折线图【Python】

出这一期想必是我做某个课程作业遇到了。 由于去各个官网下载对比图要钱,我还是不想花钱的!真讨厌!浅浅水一期。 以下是要做的对比图的数据: 代码: from matplotlib import pyplot as plt#设置中文显示plt.rcParams[…

ava即时编译器原理解析及实践

Java即时编译器原理解析及实践 导读 常见的编译型语言如C,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式——字…

【智能家居】智能家居项目

智能家居项目目录 项目目录结构 完整而典型的项目目录结构 CMake模板 CMake编译运行 README.md 项目说明文档 智能家居项目目录 【智能家居】面向对象编程OOP和设计模式(工厂模式) 【智能家居】一、工厂模式实现继电器灯控制 【智能家居】二、添加火灾检测模块(…

temu发货单在哪里打印

在Temu平台上,打印发货单是进行订单发货的重要步骤之一。通过打印发货单,您可以方便地记录订单信息并与物流公司进行配合。以下是在Temu平台上打印发货单的详细步骤和注意事项。 先给大家推荐一款拼多多/temu运营工具——多多情报通 多多情报通是拼多多…

【python可视化系统源码】基于爬虫与可视化的电影推荐系统课题背景、目的、意义、研究思路、研究方法

该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等学习内容。 目录 一、项目介绍: 二、文档学习资料: 三、模块截图: 四、开发技术与运行环境: 五、代码展示: 六、数据库表截图&#xff1a…

C语言 位运算符 + 应用

常用的位运算符 按位与 快速判断整数的奇偶性 奇数的二进制表示的最低位为1,偶数的二进制表示的最低位为0。 int num 9; if (num & 1) {// num 是奇数 } else {// num 是偶数 }按位异或 交换两个变量的值 int a 5; int b 7; a a ^ b; b a ^ b; a a ^ …

项目一 分析并设计学生管理数据库

项目一 分析并设计学生管理数据库 1,做好管理数据库的知识准备 1.1,初识数据库 **1,DBMS:**数据库管理系统(Database Management System)。数据库 是通过DBMS创建和操作的 容器。 **2,DB:**数据库(data…

【数据结构第 6 章 ③】- 用 C 语言实现邻接表并简单介绍十字链表和邻接多重表

目录 一、邻接表 1.1 - ALGraph.h 1.2 - ALGraph.c 1.3 - Test.c 二、十字链表 三、邻接多重表 一、邻接表 邻接表(Adjacency List)是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第 i 个单链表中的结…

用modelbox server启动流程图,暴露Restful接口

背景 假设你已经搭建了modelbox开发容器,能够使用webUI构建流程图。如果没有请参考昇腾npu上构建modelbox webUI开发容器教程。 现在,本文会说明,如何在终端用命令的方式将流程图暴露为服务,并能够在本地用postman访问。 本文参…

二分查找|双指针:LeetCode:2398.预算内的最多机器人数目

作者推荐 本文涉及的基础知识点 二分查找算法合集 滑动窗口 单调队列:计算最大值时,如果前面的数小,则必定被淘汰,前面的数早出队。 题目 你有 n 个机器人,给你两个下标从 0 开始的整数数组 chargeTimes 和 runnin…

java学习part41泛型

164-泛型-泛型的理解及其在集合、比较器中的使用_哔哩哔哩_bilibili 1.泛型 泛型可以加,加了不用也可以 2.例子 2.1List泛型 2.2Map泛型 新特性var 类似c的auto,可以根据后面赋值推断类型,在这种类型很复杂的时候可以提高可读性 3.自定义泛型…

什么是TDR(威胁检测与响应)

网络安全是被动和主动方法的混合体。过去,企业往往局限于被动的方法,随着合规性和安全策略越来越受到重视,主动方法也越来越受到关注。与其他行业相比,网络安全是高度动态的,网络安全团队采用任何可以帮助他们优化的新…

大数据技术5:OLAP引擎对比分析

前言:数据仓库建设,初级的理解就是建表,将业务数据、日志数据、消息队列数据等,通过各种调度任务写入到表里供OLAP引擎使用。但要想建好数仓也是一个复杂、庞大的工程,比如要考虑:数据清洗、数据建模&#…

联邦多任务蒸馏助力多接入边缘计算下的个性化服务 | TPDS 2023

联邦多任务蒸馏助力多接入边缘计算下的个性化服务 | TPDS 2023 随着移动智能设备的普及和人工智能技术的发展,越来越多的分布式数据在终端被产生与收集,并以多接入边缘计算(MEC)的形式进行处理和分析。但是由于用户的行为模式与服务需求的多样,不同设备上的数据分布…

【2023传智杯-新增场次】第六届传智杯程序设计挑战赛AB组-DEF题复盘解题分析详解【JavaPythonC++解题笔记】

本文仅为【2023传智杯-第二场】第六届传智杯程序设计挑战赛-题目解题分析详解的解题个人笔记,个人解题分析记录。 本文包含:第六届传智杯程序设计挑战赛题目、解题思路分析、解题代码、解题代码详解 文章目录 一.前言二.赛题题目D题题目-E题题目-F题题目-二.赛题题解D题题解-…

thinkphp6入门(12)-- 一对一关联模型

定义一对一关联,例如,一个用户都有一个个人资料。 一、两表 1.用户表:user 2.工作经验表:work_experience user表的id关联work_experience表的user_id。 注意看,user_id1的有2条工作经验 二、数据模型 主表模型:…

求导公式,求导的四则运算,复合函数求导

求导公式 求导的四则运算 复合函数求导

目标检测、目标跟踪、重识别

文章目录 环境前言项目复现特征提取工程下载参考资料 环境 ubuntu 18.04 64位yolov5deepsortfastreid 前言 基于YOLOv5和DeepSort的目标跟踪 介绍过针对行人的检测与跟踪。本文介绍另一个项目,结合 FastReid 来实现行人的检测、跟踪和重识别。作者给出的2个主…

swing快速入门(一)

注释很详细,直接上代码 涉及内容 1. 默认布局方式BorderLayout 2. 设置窗口位置和大小 3. 设置窗口可见性 4. panel对象(面板容器) 5. 文本和按钮组件的创建 6. 组件和容器的嵌套 import java.awt.*;public class Main{public static …

MN316 OpenCPU丨HTTP使用介绍

HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是一个简单的请求-响应协议,通常运行在TCP之上,它指定了客户端可能发送给服务器消息类型以及得到什么类型响应。HTTPS(Hyper Text Transfer Protoc…