nginx基础篇学习

一、nginx编译安装

1、前往nginx官网获取安装包

在这里插入图片描述
在这里插入图片描述

下载安装包

在这里插入图片描述
2、解压

在这里插入图片描述
3、安装

进入安装包
在这里插入图片描述
安装准备:nginx的rewrite module重写模块依赖于pcre、pcre-devel、zlib和zlib-devel库,要先安装这些库
在这里插入图片描述
在这里插入图片描述
安装:
在这里插入图片描述

编译:
在这里插入图片描述
启动:

进入到安装目录:
在这里插入图片描述
conf:配置文件目录
html:网页文件
logs:日志文件,访问日志、错误日志,pid文件
sbin:主要的二进制程序

启动nginx:
在这里插入图片描述
完整命令是:
开启:/usr/local/nginx/sbin/nginx
关闭:/usr/local/nginx/sbin/nginx -s stop
重启:/usr/local/nginx/sbin/nginx -s reload

查看进程:

在这里插入图片描述
nginx命令:
在这里插入图片描述

二、nginx信号控制

nginx信号控制

在这里插入图片描述
具体语法:

Kill -信号选项 nginx的主进程号

Kill -HUP 4873

Kill -信号控制 `cat /xxx/path/log/nginx.pid` #从进程文件读取进程号

Kill -USR1 `cat /xxx/path/log/nginx.pid`

三、nginx配置文件

//全局区
#user  nobody; 子进程用户组
worker_processes 4; // 有4个工作子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为CPU数*核数

#error_log  logs/error.log; 全局日志
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
	//一般是配置nginx连接的先进性
	//如1个worker能同时允许多少连接
	worker_connections	1024;//这是指一个子进程最大允许连接1024个连接
}
http {//这是配置http服务器的主要段
	//基于域名的虚拟主机
	server {//这是配置虚拟主机段
		listen 						80;//监听80端口
		server_name					www.example.com;//监听域名
		location / {//定位,把特殊的路径或文件再次定位,如image目录单独处理,如.php单独处理
			root					/var/www/www.example1.com;// 根目录定位,若是采用相对目录,则是相对nginx的安装目录
			index					index.html	index.htm;// 默认首页
		}
	}
	//基于端口的虚拟主机
	sever {
		listen						8080;
		server_name					127.0.0.1; 
		location / {
			root					/var/www/www.example2.com;// 根目录定位
			index					index.html	index.htm;// 默认首页
		}
	}
}

nginx也允许针对不同的server做不同的log日志

在server段加入:

access_log logs/host.access.log main;

四、nginx配置反向代理

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

  • 反向代理:
    反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。
    用户不需要知道目标服务器的地址,也无须在用户端作任何设定
    一般大型项目只会暴露部分外网服务器,然后通过这些服务器请求自身内网的服务。
    在这里插入图片描述

server {
	listen 82; # 将82端口接收到的请求转发到proxy_pass配置中
	server_name localhost;
	location / {
		proxy_pass http://192.168.138.101:8000; # 反向代理配置,将请求转发到指定服务
	}
}

在这里插入图片描述
五、nginx配置负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就突显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现

  • 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请示,进行业务处理并返回响应数据
  • 负载均衡器:将用户请示根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

在这里插入图片描述

# 配置负载均衡 upstream 指令可以定义一组服务器
upstream targetserver {
	server 192.168.138.100:8080;
	server 192.168.138.101:8080;
	server 192.168.138.102:8080;
	server 192.168.138.103:8080;
}
server {
	listen 8080;
	server_name localhost;
	location / {
		proxy_pass http://targetserver; # proxy_pass需要对应upstream配置的服务器组
	}
}

负载均衡策略

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

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

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

相关文章

ErphpdownV16.21插件 安装教程和插件下载

ErphpdownV16.21插件下载_新版本 上传插件并解压 登入后台插件管理启动ErphpdownV16.21插件即可 启动后设置即可使用此版本为学习版插件 功能介绍: Erphpdown会员推广下载专业版 经过完美测试运行于wordpress 3.x-6.x版本。后续会增加更多实用的功能。已针对此插件…

医学图像分割:U_Net 论文阅读

“U-Net: Convolutional Networks for Biomedical Image Segmentation” 是一篇由Olaf Ronneberger, Philipp Fischer, 和 Thomas Brox发表的论文,于2015年在MICCAI的医学图像计算和计算机辅助干预会议上提出。这篇论文介绍了一种新型的卷积神经网络架构——U-Net&a…

3、Qt使用windeploy工具打包可执行文件

新建一个文件夹,把要打包的可执行文件exe拷贝过来 点击输入框,复制一下文件夹路径 点击电脑左下角,找到Qt文件夹, 点击打开 “Qt 5.12.0 for Desktop” (我安装的是Qt 5.12.0版本) 输入“cd bin”&#xff…

【云原生 Prometheus篇】Prometheus的动态服务发现机制

自动发现 一、Prometheus服务发现 理论部分1.1 Prometheus数据采集配置1.2 基于文件的服务发现1.3 基于consul的服务发现1.4 基于 Kubernetes API 的服务发现1.4.1 概念1.4.2 部分配置参数1.4.3 配置模板 二、实例一:部署基于文件的服务发现2.1 创建用于服务发现的文…

保姆级连接FusionInsight MRS kerberos Hive

数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远…

命名空间、字符串、布尔类型、nullptr、类型推导

面向过程语言:C ——> 重视求解过程 面向对象语言:C ——> 重视求解的方法 面向对象的三大特征:封装、继承和多态 C 和 C 在语法上的区别 1、命名空间(用于解决命名冲突问题) 2、函数重载和运算符重载&#xf…

vatee万腾的科技征途:Vatee独特探索的数字化力量

在数字化时代的浪潮中,Vatee万腾以其独特的科技征途成为引领者。公司在数字化领域的探索之路不仅是技术的创新,更是一种对未知的勇敢涉足,是对新时代的深刻洞察和积极实践。 Vatee万腾通过独特的探索,展示了在数字化征途上的创新力…

CTFSHOW sqll注入

号过滤绕过 号和不加通配符的 like 是一样的。 还可以使用 < >号来绕过&#xff0c;<> 在mysql中等于! 如果在加一个! 双重否定代表肯定 就是了 空格过滤绕过 /**/ &#xff0c;()&#xff0c;&#xff0c;tab&#xff0c;两个空格 or and xor not 过滤绕过 a…

HTML CSS登录网页设计

一、效果图: 二、HTML代码: <!DOCTYPE html> <!-- 定义HTML5文档 --> <html lang="en"> …

jetson NX部署Yolov8

一,事情起因,由于需要对无人机机载识别算法进行更新,所以需要对yolov8算法进行部署到边缘端。 二,环境安装 安装虚拟环境管理工具,这个根据个人喜好。 我们需要选择能够在ARM架构上运行的conda,这里我们选择conda-forge 下载地址 安装即可 剩下的就是和conda 创建虚拟…

ZC-OFDM模糊函数原理及仿真

文章目录 前言一、ZC 序列二、ZC-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、ZC-OFDM 模糊函数②、ZC-OFDM 距离分辨率③、ZC-OFDM 速度分辨率前言 本文进行 ZC-OFDM 的原理讲解及仿真,首先看一下 ZC-OFDM 的模糊函数仿真…

加速你的自动化测试:3种等待方式!

在自动化测试中&#xff0c;等待是一个重要的技术&#xff0c;用于处理页面加载、元素定位、元素状态改变等延迟问题。 等待能够确保在条件满足后再进行后续操作&#xff0c;提高自动化测试的稳定性以及可靠性。 等待方式&#xff1a;显示等待、隐式等待、线程睡眠 1. 显式等…

电源控制系统架构(PCSA)之系统分区电源域

目录 4.2 电源域 4.2.1 电源模式 4.2.2 电源域的选择 4.2.3 系统逻辑 4.2.4 Always-On域 4.2.5 处理器Clusters 4.2.6 CoreSight逻辑 4.2.7 图像处理器 4.2.8 显示处理器 4.2.9 其他功能 4.2.10 电源域层次结构要求 4.2.11 SOC域示例 4.2 电源域 电源域在这里被定…

设计模式—里氏替换原则

1.概念 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说&#xff0c;任何基类可以出现的地方&#xff0c;子类一定可以出现。 LSP是继承复用的基石&#xff0c;只有当衍生类可以替换掉基类&#xff0c;软件单位的功能不受到影…

万字解析设计模式之模板方法与解释器模式

一、模板方法模式 1.1概述 定义一个操作中算法的框架&#xff0c;而将一些步骤延迟到子类中&#xff0c;模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 例如&#xff0c;去银行办理业务一般要经过以下4个流程&#xff1a;取号、排队、办理具体业…

深入理解 Django 中的事务管理

概要 在数据库操作中&#xff0c;事务是确保数据完整性和一致性的关键机制。Django 作为一个强大的 Python Web 框架&#xff0c;提供了灵活而强大的事务管理功能。理解和正确使用 Django 中的事务对于开发高质量的 Web 应用至关重要。本文将深入探讨 Django 的事务管理机制&a…

leetcode刷题详解二

160. 相交链表 本质上是走过自己的路&#xff0c;再走过对方的路&#xff0c;这是求两个链表相交的方法 ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {//本质上是走过自己的路&#xff0c;再走过对方的路if(headA NULL|| headB NULL){return NULL;}Lis…

相机设置参数:黑电平(Black Level)详解和示例

本文通过原理和示例对相机设置参数“黑电平”进行讲解&#xff0c;以帮助大家理解和使用。 原理 相机中黑电平原理是将电平增大&#xff0c;可以显示更多暗区细节&#xff0c;可能会损失一些亮区&#xff0c;但图像更多的关注暗区&#xff0c;获取完图像信息再减掉。只是为了…

Jenkins 整合 Docker 自动化部署

Docker 安装 Jenkins 配置自动化部署 1. Docker 安装 Jenkins 1.1 拉取镜像文件 docker pull jenkins/jenkins1.2 创建挂载文件目录 mkdir -p $HOME/jenkins_home1.3 启动容器 docker run -d -p 8080:8080 -v $HOME/jenkins_home:/var/jenkins_home --name jenkins jenkin…

Exchange意外登录日志

最近在审计Exchange邮件系统的时候&#xff0c;发现大量用户半夜登录的日志。而且都是成功的&#xff0c;几乎没有失败的情况。其中Logon Type 8表示用户从网络登录。 Logon type 8: NetworkCleartext. A user logged on to this computer from the network. The user’s pas…