linux-yum源构建

一. 背景: 公司内部需要定制自己的rpm包,比较成熟的方案之一就是通过yum仓库的方式管理, 当然,可以自行通过程序来实现, 不过比较费劲。

      环境: 我们环境比较复杂,分别有aws、ali、ten。 对应的系统版本也有6、7两个。 为了完全契合各运营商提供的系统。我们采用了运营商原生的镜像(可以自己制作后上传,但不能保证是否有坑)。 故我们需要针对不同的环境、版本打不同的rpm包。配置对应的yum仓库:

二. 设计结构: 

yum_source]# tree -d
.
├── xiao_7
│   ├── ali
│   │   └── x86_64
│   │       └── repodata
│   ├── aws
│   │   └── x86_64
│   │       └── repodata
│   └── ten
│       └── x86_64
│           └── repodata
└── xiao_8
    ├── ali
    │   └── x86_64
    │       └── repodata
    ├── aws
    │   └── x86_64
    │        └── repodata
    └── ten
    |   └── x86_64
    │        └── repodata

三. 构建方式:

         一个yum仓库的构建方式是很简单的。 通过createrepo工具即可:

#yum -y install createrepo
#createrepo -pdo /data2/yum_source/xiao_7/aws/x86_64/ /data2/yum_source/xiao_7/aws/x86_64/

放入相应的rpm包至/data2/yum_source/xiao_7/aws/x86_64/下

更新yum索引
createrepo --update /data2/yum_source/xiao_7/aws/x86_64/

http站点配置。 这里通过nginx,部署方式略。 配置如下:

server {
    listen       80;
    server_name  yum.int.xiao.com.cn;
    include trace.setting;
    access_log  /var/log/nginx/test.log  main;
    root /data2/yum_source;
}

client配置:

# cat /etc/yum.repos.d/xiao_package.repo 
[xiao-source]      #中间不能有空格
name=xiao package
baseurl=http://yum.int.xiao.com.cn/xiao_7/aws/$basearch/   #aws的$releasever比较变态(值为latest),参考/etc/yum.conf
gpgcheck=0
enabled=1

验证:

       yum clean all && yum search xiao 。。。。。。

与初始化整合:  初始化获取实例环境,版本信息。然后下发对应的repo配置, 进行yum初始化部署。

---------------------------------------------------------------------------------------------------------------------

                         深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!

                                                    V: ywjw996

                                                    《 运维经纬 》

<think>我们正在讨论B/S架构测试环境中常用的Web服务器和代理中间件。根据之前的引用和讨论,我们可以总结如下: 1. **Web服务器**: - **Apache HTTP Server**:引用[4]中提到,Apache是常用的Web服务器,配置文件位于`/etc/httpd/conf/httpd.conf`,默认端口80。它支持模块化扩展,适合各种动态内容处理(如PHP)。 - **Nginx**:引用[2][3]中提到,Nginx不仅可作为Web服务器,还可作为反向代理和负载均衡器。它以高性能、高并发处理能力著称,尤其适合静态资源服务和代理场景。 2. **代理中间件**: - **Nginx**:除了作为Web服务器,Nginx常被用作反向代理,将请求转发给后端的应用服务器(如Tomcat、Node.js等),引用[3]中明确指出Nginx可用于负载均衡。 - **HAProxy**:引用[2]中提到HAProxy是一种软件负载均衡器,适用于TCP/HTTP层的高性能代理,支持多种负载均衡算法(如轮询、最小连接数等)。 - **LVS (Linux Virtual Server)**:引用[2]中提到LVS是四层负载均衡解决方案,工作在传输层,性能极高,适合大规模集群。 此外,引用[3]还提到负载均衡设备的选择策略,包括软件负载均衡(如Nginx、HAProxy、LVS)和云服务负载均衡器(如AWS ALB)。 ### 常用Web服务器及代理中间件对比表 | 类型 | 名称 | 适用场景 | 特点 | |--------------|-----------|--------------------------------------------------------------------------|----------------------------------------------------------------------| | **Web服务器**| Apache | 动态内容处理(如PHP)、模块化扩展需求 | 配置灵活,模块丰富,但高并发性能不如Nginx | | | Nginx | 静态资源服务、高并发场景、反向代理 | 事件驱动架构,资源占用低,支持高并发连接 | | **代理中间件**| Nginx | HTTP/HTTPS反向代理、负载均衡、缓存加速 | 配置简洁,支持动静分离,可扩展性强 | | | HAProxy | TCP/HTTP应用层代理、负载均衡(支持健康检查、会话保持) | 专注代理和负载均衡,性能优异,支持ACL规则 | | | LVS | 四层(传输层)负载均衡、大规模集群 | 内核级转发,性能接近硬件设备,但配置复杂 | > 注:在测试环境中,Nginx因集成Web服务和代理功能于一体而被广泛采用;HAProxy则更适合纯代理场景[^2][^3]。 ### 部署建议 1. **测试环境简化方案**: - 使用Nginx同时承担Web服务器和反向代理角色: ```nginx # 静态资源服务配置 server { listen 80; server_name static.test; root /var/www/static; } # 动态请求反向代理 server { listen 80; server_name app.test; location / { proxy_pass http://localhost:3000; # 转发至Node.js应用 } } ``` 2. **负载均衡测试**: - 使用HAProxy实现后端多实例负载: ```haproxy frontend http-in bind *:80 default_backend servers backend servers balance roundrobin server s1 192.168.1.10:80 check server s2 192.168.1.11:80 check ``` ### 选择依据 - **功能需求**:若需处理静态文件或简单反向代理,选Nginx;若需高级负载策略(如基于Cookie的会话保持),选HAProxy。 - **性能需求**:单机高并发选Nginx或LVS;复杂路由策略选HAProxy。 - **易用性**:Nginx配置更直观,HAProxy对TCP支持更完善。 > 注意:所有组件均可通过包管理器安装(如`apt install nginx`或`yum install haproxy`)[^4]。 §§相关问题§§ 1. 如何配置Nginx实现WebSocket代理? 2. HAProxy与Nginx在负载均衡场景下的性能差异有哪些? 3. 如何在测试环境中模拟多节点负载均衡? </think>### 适用于B/S架构测试环境的常用Web服务器及代理中间件 #### 一、核心Web服务器 1. **Apache HTTP Server** - **特点**:兼容性强、模块化设计,支持多种动态语言(PHP/Python等) - **适用场景**:传统LAMP架构、内容管理系统(如WordPress)测试 - **配置文件路径**:`/etc/httpd/conf/httpd.conf`(主配置),`/etc/httpd/conf.d/`(子配置)[^4] - **安装命令**: ```bash # Ubuntu/Debian sudo apt install apache2 # CentOS/RHEL sudo yum install httpd ``` 2. **Nginx** - **特点**:高性能异步架构、低内存占用,擅长静态资源服务和反向代理 - **适用场景**:高并发测试、前后端分离架构、API网关模拟 - **关键优势**: - 单机可支撑上万并发连接 - 内置负载均衡和缓存功能 - 配置文件简洁(`/etc/nginx/nginx.conf`) - **安装命令**: ```bash sudo apt install nginx # Ubuntu sudo yum install nginx # CentOS ``` #### 、代理中间件 1. **Nginx(反向代理)** ```nginx # 示例:代理后端Node.js应用 server { listen 80; server_name test.example.com; location / { proxy_pass http://localhost:3000; # 转发到应用服务器 proxy_set_header Host $host; } location /static { alias /var/www/static; # 直接处理静态资源 } } ``` 2. **HAProxy** - **特点**:专业级TCP/HTTP负载均衡,支持会话保持和健康检查 - **测试场景**:模拟多节点服务分发、故障转移测试 - **配置示例**: ```haproxy frontend http_front bind *:80 default_backend app_servers backend app_servers balance roundrobin server s1 192.168.1.10:8080 check server s2 192.168.1.11:8080 check ``` 3. **Traefik**(现代云原生代理) - **特点**:自动服务发现、支持Let's Encrypt证书 - **适用场景**:容器化测试环境(Docker/Kubernetes) - **安装**: ```bash docker run -d -p 8080:8080 -p 80:80 \ -v /var/run/docker.sock:/var/run/docker.sock \ traefik:v2.10 ``` #### 三、选型对比表 | 组件 | 类型 | 并发性能 | 配置复杂度 | 典型测试场景 | |---------------|------------|----------|------------|---------------------------| | **Apache** | Web服务器 | 中等 | 中等 | PHP应用、传统Web项目测试 | | **Nginx** | Web/代理 | 极高 | 低 | 高并发API、静态资源服务测试 | | **HAProxy** | 代理 | 极高 | 中等 | 负载均衡策略验证 | | **Traefik** | 动态代理 | 高 | 低 | 容器化环境服务网关测试 | #### 四、测试环境搭建建议 1. **基础组合**: ```mermaid graph LR A[测试客户端] --> B(Nginx:80) B --> C{路由决策} C -->|静态请求| D[Nginx静态资源] C -->|动态请求| E[Apache/PHP后端] C -->|API请求| F[Node.js微服务] ``` 2. **性能测试组合**: ```mermaid graph LR A[负载生成器] --> B(HAProxy) B --> C[App服务器1] B --> D[App服务器2] B --> E[App服务器3] ``` > **关键提示**:测试环境中建议优先选用Nginx,因其同时满足Web服务和代理需求,且资源占用低[^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值