nginx2

mkdir /usr/local/develop

cd /usr/local/develop

下载

wget http://nginx.org/download/nginx-1.17.4.tar.gz

解压文件

tar zxmf nginx-1.17.4.tar.gz

进入解压目录

cd nginx-1.17.4/

安装编译工具及依赖库 都安装成功后再次执行会有下面提示

yum -y install gcc pcre-devel zlib-devel openssl-devel libxml2-devel libxslt-devel gd-devel GeoIP-devel jemalloc-devel libatomic_ops-devel perl-devel perl-ExtUtils-Embed

编译所有功能模块  可能根据操作系统不同需要指定在./configure --prefix=/usr/local/nginx 加上后面的模块 来指定  我这里不需要

./configure --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-stream_ssl_preread_module --with-compat --with-pcre-jit
 

用上面的  下面的我做个记录

./configure --with-threads \
            --with-file-aio \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_realip_module \
            --with-http_addition_module \
            --with-http_xslt_module=dynamic \
            --with-http_image_filter_module=dynamic \
            --with-http_geoip_module=dynamic \
            --with-http_sub_module \
            --with-http_dav_module \
            --with-http_flv_module \
            --with-http_mp4_module \
            --with-http_gunzip_module \
            --with-http_gzip_static_module \
            --with-http_auth_request_module \
            --with-http_random_index_module \
            --with-http_secure_link_module \
            --with-http_degradation_module \
            --with-http_slice_module \
            --with-http_stub_status_module \
            --with-stream=dynamic \
            --with-stream_ssl_module \
            --with-stream_realip_module \
            --with-stream_geoip_module=dynamic \
            --with-stream_ssl_preread_module \
            --with-compat \
            --with-pcre-jit

make && make install

编译后默认安装目录为    /usr/local/nginx

cd /usr/local/nginx

ll

进入sbin目录

cd sbin/

nginx的常用命令

在 /usr/local/nginx/sbin目录下

./nginx   启动nginx

./nginx -s stop   关闭nginx

./nginx -s quit  优雅关闭

./nginx -s reload  在启动情况下重启nginx 默认加载的是/usr/local/nginx/conf/nginx.conf配置文件

./nginx -s reload -c /path/to/your/nginx.conf  后面可以指定你配置文件位置

./nginx -s reopen  重新打开日志文件

这样每次都需要在/usr/local/nginx/sbin目录下进行操做,比较麻烦

配置Nginx全局环境变量  

vim /etc/profile.d/nginx.sh(用这个)    和vim /etc/profile

说明:vim /etc/profile.d/nginx.sh 配置PATH=$PATH:/usr/local/nginx/sbin 和vim /etc/profile里配置PATH=$PATH:/usr/local/nginx/sbin 效果是一样的,只不过在/etc/profile.d更加有组织性

PATH=$PATH:/usr/local/nginx/sbin
 

:wq是保存退出

:q是退出不保存

:q!是强制退出不保存

配置完成后 更新环境变量

source /etc/profile

这样你就可以在任何目录执行nginx的命令

nginx   启动nginx

nginx -s stop   关闭nginx

nginx -s quit  优雅关闭

nginx -s reload  在启动情况下重启nginx 默认加载的是/usr/local/nginx/conf/nginx.conf配置文件

nginx -s reload -c /path/to/your/nginx.conf  后面可以指定你配置文件位置

nginx -s reopen  重新打开日志文件

把Nginx注册为系统服务

vim /etc/systemd/system/nginx.service(这里不要选这个  可以查下两者区别)

vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -q
ExecStart=/usr/local/nginx/sbin/nginx -g "pid /run/nginx.pid;"
ExecReload=/usr/local/nginx/sbin/nginx -t -q
ExecReload=/usr/local/nginx/sbin/nginx -s reload -g "pid /run/nginx.pid;"

ExecStop=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target
 

重新加载系统服务

system daemon-reload(我这里  这一步不需要执行)

系统启动后自动启动(注意不要多空格)

systemctl enable nginx  

启动Nginx

systemctl start nginx

重启

systemctl reload nginx

停止

systemctl stop nginx

查看状态

systemctl status nginx

安全组开通80端口

现在你可以通过

http://你的公网IP访问nginx  因为此时nginx的配置文件只配了80端口

文件下载服务器配置

root指令和proxy_pass指令不要写在同一个块中,写了只会执行一个,谁在前执行谁


#user  nobody;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;# 工作进程:根据需要进行设置,一般设置为CPU核心数的2倍或直接设置为auto由程序自动调整
worker_processes 1;
events {# 每个工作进程的连接数,默认为1024个worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;gzip on;server {listen 80;server_name localhost;charset utf-8;root /data/nginx-web/files; # 文件存放目录location / {autoindex on; # 启用自动首页功能autoindex_format html; # 首页格式为HTMLautoindex_exact_size on; # 文件大小自动换算autoindex_localtime on; # 按照服务器时间显示文件时间default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为# application/octet-streamif ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {# 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"add_header Content-Disposition: 'attachment;';
#注意加上下面的,不知什么原因 会导致失效问题(就是变成在线浏览或者在线播放了)add_header Content-Type 'application/octet-stream';}sendfile on; # 开启零复制文件传输功能sendfile_max_chunk 1m; # 每个sendfile调用的最大传输量为1MBtcp_nopush on; # 启用最小传输限制功能aio on; # 启用异步传输directio 5m; # 当文件大于5MB时以直接读取磁盘的方式读取文件directio_alignment 4096; # 与磁盘的文件系统对齐output_buffers 4 32k; # 文件输出的缓冲区大小为128KBlimit_rate 1m; # 限制下载速度为1MBlimit_rate_after 2m; # 当客户端下载速度达到2MB时进入限速模式max_ranges 4096; # 客户端执行范围读取的最大值是4096Bsend_timeout 20s; # 客户端引发传输超时时间为20spostpone_output 2048; # 当缓冲区的数据达到2048B时再向客户端发送chunked_transfer_encoding on; # 启用分块传输标识#加了好像也没效果#expires 365d;  # 设置过期时间为365天#add_header Cache-Control "public, max-age=31536000";  # 设置缓存控制为公共缓存,最大缓存时间为一年}}
}

注意:一个IP可以绑定多个域名

如果有多个server监听同一个端口 当用IP访问时候  server_name首先匹配server_name 是对应IP的那个server 如果没有server_name是那个IP  那么哪个server在前就匹配哪个server 当用域名访问时候 哪个server_name和域名相同就用哪个 这里和用localhost或者127.0.0.1无关  只会和请求的host匹配 匹配不到哪个server在前就用哪个

有点绕    在多个域名绑定同一个IP时候

就是说nginx首先会用server_name和请求的host做匹配 匹配上了 就用哪个server

匹配不上的话,哪个server在前就用哪个  和写localhost  127.0.0.1  没半毛钱关系  除非你在本地测试时候,写了localhost或者127.0.0.1 此时也是因为和请求的host匹配

下面是当1个IP地址有多个域名的情况下 SSL部署文件下载服务器示例

如果你希望把对应IP也写上可以在对应的一个域名上的80和443加上对应IP 不然Nginx不知道你具体要访问的是哪个

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen 80;#填写证书绑定的域名server_name www.example.com example.com;#将所有HTTP请求通过rewrite指令重定向到HTTPS。rewrite ^(.*)$ https://$host$1;location / {index index.html index.htm;}}server {#HTTPS的默认访问端口443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。listen 443 ssl;#填写证书绑定的域名server_name www.example.com example.com;#填写证书文件绝对路径ssl_certificate /usr/local/nginx/cert/www.example.com.pem;#填写证书私钥文件绝对路径ssl_certificate_key /usr/local/nginx/cert/www.example.com.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启ssl_prefer_server_ciphers on;root /data/nginx-web/files2; # 文件存放目录	## 白名单设置,只允许下面的ip的客户端以及本地能访问。##allow 123.123.123.1;##deny all;#location是匹配IP+端口或者是域名后面的location / {autoindex on; # 启用自动首页功能autoindex_format html; # 首页格式为HTMLautoindex_exact_size on; # 文件大小自动换算autoindex_localtime on; # 按照服务器时间显示文件时间default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为# application/octet-streamif ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {# 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"add_header Content-Disposition: 'attachment;';
#注意加上下面的,不知什么原因 会导致失效问题(就是变成在线浏览或者在线播放了)add_header Content-Type 'application/octet-stream';}sendfile on; # 开启零复制文件传输功能sendfile_max_chunk 1m; # 每个sendfile调用的最大传输量为1MBtcp_nopush on; # 启用最小传输限制功能aio on; # 启用异步传输directio 5m; # 当文件大于5MB时以直接读取磁盘的方式读取文件directio_alignment 4096; # 与磁盘的文件系统对齐output_buffers 4 32k; # 文件输出的缓冲区大小为128KBlimit_rate 1m; # 限制下载速度为1MBlimit_rate_after 2m; # 当客户端下载速度达到2MB时进入限速模式max_ranges 4096; # 客户端执行范围读取的最大值是4096Bsend_timeout 20s; # 客户端引发传输超时时间为20spostpone_output 2048; # 当缓冲区的数据达到2048B时再向客户端发送chunked_transfer_encoding on; # 启用分块传输标识}}server {listen 80;#填写证书绑定的域名server_name www.example2.com example2.com;#将所有HTTP请求通过rewrite指令重定向到HTTPS。rewrite ^(.*)$ https://$host$1;location / {index index.html index.htm;}	}server {#HTTPS的默认访问端口443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。listen 443 ssl;#填写证书绑定的域名server_name www.example2.com example2.com;#填写证书文件绝对路径ssl_certificate /usr/local/nginx/cert/www.example2.com.pem;#填写证书私钥文件绝对路径ssl_certificate_key /usr/local/nginx/cert/www.example2.com.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启ssl_prefer_server_ciphers on;root /data/nginx-web/files; # 文件存放目录		## 白名单设置,只允许下面的ip的客户端以及本地能访问。##allow 123.123.123.1;##deny all;location / {autoindex on; # 启用自动首页功能autoindex_format html; # 首页格式为HTMLautoindex_exact_size on; # 文件大小自动换算autoindex_localtime on; # 按照服务器时间显示文件时间default_type application/octet-stream;# 将当前目录中所有文件的默认MIME类型设置为# application/octet-streamif ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {# 当文件格式为上述格式时,将头字段属性Content-Disposition的值设置为"attachment"add_header Content-Disposition: 'attachment;';
#注意加上下面的,不知什么原因 会导致失效问题(就是txt变成在线浏览)add_header Content-Type 'application/octet-stream';}sendfile on; # 开启零复制文件传输功能sendfile_max_chunk 1m; # 每个sendfile调用的最大传输量为1MBtcp_nopush on; # 启用最小传输限制功能aio on; # 启用异步传输directio 5m; # 当文件大于5MB时以直接读取磁盘的方式读取文件directio_alignment 4096; # 与磁盘的文件系统对齐output_buffers 4 32k; # 文件输出的缓冲区大小为128KBlimit_rate 1m; # 限制下载速度为1MBlimit_rate_after 2m; # 当客户端下载速度达到2MB时进入限速模式max_ranges 4096; # 客户端执行范围读取的最大值是4096Bsend_timeout 20s; # 客户端引发传输超时时间为20spostpone_output 2048; # 当缓冲区的数据达到2048B时再向客户端发送chunked_transfer_encoding on; # 启用分块传输标识}}
}

输入域名访问: 浏览器首先会检查本地缓存,看是否有对应域名的解析记录。 如果本地缓存没有,浏览器会查找操作系统的 hosts 文件,看是否有对应的 IP 地址。 如果 hosts 文件中没有,浏览器会向 DNS 服务器发起域名解析请求,获取对应的 IP 地址。 输入 IP 访问: 浏览器会直接使用输入的 IP 地址进行访问,不再进行 DNS 解析。此时不会再向 DNS 服务器发起域名解析请求。 总体来说,如果你直接输入 IP 地址访问,浏览器会跳过 DNS 解析的步骤,直接使用输入的 IP 地址

hosts文件地址:C:\Windows\System32\drivers\etc  目录下

负载均衡:

package com.example.demo16.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author hrui* @date 2024/2/9 19:17*/
@RestController
public class TestController {@Value("${server.port}")private String port;@RequestMapping("/test1")public Object test(String name,String age){return "端口"+port+","+"name="+name+","+"age="+age;}}

端口一个设置为8081,一个设置为8082,一个设置为8083

需要JDK环境

启动命令:分别启动3个jar包

 nohup java -jar backend8081.jar > backend8081.log 2>&1 &

 nohup java -jar backend8082.jar > backend8082.log 2>&1 &

 nohup java -jar backend8083.jar > backend8083.log 2>&1 &

server {listen 80;#填写证书绑定的域名server_name www.example.com example.com;#将所有HTTP请求通过rewrite指令重定向到HTTPS。rewrite ^(.*)$ https://$host$1;   location / {index index.html index.htm;}	}server {#HTTPS的默认访问端口443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。listen 443 ssl;#填写证书绑定的域名server_name www.example.com example.com;#填写证书文件绝对路径ssl_certificate /usr/local/nginx/cert/www.example.com.pem;#填写证书私钥文件绝对路径ssl_certificate_key /usr/local/nginx/cert/www.example.com.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启ssl_prefer_server_ciphers on;## 白名单设置,只允许下面的ip的客户端以及本地能访问。##allow 123.123.123.1;##deny all;location / {proxy_pass http://backend;}}upstream backend{server 127.0.0.1:8081;server 127.0.0.1:8082;server 127.0.0.1:8083;}

每次访问它都会切换不通端口

此种方式叫轮询策略

IP哈希策略

它会根据你你客户端IP计算得出该访问那台服务器,如果IP不换,就会一致访问同一个端口(服务器)

最少连接策略 

随机负载策略

权重负载策略  简单说就是81->1次   82->2次  83->3次  此种方式在服务器性能有差距时使用合适

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SQL--多表查询

我们之前在讲解SQL语句的时候,讲解了DQL语句,也就是数据查询语句,但是之前讲解的查询都是单 表查询,而本章节我们要学习的则是多表查询操作,主要从以下几个方面进行讲解。 多表关系 项目开发中,在进行数据…

《统计学简易速速上手小册》第8章:贝叶斯统计(2024 最新版)

文章目录 8.1 贝叶斯理论基础8.1.1 基础知识8.1.2 主要案例:疾病诊断8.1.3 拓展案例 1:垃圾邮件过滤8.1.4 拓展案例 2:财经新闻对股价的影响 8.2 贝叶斯方法的应用8.2.1 基础知识8.2.2 主要案例:个性化推荐系统8.2.3 拓展案例 1&a…

寻找最优的路测线 - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。 路测的时候,希望选择一条信号最好…

STM32——中断

1 什么是中断 中断:打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行; 对于单片机来说,中断是指CPU正在处理某个事件A,发生了另一件事件B,请求CPU迅速去处理(…

leetcode 448. 找到所有数组中消失的数字

用的最土的办法&#xff0c;将数组nums中出现过的数字用map记录下来&#xff0c;再遍历1~n中的所有数字&#xff0c;凡是未在map中出现过的即为我们要找的数字。 Java代码如下&#xff1a; class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {i…

【开源】基于JAVA+Vue+SpringBoot的二手车交易系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

第四节课[XTuner微调]作业

文章目录 前言作业基础作业-XTuner InternLM-Chat 个人小助手认知微调实践 前言 XTuner 做在第三节课LangChain作业之前&#xff0c;因为第三节课没想好找哪个领域&#xff0c;等第三节课作业做了一起部署。 作业 基础作业-XTuner InternLM-Chat 个人小助手认知微调实践 然…

python+flask+django农产品供销展销电子商务系统lkw43

供销社农产品展销系统的设计与实现&#xff0c;最主要的是满足使用者的使用需求&#xff0c;并且可以向使用者提供一些与系统配套的服务。本篇论文主要从实际出发&#xff0c;采用以对象为设计重点的设计方法&#xff0c;因此在进行系统总体的需求分时借助用例图可以更好的阐述…

神经网络(Nature Network)

最近接触目标检测较多&#xff0c;再此对最基本的神经网络知识进行补充&#xff0c;本博客适合想入门人工智能、其含有线性代数及高等数学基础的人群观看 1.构成 由输入层、隐藏层、输出层、激活函数、损失函数组成。 输入层&#xff1a;接收原始数据隐藏层&#xff1a;进行…

DataBinding源码浅析---初始化过程

作为Google官方发布的支持库&#xff0c;DataBinding实现了UI组件和数据源的双向绑定&#xff0c;同时在Jetpack组件中&#xff0c;也将DataBinding放在了Architecture类型之中。对于DataBinding的基础使用请先翻阅前两篇文章的详细阐述。本文所用代码也是建立在之前工程基础之…

《乱弹篇(十四)香火旺》

连日来&#xff0c;“大年初一烧香祈福&#xff0c;北京雍和宫人山人海”这一词条登上社交网站热搜&#xff0c;对这一现象的描述多为“初一凌晨 民众在雍和宫前排大队”&#xff0c;“大年初一&#xff0c;雍和宫内人山人海&#xff0c;烟雾缭绕”&#xff0c;“雍和宫迎来6万…

全栈笔记_工具篇(nvm免安装版配置)

免安装版配置 下载nvm包:选择免安装压缩包nvm-noinstall.zip 解压zip包:将压缩包解压到指定目录,如:C:\nvm 新增环境变量: NVM_HOME:nvm解压之后的文件路径,对应配置文件里的root值NVM_SYMLINK:nvm 文件夹里新建 nodejs文件夹,对应配置文件里的path值 修改环境变量Pat…

[leetcode] 33. 搜索旋转排序数组

文章目录 题目描述解题方法二分查找java代码复杂度分析 题目描述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组…

AJAX——常用请求方法

1 请求方法 请求方法&#xff1a;对服务器资源&#xff0c;要执行的操作 2 数据提交 场景&#xff1a;当数据需要在服务器上保存 3 axios请求配置 url&#xff1a;请求的URL网址 method&#xff1a;请求的方法&#xff0c;GET可以省略&#xff08;不区分大小写&#xff09; …

【数据结构】13:表达式转换(中缀表达式转成后缀表达式)

思想&#xff1a; 从头到尾依次读取中缀表达式里的每个对象&#xff0c;对不同对象按照不同的情况处理。 如果遇到空格&#xff0c;跳过如果遇到运算数字&#xff0c;直接输出如果遇到左括号&#xff0c;压栈如果遇到右括号&#xff0c;表示括号里的中缀表达式已经扫描完毕&a…

协议-TCP协议-基础概念04-可能发生丢包的位置-linux配置项梳理(TCP连接的建立和断开、收发包过程)

可能发生丢包的位置-linux配置项梳理&#xff08;TCP连接的建立和断开、收发包过程&#xff09;-SYN Flood攻击和防御原理 参考来源&#xff1a; 极客时间-Linux性能优化实战 极客时间-Linux内核技术实战课 到底是哪里发生了丢包呢&#xff1f; Linux 的网络收发流程 从图中…

CentOS7下如何安装Nginx

一、Ngxin是什么 Nginx是一个开源的 Web 服务器&#xff0c;具有反向代理、负载均衡、缓存等功能。它可以作为 HTTP 服务器&#xff0c;将服务器上的静态文件&#xff08;如 HTML、图片&#xff09;通过 HTTP 协议展现给客户端&#xff0c;也可以实现动静分离&#xff0c;把动态…

PgSQL内核特性 - push-based pipeline 执行引擎

PgSQL内核特性 - push-based pipeline 执行引擎 数据库的SQL执行引擎负责处理和执行SQL请求。通常情况下&#xff0c;查询优化器会输出物理执行计划&#xff0c;一般由一系列的算子组成。当前&#xff0c;有两种算子流水线构建方式&#xff1a;1&#xff09;需求驱动的流水线&a…

【大厂AI课学习笔记】【1.6 人工智能基础知识】(4)深度学习和机器学习

关于深度学习和机器学习&#xff0c;出来包含关系之外&#xff0c;还有如上总结的知识点。 分别从特征处理、学习方法、数据依赖、硬件依赖等4个方面&#xff0c;进行了总结。 从特征处理上看&#xff1a;深度学习从数据中习得高级特征&#xff0c;并自行创建新的特征。这比普…

python入门篇11-面向对象的基础使用

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 上文小总结1.1.2 上文传送门 2. python基础使用2.1 面向对象的基础使用2.1.1 创建类2.1.2 使用对象(定义成员变量)2.1.3 成员方法的定义与使用2.1.4 构造方法的使用2.1.5 常用魔术方法 2.2 面向对象思想核心2.2.1 面向对象_私…