前期环境准备:
关闭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. jraiser模块加载执行简要总结

    1 在html文件中,通过require方式来加载指定的入口文件:2 然后通过正则表达式来匹配入口文件中的所有require的依赖文件:注意,此时入口文件已加载完毕,不过,还没执行而已.3 之后逐一通 ...

  2. http协议及原理分析 1

    1:200与304的区别 浏览器第一次加载成功返回200状态,并会在浏览器的缓存中记录下 max-age 这个值.第二次发起服务器的访问时 会先看缓存中有没有要加载的资源 如果有 再去看有没有超出 m ...

  3. python中print的几种用法

    python中的print有几种常用的用法: 1. print("first example") 2. print("second", "exampl ...

  4. [转载]TSO、UFO、GSO、LRO、GRO和RSS介绍

    TSO.UFO.GSO.LRO.GRO和RSS介绍 ethtool -k < 网络接口>,ethtool --show-offload < 网络接口>,或者可以看到很多网络接口 ...

  5. CSS-MUI:笔记-01

    ylbtech-CSS-MUI:笔记 1. mui-navbar   导航条返回顶部 1.1.样式一 1.2. <div class="mui-navbar-inner mui-bar ...

  6. kubernetes 学习 创建cronjob

    POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  7. 问题:C#打开一个文本文档往里面写数据,没有就新建文档 ;结果:c#FileStream文件读写(转)

    FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能.这是因为FileStream ...

  8. JS写一个简单的程序,输入两个整数,打印这两个数的和,差,积,余数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Github中README.md换行

    两个以上的空格,然后回车.我date

  10. buntu下shell脚本运行异常:bash和…

    转载于:http://www.51testing.com/?uid-225738-action-viewspace-itemid-208702 我用bash到语法写了一个shell脚本(准确的说是把书 ...