当前位置: 首页 > news >正文

云计算Linux——Nginx源码编译安装(十一)

前言

补充

Crontab命令语法与重定向机制

# 编辑定时任务 crontab -e # 查看已有定时任务 crontab -l # 清空所有定时任务 crontab -r 分 时 日 月 周 要执行的命令 # 分钟 0-59 # 小时 0-23 # 日期 1-31 # 月份 1-12 # 星期 0-7 0和7都是周日 * :每单位(每时 / 每天 / 每月) */n :每隔 n 分钟 / 小时 a-b :从 a 到 b 范围 a,b,c :指定多个时间点 # 每1分钟执行一次 * * * * * 命令 # 每天凌晨2点30分执行 30 2 * * * 命令 # 每周日凌晨3点 0 3 * * 0 命令 # 每隔5分钟执行 */5 * * * * 命令 0,30 8-18 * * * 命令

重定向

1 | # 只把正常日志写入文件,报错不存 命令 >> /var/log/test.log 2 | # 正常日志+错误日志 都写入同一个文件 命令 &>> /var/log/test.log 3 | # 丢弃所有输出(不打印、不存日志) 命令 > /dev/null 2>&1
解释> /dev/null 2>&1
  • /dev/null黑洞,扔进去就消失
  • 2>&1错误输出交给标准输出一起扔掉

    标准流与重定向符号

    三种标准流
    名称描述编号
    stdout正常打印信息1
    stderr报错信息2
    stdin键盘输入0
    重定向符号
    符号作用
    >覆盖输出到文件
    >>追加输出到文件
    2>错误信息重定向
    2>>错误信息追加到文件

    标准流与重定向符号

    三种标准流
    名称描述编号
    stdout正常打印信息1
    stderr报错信息2
    stdin键盘输入0
    重定向符号
    符号作用
    >覆盖输出到文件
    >>追加输出到文件
    2>错误信息重定向
    2>>错误信息追加到文件

一、Nginx 是干嘛的?

1.1 Nginx

web服务器,为企业提供一个访问入口(www.cnki.net)、可以做反向代理
Nginx:一款用来搭网站、转发请求的软件。
别人访问你,它来扛压力、做中转。
能干三件大事:
直接打开网页
反向代理(帮你转发请求给别的服务器)
分担流量压力

1.2 Nginx 优势:

① 轻量级(C语言开发、系统集成比较流畅、支持正则表达式,可以快速定位到用户访问的网页)
② 静态任务处理能力比较强,支持 50000个/s 并发压力
③ Nginx 的其他功能也比较丰富

1.3 Nginx 安装:

1.3.1 在线安装

yum install -y nginx (略)

1.3.2 源码编译安装(一般来说,在内网环境下会使用)

1)安装依赖环境(比如Nginx 是C开发的--》安装C语言的运行环境包括一些安装工具比如:

make )

./configure --参数 make && make install

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel make
2)上传源码包,解压缩(nginx 目录)
3)安装软件(使用自带的安装工具: ./configure )
./configure --prefix=/usr/local/nginx \ #指定安装后的工作目录(安装的位置)
--user=nginx \ #指定管理nginx服务的用户身份是nginx
--group=nginx #指定管理nginx服务的用户组是nginx
4) make && make install
make是一个编译工具:主要负责把我们指定的安装方式翻译给系统理解,并且使用make install
让系统执行安装操作
5)把nginx 服务添加给系统进行管理(也就是可以使用systemctl 工具管理nginx 服务)
6)创建nginx 的用户 useradd -M -s /sbin/nologin nginx
7) 优化管理: ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
8) systemctl start nginx 启动测试
systemctl stop firewalld
浏览器访问192.168.110.129

二、Nginx的管理

补充:

静态任务:图片、html、css、js → Nginx 直接返回(图片、网络首页等Nginx 直接响应)
动态任务:php、接口、后台业务 → Nginx 抛给 Tomcat/PHP/ 后端(nginx给后端)

├─ 静态资源 → Nginx 直接响应

─ 动态请求 → 反向代理 → Tomcat/PHP/ 微服务后端

2.1 Nginx 服务功能的组成 (配置文件)

配置文件:记录着程序/服务启动时的运行标准

用户访问服务端一般都是使用http协议
3种情况:
正常访问 2xx 3xx
访问错误(服务端错误5xx、客户端错误4xx)

2.2 nginx.conf主要管理的哪些内容

首先,在配置文件中有以下几个区域(配置文件中参数的框架)

2.2.1.全局配置

内置变量书写的后的log日志记录的样子

全局作用域(Global Context):配置参数生效于整个 Nginx 服务,包括 Worker 进程管理、日志路径及 PID 文件位置。

2.2.2 http {} 区域

HTTP 作用域(HTTP Context):仅当用户使用 HTTP 协议访问时生效,负责定义日志格式、文件传输及压缩等标准处理逻辑。(指的是 用户使用http访问时,Nginx遵守的处理标准)

2.2.3.server {} 区域

Server 作用域(Server Context):匹配用户具体的访问入口(域名、IP、端口),用于区分不同业务场景(如公网/内网、PC/移动端)。(指的是 用户使用不同的域名/ip/port来访问时,nginx 的不同处理标准)

一般都是修改这些


4.location {} 区域

Location 作用域(Location Context):匹配用户访问的具体文件路径,决定最终返回给用户的资源内容。

(指的是根据用户具体访问的文件路径,来匹配不同的页面给用户访问/下载的处理标准)

三、三次握手

0.确定方向与场景: windows 访问 百度服务器
1、(WIN)打开浏览器,输入 www.baidu.com
2、win 会通过网卡找到dns服务器,进行地址解析(域名-》ip)
3、确定了源IP 目标IP (TCP 协议 源端口53410 目标端口80),可以建立连接
4、访问网页(HTTP协议--》80端口)
开始向百度服务器建立三次握手
① 客-服 :SYN=1
② 服:ACK=1(单向连接完成),SYN=1
③ 客:ACK=1 (双向连接完成)
连接的是服务端80端口(因为服务端开启了nginx服务-->支持的协议是http--》网卡上开启80端口)
5、传输数据


进程与服务的关系
打开一个服务后,系统会为服务分配一个进程ID(表现形式是/proc/目录文件),也就是做个服务的主进程
主进程:支持服务存活、分配资源给服务程序使用、管理服务状态、创建子进程干活
子进程:干杂活的线程:处理最基础的任务(比如命令操作等)

总结

一、Nginx 配置文件不同区域及功能
1. main 全局区
匹配:整个 Nginx 服务
功能:设置进程数、日志路径、PID 文件等全局配置
2. events 事件区
匹配:连接处理
功能:设置最大连接数、IO 模型
3. http 服务区
匹配:所有网站服务
功能:定义日志格式、缓存、文件类型等
4. server 虚拟主机区
匹配:一个网站 / 一个虚拟主机
功能:定义监听端口、域名、网页根目录
5. location 匹配区
匹配:URL 地址
功能:根据访问路径做转发、代理、访问控制

二、Nginx 虚拟主机配置(3 种方式)
1. 基于域名(最常用)
nginx
server {
listen 80;
server_name www.benet.com;
root /html/benet;
index index.html;
}
server {
listen 80;
server_name www.yjs.com;
root /html/yjs;
index index.html;
}
使用场景企业官网、论坛、商城、后台系统
云服务器低配多站点部署,节约机器成本
虚拟主机服务商:一台机器卖给很多用户做网站
一台服务器、一个 IP,运行多个网站,节省服务器资源。
2. 基于不同 IP
nginx
server {
listen 192.168.110.129:80;
root /html/ip1;
}
server {
listen 192.168.110.130:80;
root /html/ip2;
}
使用场景不同业务分开 IP,便于防火墙、权限单独管控
网站需要独立 IP 备案 / SSL 证书
金融、政务等对隔离性、安全性要求高的业务
服务器有多个独立 IP,每个网站使用独立 IP,更安全、隔离性好。
3. 基于不同端口
nginx
server {
listen 80;
root /html/80;
}
server {
listen 8080;
root /html/8080;
}
使用场景开发 / 测试环境:正式站 80、测试站 8080
内网管理系统、后台服务、项目演示站
本地实验、内网服务部署,不用配置域名
没有多余域名、没有多余 IP,用端口区分测试环境、后台服务、多个项目。
三、Nginx 反向代理 + 负载均衡(预习)
1. 反向代理是什么
客户端访问 Nginx
Nginx 转发请求给后端服务器
用户不知道真实服务器
作用
隐藏真实服务器、安全、中转请求、实现动静分离。
2. 负载均衡是什么
多台后端服务器
Nginx 把请求均匀分发到多台服务器
防止单台压力过大
作用
提高并发、减轻压力、避免宕机、提升稳定性。
3. 为什么要用
安全:隐藏真实服务器 IP
高性能:分担压力
高可用:一台挂掉不影响服务
节约成本:一台机器可以代理 / 分发多个服务
四、作业总结(可直接写在最后)
Nginx 配置分 5 大区域:main、events、http、server、location
虚拟主机 3 种:域名、IP、端口
反向代理 = 中转请求
负载均衡 = 分发压力

杂谈自己做

假设:
用户访问的域名是
http://www.dog.com
http://www.cat.com
http://www.dog.com/bbs/install.html

场景一:
给公司做一个首页 2个访问入口,一个公网--给用户用的 ,一个是内网,给自己人用的
场景二:
一个是移动端业务
一个是浏览器业务


http://www.jsqmd.com/news/797310/

相关文章:

  • TVA与传统视觉技术的本质区别——以机器人灵巧操控为例(10)
  • HFSS主从边界条件实战:用周期性边界快速搞定4x4微带天线阵仿真(附30GHz模型)
  • 别再只用默认样式了!LVGL Chart图表控件的10个美化技巧与高级样式配置
  • ZonyLrcToolsX:跨平台歌词下载解决方案与技术爱好者的音乐管理利器
  • Kotlin ViewModel
  • 智能体与世界模型“同源同宗”:当智能体足够强,世界模型就出来了
  • Vivado 2023.1 与 Questasim 2024.1 协同仿真环境搭建全攻略
  • League-Toolkit:基于LCU API的英雄联盟客户端自动化工具深度解析
  • 2025届毕业生推荐的十大AI辅助论文助手实际效果
  • D3KeyHelper暗黑3鼠标宏工具:从零开始掌握自动化战斗的终极指南
  • 必知必会:大模型位置编码RoPE与ALiBi位置编码详解
  • Android 11(R) MTK平台新分区实战:从分区表到SELinux的完整配置
  • 2025届必备的五大降AI率平台实测分析
  • 3大核心技术解密:LeagueAkari本地自动化工具架构设计与实战指南
  • sndcpy音频转发工具:Android设备音频镜像的完整指南
  • 终极风扇控制神器:FanControl 让你的电脑静音又凉爽
  • Obsidian官方同步插件 Nutstore Sync:冲突与增量同步指南
  • 【RHCA+】安装RHEL7操作系统
  • 实战指南:从零开始掌握Visual C++运行库一键修复的高效用法
  • ESP32-CAM图像显示进阶:对比RGB565直出与JPEG解码,哪种更适合你的ST7789屏幕?
  • 如何快速上手WeixinBot:微信机器人的终极使用指南
  • HTML入门笔记
  • ColorControl:Windows HDR模式下SDR内容显示异常的终极解决方案
  • 5步实现Windows游戏手柄完美兼容:ViGEmBus虚拟驱动终极解析
  • Zotero Connector进阶指南:解锁知乎内容完整抓取与Snapshot模式精准切换
  • rpa项目的庖丁解牛
  • 保姆级教程:在STM32F407上搞定FreeRTOS+TCP网络通信(含LAN8720驱动调试)
  • 鸣潮自动化终极指南:如何用ok-ww实现后台自动战斗和智能声骸管理
  • Dell G15散热终极解决方案:开源温度控制中心完全指南
  • Elasticsearch 磁盘水位线详解:从触发只读到安全解锁