前期环境准备:
关闭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. Kerberos的hive链接问题

    javax.security.auth.login.LoginException: Checksum failed 之前碰到过类似的问题,都是因为服务器端的keytab问题:多半是因为重新生成了key ...

  2. kibana 统计field所有值百分比

    步骤: 1.创建新的Visualize——Pie chart 2.工具栏设置 metrics: slice size Count (默认) buckets:Split Slices 注意调整size: ...

  3. 微服务监控之一:Metrics让微服务运行更透明

    摘要 让微服务运行状态清晰可见. 嘉宾演讲视频回顾及PPT:http://t.cn/R8b6i85 Metrics是什么 直译是“度量”,不同的领域定义有所区别,在微服务领域中的定义: “对微服务的某 ...

  4. Generate web.xml deployment descriptor

    eclipse 使用tomcat7.0建立Dynamic Web Project 时,next至步骤“Web Module”,此时勾选选项“Generate web.xml deployment de ...

  5. [置顶] linux getline()函数

    getline()函数是什么?百度百科这样解释:      getline不是C库函数,而是C++库函数.它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束.1) ...

  6. SpringMVC---依赖注入与面向切面

    1.依赖注入与面向切面 1.1.出现背景 ——如何简化java开发? 其中很重要的一点是“组件化”. ——如何更好的“组件化”? 松耦合,以及尽可能的让组件专注于本身. ——Spring框架的目的也只 ...

  7. Celery-4.1 用户指南: Extensions and Bootsteps (扩展和Bootsteps)

    自定义消息消费者 你可能想要嵌入自定义的 Kombu 消费者来手动处理你的消息. 为了达到这个目的,celery 提供了一个 ConsumerStep bootstep 类,你只需要定义 get_co ...

  8. Firemonkey Android IOS 图标

    图标很多

  9. App启动原理和启动过程

        一.程序启动原理 1.1.main函数中执行了一个UIApplicationMain这个函数UIApplicationMain(int argc, char *argv[], NSString ...

  10. 部署和调优 2.7 mysql主从配置-1

    MySQL 主从(MySQL Replication),主要用于 MySQL 的时时备份或者读写分离.在配置之前先做一下准备工作,配置两台 mysql 服务器,如果你的机器不能同时跑两台 Linux虚 ...