分类目录归档:云计算

OpenResty+Redis:高性能缓存利器


OpenResty + redis

使用OpenResty中的Lua语言进行二次开发,实现Nginx接入层缓存的技术。

下图左边是常用的架构,http请求经过nginx负载均衡转发到tomcat,tomcat再从redis读取数据,整个链路过程是串行的,当tomcat挂掉或者tomcat线程数被消耗完,就无法正常返回数据。

下图右边是使用OpenResty的lua-resty-redis模块使nginx具备直接访问redis的能力,不占用tomcat线程,Tomcat暂时挂掉仍可正常处理请求,减少响应时长,提高系统并发能力。

图片

1.压缩功能

Redis的value值用json格式保存...

Read more

Apache配置详解


配置 Apache2 可以涉及到多个文件和目录,主要集中在 /etc/apache2/ 目录下。以下是一些关键的配置文件和目录及其作用:

1. 主配置文件

  • /etc/apache2/apache2.conf: 这是 Apache2 的主配置文件,包含了全局设置和模块加载指令。

2. 模块配置

  • /etc/apache2/mods-available/: 包含所有可用模块的配置文件。

  • /etc/apache2/mods-enabled/: 包含当前启用的模块的符号链接。

启用模块的命令:

sudo a2enmod module_name

禁用模块的命令:

sudo a2d...

Read more

Nginx常用配置


Nginx的配置

配置文件实例

以下为一个 nginx.conf 配置文件实例:

#定义 nginx 运行的用户和用户组
user www www;
#nginx 进程数,建议设置为等于 CPU 总核心数。
worker_processes 8;
#nginx 默认没有开启利用多核 CPU, 通过增加 worker_cpu_affinity 配置参数来充分利用多核 CPU 以下是 8 核的配置参数
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
#...

Read more

Nginx之缓存配置


nginx之缓存配置

1、配置

在Nginx中,缓存是通过使用Nginx的proxy_cache模块来实现的。

开启proxy_cache模块:首先需要在Nginx配置文件中开启proxy_cache模块。

可以在http块中添加以下配置:

http {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
}

在上面的配置中,proxy_cache_path指定了缓存的路径和参数,keys_zone定义了缓存的名称和大小,inactive定义了缓存的过期时间。

配置...

Read more

Shell数组


有这样一个现实问题:一个班级学员信息系统,要求存储学员ID、NAME、SCORE、AGE、GENDER,班级有50个人,思考如何解决交互中数据存储的问题。很多人可能直接说或定义变量接收数据不就行了!nice,你很棒!! 解决方案如下:

1)每个学生通过5个变量,一个班级50个学生,5*50=250,妥妥的!我定义250个变量接收就可以了,美美哒!

兄弟,现在不是全班了是全校的学生需要录入你这个信息系统,你写变量吧!!当我提出这个需求的时候,作为开发你会不会想骂娘呢?

2)使用数组来定义,我只需要定义5个数组来接收所有用户的数据就可以了,5个数组就能解决一切,你觉得你会不会想了解下数组是什...

Read more

Nginx日志切割脚本


Nginx日志切割脚本

Nginx访问日志自动切割脚本:提升日志管理的效率与便捷性

在Web服务器的日常运维中,日志管理是一个至关重要的环节。Nginx作为当前流行的Web服务器软件,每天都会生成大量的访问日志。为了方便日志的查看、归档和分析,我们通常需要对这些日志文件进行切割,即按照一定的时间周期(如每天、每周或每月)创建新的日志文件。

一、脚本内容解析

以下是脚本的完整内容,并附有详细的注释和讲解:

#!/bin/bash  
# 定义Nginx日志目录  
LOG_DIR=/usr/local/nginx/logs    
# 获取上一天的时间,格式为YYYY-MM-DD  
YE...

Read more

nginx安装脚本


脚本安装Nginx

版本一

仅支持CentOS7系统

#!/bin/bash

###################################################################################
# 控制台颜色
BLACK="\033[1;30m"
RED="\033[1;31m"
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
PURPLE="\033[1;...

Read more

Redis编译安装脚本


Redis简单安装脚本

#!/bin/bash

# 检查系统类型
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS_NAME=$NAME
    OS_VERSION=$VERSION_ID
else
    echo "无法识别操作系统"
    exit 1
fi

echo "当前操作系统: $OS_NAME $OS_VERSION"

# 根据操作系统选择安装命令
if [[ "$OS_NAME" == "Ubuntu" ]];...

Read more

Shell脚本经典100例


Shell编程100例,超赞!

1、编写hello world脚本

#!/bin/bash

# 编写hello world脚本

echo "Hello World!"

2、通过位置变量创建 Linux 系统账户及密码

#!/bin/bash

# 通过位置变量创建 Linux 系统账户及密码

#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数
useradd    "$1" 
echo "$2"  |  passwd  ‐‐stdin  "$1"

3、备份日志

#!/bin/bash
...

Read more

MinIO 高性能分布式存储


MinIO 高性能分布式存储

一、概述

MinIO 是一个开源的对象存储服务器,用于存储和管理大规模的非结构化数据,例如图像、视频、日志文件、备份和容器镜像。MinIO 旨在提供高性能、高可用性、可扩展性和易用性的对象存储解决方案,适用于私有云、公共云和混合云环境。

以下是 MinIO 的主要特点和介绍:

  • 开源和自由MinIO 是一个开源项目,根据 Apache License 2.0 许可证发布,这意味着您可以免费使用、修改和分发它。
  • 对象存储MinIO 是一种对象存储系统,它使用存储桶(buckets)来组织数据,每个存储桶包含多个对象。对象可以是各种文件、文档、媒体和其他非结...

Read more