前期环境准备:
关闭SELINUX  :   setenforce 0
关闭SELINUX  :   sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
停止防火墙    :     /etc/init.d/iptables stop 
停止防火墙开机启动:   chkconfig --level 3 off
更改为保存安装包   keepcache=1


调试命令:curl 10.0.0.3
启动命令:/application/nginx/sbin/nginx
可选安装:   yum -y iinstall lrzsz

mkdir -p /application/tools
  #创建目录
cd /application/tools            #进入目录




1. fpm安装:(因为fpm是用ruby写的,因此需要有ruby的系统环境,版本需要大于1.8.5)     ruby rubygems  ruby-devel 3个软件  需要安装
1. [root@localhost ~]# yum -y install ruby rubygems ruby-devel   ## 这里面貌似要安装1.8.7的ruby 

2. [root@localhost ~]# yum install lrzsz        //----如果系统没有安装这个软件就需要安装一下 

3    gem install fpm -v 1.3.3   ## 安装 fpm工具

4.  gem install json -v 1.8.3   ## 安装json

5.   gem install ffi -v 1.9.18  安装 ffi

6. find /var/cache/ -type f -name '*rpm' |xargs cp -t /tmp/   ## 临时包拷贝到 tmp

7. cd /tmp/ && tar zcf nginx_yum.tar.gz *.rpm   ### 打包位rpm包

8. sz nginx_yum.tar.gz   ## 下载到本地

2. 下载阿里云的源,更换新的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo     ## 下载源

gem source -a http://mirrors.aliyun.com/rubygems/              ## 添加新yum源 (https中 http应该改成https)


gem source --remove http://rubygems.org/                          ## 移除老yum源


gem source --list                                   //查看源地址  gem命令无法使用请安装下面的ruby

3.创建用户
useradd nginx -M -s /sbin/nologin

cd /application/tools/

tar xf nginx-1.6.3.tar.gz



4. 编译安装nginx
1.    ./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

2.     make && make install


5. 创建软连接
ln -s /application/nginx-1.6.3/ /application/nginx

mkdir -p /server/scripts/



6.编写脚本,创建相关用户
cd /server/scripts/      ##脚本写学 该目录
vi nginx_rpm.sh


内容:
useradd nginx -M -s /sbin/nologin

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



7. 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/



8. 下载到其他服务器安装后效果:

完成!!:

出现以下瑕疵待解决:

里程碑1: 能够一键执行后  创建用户和 软连接
yum -y localinstall nginx-1.6.2-1.x86_64.rpm
   ## 必须 使用 yum -y localinstall nginx-1.6.2-1.x86_64.rpm
  
里程碑2:   配置 chkconfig 和 安装完成后立即启动

待完成!

###里程碑1的思路
初步是想在创建用户的那个脚本里直接添加 创建用户领命和 软连接操作
以及完成yum安装这两个rpm包的操作

###l里程碑2的 chkconfig 思路 
在/etc/init.d/rc3.d/   创建一个名为 nginx 的文件 文件中写入: 
# chkconfig: 2345 100 200
# description: SSH is a protocol for secure remote shell access.
 . /application/nginx 

然后使用chkconfig --add  nginx   添加入系统服务中
那么他开机就会启动了

里程碑1和2  会在近期进行测试.完成后会在这个帖子中进行更新.  
2018年4月16日 2:06:46 



FPM包定制完成 (等待实现 里程碑 1 和 2) 2018年4月13日 2:18:32的更多相关文章

  1. [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )

    [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 ) billcheung 发表于 2011-10-23 00:07:49 https://www.itsk.com ...

  2. pycharm2018.1.4激活破解方法与汉化包-2018年6月19日

    记录下来备用,顺便分享给大家,有能力的还是希望能够支持正版!支持正版!支持正版! 方法1:激活服务器,最简单快速(截止2018年6月19日可用) 在激活Jetbrains旗下任意产品的时候选择激活服务 ...

  3. FPM简介(定制rpm包)

    FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前 ...

  4. RPM包定制

    概述 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案.解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接 ...

  5. 96、linux之rpm包定制

    96.1.rpm包定制介绍: 编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. yum安装软件,优点是全自动化安装, ...

  6. Android ROM包定制(解包,增删模块,打包)

    1. 解包 假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制.首先把system.transfer.list和system.new.dat.br(有些旧版的系统的镜像可 ...

  7. 4月8日 python学习总结 模块与包

    一.包 #官网解释 Packages are a way of structuring Python's module namespace by using "dotted module n ...

  8. 2019年9月3日安卓凯立德全分辨率(路况)夏季版C3551-C7M24-3K21J25懒人包

    拷贝懒人包NaviOne文件夹到机器根目录或内存卡根目录下:安装其中的apk程序 2019凯立德C3551-C7M24-3K21J25新组合懒人包 [分辨率]:自适应 [适用系统]:Android2. ...

  9. 连接池设置导致的“血案” 原创: 一页破书 一页破书 5月6日 这个问题被投诉的几个月了,一直没重视——内部客户嘛😿 问题现象: 隔几周就会出现 A服务调用B服务超时 脚趾头想就是防火墙的问题,A、B两服务之间有防火墙 找运维查看防火墙日志确实断掉了tcp连接,但是是因为B服务5分钟没有回包,下面这个表情就是我当时的心情——其实我们在防火墙、A服务、B服务都抓包了,几十个G的t

    连接池设置导致的“血案” 原创: 一页破书 一页破书 5月6日 这个问题被投诉的几个月了,一直没重视——内部客户嘛

随机推荐

  1. Azure VM从ASM迁移到ARM(二)

    在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一.  获得ASM中Disk的信息 在管理 ...

  2. C语言第二次实验作业

    PTA ================= 11-6 方阵循环右移 --------------- 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.....n-1列变换 ...

  3. [转] CentOS系统目录学习

    最近初学Linux 对linux的目录产生了很多疑问,看到这篇文章,让我顿时对目录有了一个清晰的认识!推荐给大家! ------------------------------------------ ...

  4. RDD之一:总体介绍

    摘要 本文提出了分布式内存抽象的概念——弹性分布式数据集(RDD,Resilient Distributed Datasets),它具备像MapReduce等数据流模型的容错特性,并且允许开发人员在大 ...

  5. Modules:template

    ylbtech-Modules: 1.返回顶部 1.   2. 2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返 ...

  6. 侯捷STL学习(11)--算仿+仿函数+适配器

    layout: post title: 侯捷STL学习(十一) date: 2017-07-24 tag: 侯捷STL --- 第三讲 标准库内核分析-算法 标准库算法形式 iterator分类 不同 ...

  7. C#的颜色解析及操作和相关Brush

    一.颜色表示方式 // // Summary: // Creates a System.Drawing.Color structure from a 32-bit ARGB value. // // ...

  8. delphi 组件安装工具开发

    当一个组件的dpk文件数量较多且安装工具不顺手的时候,写一个属于自己的组件安装工具就很有必要了. 本例以 Dev Express 16.1.2 为例,设计一个组件安装工具,以便更深入理解 delphi ...

  9. Android 4学习(3):概述 - Resources

    在应用程序中,处理与代码逻辑无关资源的最佳实践是将其放到程序的外部,典型的资源包括字符串,图片等.Android中的资源文件都在res文件夹中,这些资源包括字符串,颜色,主题,样式,图画,布局,动画, ...

  10. Delphi Android 询问框

    Delphi Android 询问框 http://community.embarcadero.com/blogs/entry/xe7-dialog-box-methods-support-anony ...