• Linux基于FPM制作RPM包(以Nginx为例)


    1、搭建Epel  Yum源

     安装在线yum源

    [root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm      //安装扩展源
    [root@localhost yum.repos.d]# ls
    a  epel-release-latest-7.noarch.rpm  epel-testing.repo  Centos-7.repo  epel.repo
    或
      [root@localhost ~]# ls /etc/yum.repos.d/
      backup  CentOS-Base.repo  CentOS-Media.repo  epel.repo  epel-testing.repo
       修改epel.repo
      [root@Crushlinux yum.repos.d]# yum clean all && yum makecache  //清除并新建yum缓存

    2、安装ruby环境和gem命令(gem命令是从rubygem仓库安装软件,类似yum从yum仓库安装软件)

    安装软件包,安装时要出现3个安装的软件
    [root@localhost yum.repos.d]# yum -y install ruby rubygems ruby-devel
    
    [root@localhost ~]# gem update --system      //升级rubygems版本
    [root@localhost ~]# gem install rubygems-update -v 2.3.0    //安装新版本
    [root@localhost ~]# gem update --system    //升级
    
    [root@localhost ~]# gem sources -a http://mirrors.aliyun.com/rubygems/  //添加国内源
    [root@localhost ~]# gem sources --remove https://rubygems.org/        //移除国外源
    [root@localhost ~]# gem sources -l     //查看当前源
    
    [root@localhost ~]# gem install fpm     //安装fpm工具

    3、编译nginx,在保证nginx安装完的基础上打包,查看nginx的80端口

    [root@localhost ~]# netstat -anpt | grep :80    //查询nginx的接口

    4、打包nginx包生成rpm包

    脚本
    [root@localhost ~]# vim nginx.sh
    #!/bin/bash
    
    useradd -M -s /sbin/nologin nginx        //创建用户
    ln -s /usr/local/nginx/sbin/nginx/ /sbin     //设置软连接
    echo www.crushlinux.com > /usr/local/nginx/html/index.html   //在网页文件中写入测试内容
    /usr/local/nginx/sbin/nginx         //开启nginx

    打包时报错,修改

    [root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16.1 -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
    报错信息
    Need executable 'rpmbuild' to convert dir to rpm {:level=>:error}
    
    修改
    [root@localhost ~]# yum list | grep build
    [root@localhost ~]# yum -y install rpm-build
    [root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16.1 -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
    打包成功,在当前目录下生成一个rpm包
    Created package {:path=>"nginx-1.16.1-1.x86_64.rpm"}

    5、安装自己制作的软件包,并查看端口

    安装之前需要卸载之前安装的nginx

    rm -rf /usr/local/nginx

    rm -rf /usr/src/nginx-1.16.1/

    rm -rf /usr/local/nginx/sbin/nginx

    userdel -r nginx

    [root@localhost ~]# rpm -ivh nginx-1.16.1-1.x86_64.rpm    //安装自己制作的包
    [root@localhost ~]# netstat -anpt | grep 80     //查看端口
     
  • 相关阅读:
    Flume案例
    推荐算法
    Hive安装
    打开相机
    打电话,发短信
    温度传感器,摇一摇
    经度,纬度,获取
    团队站立会议01
    团队项目计划会议
    "群英队"电梯演讲
  • 原文地址:https://www.cnblogs.com/canflyfish/p/11537085.html
Copyright © 2020-2023  润新知