Nginx地址重写与重定向


rewrite与return

在 Nginx 中,rewrite 和重定向都是用于改变 URL 的机制,但它们的工作方式和应用场景有所不同。以下是它们的详细解释和区别:

1. rewrite重写

rewrite 是在服务器内部改变 URL,客户端不会察觉到 URL 的变化。rewrite 通常用于将一个 URL 模式匹配到另一个 URL 模式,而不改变浏览器中的 URL。

语法:

rewrite 正则表达式 替换目标 [标志];

示例:

location /oldpage {
    rewrite ^/oldpage/(.*)$ /newpage/$1 last;
}

在这个例...

Read more

Nginx平滑升级


一、Nginx 平滑升级

  • 当我们使用的Nginx版本存在BUG,亦或希望使用更高级的功能时。就有可能需要对我们目前使用的Nginx版本进行升级。那如何升级呢? 我们这里分为理想情况的升级,和实际工作中的升级去分析。

1、理想情况的升级

  • 有可能你真的没有什么运维经验,将实际情况想象的过于复杂。网上看到的一切有关平滑升级的情况没有问题,但基本上都是针对单点Nginx去做的升级。而实际运维工作中,我们不可能让单点Nginx服务存在。如果逼不得已真的存在,请按照下面的升级方案升级吧。
  • nginx指令及信号关系
reopen  对应USR1信号
reload  对应HUP信号
stop  ...

Read more

Nginx面试题39道


1.nginx 和 apache 的区别?

  1. 轻量级:同样起 web 服务,nginx 比 apache 占用更少的内存及资源;
  2. 抗并发:nginx 处理请求是异步非阻塞的,而 apache 则是阻塞型的,在高并发下 nginx 能保持低资源低消耗高性能;
  3. 模块化:nginx 编写模块相对简单;
  4. IO 事件模型:apache 是同步多进程模型,一个连接对应一个进程,阻塞;nginx 是异步的,多进程单线程,异步非阻塞,多个连接(万级别)可以对应一个进程。
  5. 功能丰富:Nginx 提供负载均衡,可以做做反向代理,前端服务器

2.nginx 和 apache 的优缺点对比

nginx 相对 ...

Read more

Nginx日志配置与分析


nginx日志配置与分析

一、access_log日志配置

access_log用来定义日志级别,日志位置。语法如下: 日志级别: debug > info > notice > warn > error > crit > alert > emerg

语法格式:   

access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];

access_log off;

默认值   : access_log logs/access.log comb...

Read more

网站性能指标


以下是网站后端服务核心性能指标的整合说明,涵盖运维与开发常用指标的定义、关联、应用场景及优化方向,帮助全面理解系统性能表现:

一、核心性能指标体系

1. 吞吐量指标(衡量处理能力)

  • QPS(Queries Per Second,每秒查询率)
  • 定义:服务器每秒处理的查询请求数量(如API接口调用、数据库查询),是衡量即时处理能力的核心指标。
  • 意义:直接反映服务承载能力,峰值QPS决定系统应对流量高峰(如秒杀)的能力,平均QPS用于日常资源规划。
  • 关联指标:与RPS(Requests Per Second,每秒请求数)含义相近,通常可互换,QPS更侧重“查询”场景,RPS更泛化。

  • T...

Read more

前后端技术简介


一、前端技术

1. HTML/CSS/JavaScript

  • HTML(超文本标记语言)

    • 用于构建网页结构,定义网页的内容和布局。
  • CSS(层叠样式表)

    • 用于美化网页,控制元素的样式和布局。
  • JavaScript

    • 用于实现网页的交互功能,如动态内容加载、表单验证、动画效果等。

2. 前端框架和库

  • React

    • 由Facebook开发,用于构建用户界面的JavaScript库。使用组件化开发模式,适合单页应用(SPA)。
  • Vue.js

    • 一个渐进式JavaScript框架,易于上手,灵活性高,适合构建交互式Web界面。
  • Angular

    ...

Read more

Session和Cookie


HTTP是无状态协议

HTTP无状态是指?

HTTP协议对事务处理是没有记忆能力,也就是说服务器不知道客户端是什么状态。

这是什么意思呢?

当我们向服务器发送请求后,服务器解析处理请求,然后返回响应,服务器负责完成这个过程(也是一个事务),而这个过程是独立的,服务器不会记录前后状态的变化,也就是缺少状态记录。

无状态导致的后果?

意味着后续发出的请求需要处理前面请求的响应,则必须重传,这也导致需要额外传递一些前面的重复请求,才能获取后续响应。但为了保持前后状态,我们也不能将前面的请求全部重传一次,这太浪费资源了;就好像如果一个网站每次发出一个请求前都要先发出一次登录请求,这无疑大大增加了...

Read more

Shell符号详解


在 Shell 中,有许多特定符号和运算符用于控制流程、管理输入输出、传递参数等。以下是一些常见的 Shell 符号及其简要说明:

1. 基本符号

  • # 表示注释,后面的内容不会被执行。
  • ; 命令分隔符,用于在同一行中执行多个命令。
  • && 逻辑与,前面的命令成功后才会执行后面的命令。
  • || 逻辑或,前面的命令失败后才会执行后面的命令。
  • & 在后台运行命令。

2. 重定向符号

  • > 将输出重定向到文件,覆盖文件内容。
  • >> 将输出重定向到文件,追加到文件内容末尾。
  • < 从文件中读取输入。
  • 2> 将标准错误输出重定向到文件。
  • ...

Read more

Shell信号发送与捕捉


Shell 信号发送与捕捉

在脚本执行过程中, 可能会被一些键盘操作快捷方式所打断, 影响脚本运行

# HUP(1):  挂起、睡眠, 
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。

登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都 属于这个 Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进 程组和后台有终端输出...

Read more

静态网站与动态网站


静态网站与动态网站

动态网站静态网站是两种不同类型的网站,它们在内容生成、交互性、数据处理以及技术实现等方面存在显著的差异。以下是两者的详细对比:


1. 内容生成方式

  • 静态网站

    • 内容是预先编写和存储的,每个页面都是一个独立的HTML文件。
    • 当用户请求页面时,服务器直接返回这些预先编写好的文件。
    • 内容不会根据用户的需求或操作而改变。
  • 动态网站

    • 内容是实时生成的。当用户请求页面时,服务器根据用户请求的参数、数据库内容或用户身份等动态生成页面内容。
    • 页面内容可以根据不同的用户或条件显示不同的信息。

2. 交互性

  • 静态网站

    • 交互性较低,用户主要进行浏览,功能...

Read more