LNMP环境搭建之--YUM仓库

前言:

其实快速完成集群环境交付的技术方案有很多,有最原始的编译-tar-scp分发-解压;有自动化工具

saltstack、puppet、Ansible的批量部署;也有高大上的openstack虚拟机镜像和docker容器分发技术。环境越复杂,技术要求就越来越高,想学更自动化的工具技术也得弄懂简单环境快速部署原理,硅步千里。

一、为什么要搭建yum仓库

对比Linux安装软件的三种方式

1)编译安装:编译参数复杂、编译计算耗时长

2)yum安装:完全自动化,解决所有软件依赖问题;但是软件安装不能自定义,且安装依赖网络

3)定制RPM+yum:结合了前面两者的优点,搭建在本地集群环境,部署速度快。

二、搭建思路

三、搭建过程

1)FPM安装


yum -y install ruby rubygems ruby-devel

gem sources -a http://mirrors.aliyun.com/rubygems/

gem sources --remove http://rubygems.org/

gem install fpm -v 1.3.3              #测试环境1.3.3应该是centos6.7稳定版本,其他环境仅参考

#FPM实质上是调用rpmbuild工具实现一条命令打包,有点类似于windows上inno setup打包..

2)定制RPM包(以Nginx为例)


###清空yum安装缓存路径,安装完软件依赖包后拷贝出来所有的rpm依赖包###

mkdir /application/tools -p

sed -i ‘s#keepcache=0#keepscache=1#g‘/etc/yum.conf

find /var/cache -type f -name"*rpm"|xargs rm -f

yum install -y pcre-devel openssl-devel

find /var/cache -type f -name"*rpm"|xargs cp -t /tmp/

cd /tmp/

tar zcf nginx_rpm.tar.gz *rpm

###创建一个安装完软件后需要执行的相关命令脚本###

mkdir -p /server/scripts/

cd /server/scripts/

cat >>nginx_rpm.sh<<EOF

#!/bin/bash

useradd www -s /sbin/nologin -M

ln -s /application/nginx-1.6.3//application/nginx

EOF

###编译安装Nginx###

cd ~/tools/

tar xf nginx-1.6.3.tar.gz

cd nginx-1.6.3

./configure --user=www --group=www--with-http_ssl_module --with-http_stub_status_module --prefix=/application/nginx-1.6.3/

make && make install

###FPM打包###

fpm -s dir -t rpm -n nginx -v 1.6.3 -d‘pcre-devel,openssl-devel‘ --post-install /server/scripts/nginx_rpm.sh -f/application/nginx-1.6.3/

# -s 源文件格式,-t 目标格式,-n 包名,-v 版本,-d 指定依赖包(这个很关键,以后yum安装nginx时会自动安装这里的依赖包),--post-install 编译安装完成后需要执行的脚本(如创建用户、软链接等),-f  源文件地址(必须使用绝对地址,不能使用软链接,不然会打包出错!)

sz nginx-1.6.3-1.x86_64.rpm

#打包完成后

rpm -qpi nginx-1.6.3-1.x86_64.rpm                 #查看包内容

rpm -qpR nginx-1.6.3-1.x86_64.rpm                #查看包依赖

rpm -qp --scripts nginx-1.6.3-1.x86_64.rpm   #查看包脚本

rpm -ivh nginx-1.6.3-1.x86_64.rpm                 #安装rpm包

             rpm-ivh --aid *.rpm                                              #解决安装包循环依赖的问题

3)yum仓库


###创建一个目录专用放rpm包,也就是yum仓库文件夹了###

mkdir -p /application/yum/centos/x86_64

rz nginx_yum.tar.gz

rz nginx-1.6.3-1.x86_64.rpm

tar xf nginx_yum.tar.gz

###初始化repodata###

yum install -y createrepo

createrepo -pdo /application/yum/centos/x86_64//application/yum/centos/x86_64/

###每次加入新的rpm包都需要更新yum仓库数据库###

createrepo --update/application/yum/centos/x86_64/

python -m SimpleHTTPServer 80 &>/dev/null&        #用Python模块启动http服务

netstat -antulp|grep 80

     4)客户端配置


cd /etc/yum.repos.d

mkdir -p repo_back && mv *reporepo_back/

cat >>new.repo<<EOF                    #创建新的repo安装源文件

[new]

name=server

baseurl=http://10.0.0.101                #yum仓库地址

enable=1                                         #1代表开启地址

gpgcheck=0                                     #yum软件校验,0非

EOF

yum clean all                                  #清楚yum安装缓存

yum list

lrzsz.x86_64                       0.12.20-27.1.el6           new      #能看到新建的new安装yum仓库名

···

5)总结

至此,yum仓库的搭建流程大概就是以上了,后续可以按照此方法自定义PHP、MySQL安装RPM包,加入LNMP环境,一键搭建速度将大大提高,听说最快的2分钟就搞定了~

时间: 2024-07-30 03:21:30

LNMP环境搭建之--YUM仓库的相关文章

LNMP环境搭建ZABBIX3.0

1.LNMP环境搭建,这里就不详细介绍了,但是有几点需要注意 1)mysql如果是二进制或者编译安装,php编译的时候需要一下编译参数 --with-mysqli=/application/mysql-5.5.32/bin/mysql_config //后面的路径是你的mysql_config的具体路径,如果不加此参数会导致安装zabbix的时候找不到mysql support 2)mysql建立zabbix数据库的时候要指定utf8建库,再导入zabbix的数据 3)php编译的时候要加下面的

LNMP环境搭建——Apache篇

1.Apache DSO(Dynamic Shared Object) (1) 查看已编译模块: [root@kallen ~]# httpd -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) auth_digest_module (shared) authn_file_modu

LNMP环境搭建(基于zabbix监控软件)

LNMP环境搭建(基于zabbix监控软件) 安装依赖包: yum -y install pcre  pcre-devel  openssl openssl-devel 安装nginx [[email protected] media]# tar zxvf nginx-1.6.0.tar.gz [[email protected] media]# cd nginx-1.6.0 [[email protected] nginx-1.6.0]# ./configure --prefix=/usr/l

centos6.2 LNMP 环境安装(yum)

安装第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic yum chech-update #更新yum源 安装环境 安装nginx yum remove httpd* php* #删除系统自带的软件包 yum install nginx chkconfig nginx on #设置nginx开机启动 service nginx start 安装mysql yum install mysql mysql-serve

LNMP环境搭建——MySQL篇

The world's most popular open source database 1.Install MySQL root@kallen:~# apt-get install mysql-server-5.5 mysql-client-5.5 2.Add Users (1) 选择数据表 语句例如以下:use mysql; (2) 在mysql的user表中添加连接用户帐号: 这里不要直接使用INSERT语句加入user记录,使用INSERT可能出现错误: ERROR 1364 (HY0

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

LNMP环境搭建精华

LNMP环境搭建====================================================================Linux(RHEL6.4) + Nginx(FastCGI) + PHP(php-fpm) + MySQL 所需软件包nginx-1.4.4.tar.gzphp-5.5.7.tar.gzcmake-2.8.10.2.tar.gzmysql-5.5.33.tar.gzDiscuz_X3.1_SC_UTF8.zip 一.安装Nginx1. pcre

LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)

测试环境:CentOS release 6.5 (Final) 软件安装:nginx   mysql-5.5.32-linux2.6-x86_64.tar.gz   php-5.3.27.tar.gz 1.mysql安装详见:https://www.cnblogs.com/su-root/p/10247514.html 2.nginx安装详见:https://www.cnblogs.com/su-root/p/10177045.html     https://www.cnblogs.com/s

LNMP环境搭建--Centos7

LNMP环境搭建--Centos7 | 刘鹏--博客 盒子 盒子 博客 分类 搜索 文章目录 在Centos7环境安装LAMP环境,备忘哈哈. 准备 首先去官网下载php,nginx 编译安装php 安装依赖 12 yum -y install epel-releaseyum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-