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 4873Kill -信号控制 `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依据响应时间方式

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web前端之vue和echarts的堆叠柱状图顶部显示总数、鼠标悬浮工具提示、设置图例的显示与隐藏、label、legend、tooltip

MENU 效果图htmlJavaScripstyle解析 效果图 html <template><div><div><div id"idStackedColumnChart" style"width: 100%; height: 680px"></div></div></div> </template>JavaScrip export default {…

python-opencv轮廓检测(外轮廓检测和全部轮廓检测,计算轮廓面积和周长)

python-opencv轮廓检测&#xff08;外轮廓检测和全部轮廓检测&#xff0c;计算轮廓面积和周长&#xff09; 通过cv2.findContours&#xff0c;我们可以进行轮廓检测&#xff0c;当然也有很多检测模式&#xff0c;我们可以通过选择检测模式&#xff0c;进行外轮廓检测&#xff…

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二)

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二) mp4媒体流数据 #include <ros/ros.h> #include <signal.h> #include <sensor_msgs/Image.h> #include <message_filters/subscriber.h> #include <message_filters/synchroniz…

从零开始学习管道:管道程序的优化和文件描述符继承问题

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容管道后续的完善&#xff0c;以及解决管道继承多个文件描…

精进Beautiful Soup 小技巧(三)---综合提供效率(缓存/error/多线程/异步)

前言: 提高抓取和解析效率的根本还是在于发送请求;如何从这个方面进行效率提升呢? 深入使用requests.Session() 深入使用requests.Session() 1.持久连接&#xff1a; 当使用 requests.Session() 时&#xff0c;连接会话中所有的请求将优先使用一个TCP连接&#xff0c;即“…

点击url如何唤起nativescript应用程序?

1、低于ios 9.0的版本 可以使用 nativescript-urlhandler&#xff0c;通过在app.component.ts中添加handleOpenURL来实现。 2、高于ios 9.0的版本 可以使用 nativescript-community/universal-links来实现 https://github.com/nativescript-community/universal-links 安装&a…

【Amazon】基于Amazon提供的托管式EKS通过eksctl命令部署Kubernetes集群

文章目录 一、使用CloudFormation创建堡垒机二、安装AWS CLI命令行工具三、安装eksctl命令行工具四、创建集群角色4.1 集群服务角色创建4.2 集群节点组角色创建 五、创建 EKS集群六、登录EKS控制台七、参考链接 一、使用CloudFormation创建堡垒机 导航至CloudFormation&#xf…

Kafka(二)在WSL搭建Schema Registry

目录 1 Avro与Schema Registry2 搭建Schema Registry2.1 下载Confluent并解压2.2 设置环境变量2.3 修改配置2.4 启动服务 3 API列表 1 Avro与Schema Registry Apache Avro 是一种高效的数据序列化系统&#xff0c;用于在不同的应用程序和平台之间传输和存储数据。它提供了一种…

AI智能客服搭建教程附带免费源码

*名称* *版本要求* 服务器 CPU 2核心 ↑运存 4G ↑宽带 5M ↑ 服务器操作系统 Linux Centos7 运行环境 Nginx 1.18 PHP 7.3 MYSQL 5.6 服务器配置及环境要求 PHP设置 一、安装PHP扩展插件:fileinfo、redis、 sg11 二、删除PHP对应版本中的 pcntl_signal 、pcntl_signal_dis…

python类和对象

1.使用对象组织数据 class Student:nameNone #记录名字 stu1Student() #创建对象 stu1.name"abc" #为对象属性赋值2.类的定义和使用 2.1成员方法的定义语法 传参的时候self是透明的&#xff0c;不用管 class Stu:nameNonedef sayHi(self):print(f"你好&#x…

【数据中台】开源项目(1)-LarkMidTable

LarkMidTable 是一站式开源的数据中台&#xff0c;实现中台的 基础建设&#xff0c;数据治理&#xff0c;数据开发&#xff0c;监控告警&#xff0c;数据服务&#xff0c;数据的可视化&#xff0c;实现高效赋能数据前台并提供数据服务的产品。 系统演示地址 &#xff1a; www.l…

Windows 7隐藏用户测试

请注意Window 7是在虚拟机上安装的&#xff0c;ip是192.168.0.108。 下边都是在虚拟机Window 7上操作&#xff0c;直到最后远程连接才在自己本机Windows 11上操作。 需要同时按下Windowsr,然后输入cmd&#xff0c;再点击确定。 在命令上里边输入net user可以显示一下用户。 …

C语言学习笔记之函数篇

与数学意义上的函数不同&#xff0c;C语言中的函数又称为过程&#xff0c;接口&#xff0c;具有极其重要的作用。教科书上将其定义为&#xff1a;程序中的子程序。 在计算机科学中&#xff0c;子程序&#xff08;英语&#xff1a;Subroutine, procedure, function, routine, me…

React 入门使用 (官方文档向 Part2)

文章目录 用 State 响应输入声明式地考虑 UI步骤 1&#xff1a;定位组件中不同的视图状态步骤 2&#xff1a;确定是什么触发了这些状态的改变步骤 3&#xff1a;通过 useState 表示内存中的 state步骤 4&#xff1a;删除任何不必要的 state 变量步骤 5&#xff1a;连接事件处理…

TypeScript 中的type与interface

TypeScript 中的type与interface 对于 TypeScript&#xff0c;有两种定义类型的方法&#xff1a;type与interface。 人们常常想知道该使用哪一种&#xff0c;而答案并不是一刀切的。这确实取决于具体情况。有时&#xff0c;其中一种比另一种更好&#xff0c;但在许多情况下&a…

059-第三代软件开发-巧用工控板LED指示灯引脚

第三代软件开发-巧用工控板LED指示灯引脚 文章目录 第三代软件开发-巧用工控板LED指示灯引脚项目介绍巧用工控板LED指示灯引脚第一种方式第二种方式 总结 关键字&#xff1a; Qt、 Qml、 Power、 继电器、 IO 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项…

video标签在h5中被劫持问题

将video的视频链接转为blob export const encryptionVideo (options: URL) > {return new Promise((resolve, reject) > {window.URL window.URL || window.webkitURL;var xhr new XMLHttpRequest();xhr.open(GET, options.url, true);xhr.responseType blob;xhr.onl…

题解(讲题时备用):CF1896-D. Ones and Twos

题解(讲题时备用)&#xff1a;CF1896-D. Ones and Twos 题目链接 Problem - D - Codeforces。 思路简述 我们不难得出只要询问中s&#xff08;s>2&#xff09;行&#xff0c;s-2就也行。&#xff08;通过区间内的左端点和右端点上面的数可以得出&#xff09; 之后维护偶…

圆通速递单号查询入口,以表格的形式导出详细物流信息

批量查询圆通速递单号的物流信息&#xff0c;并以表格的形式导出单号的详细物流信息。 所需工具&#xff1a; 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;第一次使用的伙伴记得先注册&…

C++初识类和对象

前言 上一期我们介绍了一些C入门的基础知识&#xff0c;本期我们来介绍面向对象。初步认识一下面向对象和面向过程、类、以及封装&#xff01; 本期内容介绍 面向过程和面向对象 类的引入 类的定义 类的访问限定符和封装 类的作用域 类的实例化 类对象模型 this指针 一、面向…