源码安装LNMP


源码安装LNMP

# CentOS7安装各种依赖包
[root@zuolaoshi ~]# yum -y install apr* autoconf automake numactl bison bzip2-devel cpp curl-devel fontconfig-devel freetype-devel gcc gcc-c++ gd-devel gettext-devel kernel-headers keyutils-libs-devel krb5-devel libcom_err-deve...

Read more

Nginx负载均衡


负载均衡简介

在如今的互联网应用中,用户访问量的激增使得单台服务器无法承受巨大的流量负载。为了提高系统的可扩展性和可靠性,负载均衡(Load Balancing)成为了必不可少的技术手段之一。而Nginx,作为一种轻量级、高性能的HTTP和反向代理服务器,常被用作负载均衡器来均衡多个后端服务器之间的流量。今天我们将详细介绍如何通过Nginx部署负载均衡服务。 负载均衡是一种将用户请求均匀分发到多台服务器上的技术,目的是通过多台服务器共同承载流量,以提高整体系统的性能、稳定性和可用性。其主要优势包括:...

Read more

Apache与Tomcat常见面试题


一、Apache HTTP Server 相关面试题

1.什么是 Apache HTTP Server?

答:Apache HTTP Server 是一个开源的 HTTP 网络服务器软件,用于提供静态和动态内容的服务。它是最流行的 Web 服务器软件之一。

2.Apache HTTP Server 支持哪些操作系统?

答:Apache 支持多种操作系统,包括 Windows、Linux、Unix、MacOS 等。

3.如何启动和停止 Apache 服务器?

答:在 Linux 系统中可以使用以下命令:...

Read more

Nginx跨域配置


Nginx跨域配置

什么是跨域?

在了解跨域问题之前,我们先来了解一下“域”的概念。在互联网中,域名用于标识一个网站。当我们在浏览器中访问一个网站时,实际上是在访问这个网站所在的服务器。那么,什么是跨域呢?简单来说,当一个网页从域名A请求域名B的数据时,浏览器出于安全考虑,会实施同源策略(Same-origin policy),这是一种约定,要求Web内容只能访问来自同一个源(协议、域名、端口都相同)的资源。如果不符合同源条件,就会触发跨域限制,导致请求失败。

为什么会有跨域限制?

这一机制最初是为了...

Read more

网站经典架构


经典的网站系统架构

38849b0f87dcb7dc2fedec4060249f67

从开发到部署,从用户访问到底层数据库,介绍搭建网站系统的经典架构的10个核心部分。

1、使用Git管理和协同源代码,通过CI/CD或Git的Webhook方式自动同步更新部署到服务器。(PS:例如使用码云Gitee、阿里云效codeup)

2、用户请求后,经过DNS解析,请求将到达你的应用服务器。

3、使用负载均衡器和反向代理(如 Nginx 和 HAProxy)在 Web 应用程序服务器之间均匀地分配和处理用户的请求。

4、可以使用 CDN(内容分发网络) 提升静态资源文件的加...

Read more

Nginx与PHP-FPM


CGI、FastCGI、PHP-FPM的区别

CGI(Common Gateway Interface) 代表“通用网关接口”。 它是一个标准协议,定义 Web 服务器如何与外部应用程序或脚本交互以处理 HTTP 请求并生成动态 Web 内容。 在 PHP、Python 和 Ruby 等服务器端脚本语言出现之前,CGI 是最早用于动态网页生成的方法之一。 当客户端(通常是 Web 浏览器)向 Web 服务器发送 HTTP 请求时,服务器会处理该请求,并且在静态内容(如 HTML 和图像)的情况下,...

Read more

Nginx地址重写与重定向


rewrite与return

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

1. rewrite重写

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

语法:

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

示例:

location /oldpage {
    rewrit...

Read more

Nginx平滑升级


一、Nginx 平滑升级

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

1、理想情况的升级

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

Read more

Nginx面试题39道


1.nginx 和 apache 的区别?

  1. 轻量级:同样起 web 服务,nginx 比 apache 占用更少的内存及资源;
  2. 抗并发:nginx 处理请求是异步非阻塞的,而 apache 则是阻塞型的,在高并发下 nginx 能保持低资源低消耗高性能;
  3. 模块化:nginx 编写模块相对简单;
  4. IO 事件模型:apache 是同步多进程模型,一个连接对应一个进程,阻塞;nginx 是异步的,多进程单线程,异步非阻塞,多个连接(万级别)可以对应一个进程。
  5. 功能丰富: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 o...

Read more