大前提是nginx服务必须提前搭好
centOS版本要用7.6
安装epel源 (电脑必须能上网)
1、支持的源类型包:
- dir:将目录打包成所需要的类型,可以用于源码编译安装的软件包
- rpm:对rpm进行转换
- gem:对rubygem包进行转换
- python:将python模块打包成相应的类型
2、支持的目标类型包:
- rpm:转换成rpm包:红帽类型系统
- deb:转换成deb包:ubuntu类型系统
- solaris:转换成solaris包
- puppet:转换成puppet包
2、FPM常用参数
- -s:指定原类型
- -t:指定目标类型
- -n:指定包名
- -v:指定版本号
- -C:指定打包的相对路径
- -d:指定依赖包
- -f:第二次执行时覆盖同名的包
- -p:指定制作的rpm包的存放路径
- --post-install:软件包安装完成后要执行的脚本;同--offer-install
- --pre-install:软件包安装完成前要执行的脚本;同--before-install
- --post-uninstall:软件包卸载完成后要执行的脚本;同--offer-remove
- --pre-uninstall:软件包卸载完成前要执行的脚本;同--before-remove
- --prefix:rpm包默认安装路径
首先关闭防火墙
[root@localhost ~]# tar xf epel-release-latest-7.noarch.rpm
[root@localhost yum.repos.d]# ls
a CentOS-Media.repo epel-testing.repo
CentOS-Base.repo epel.repo local.repo
##yum路径下需要这四个repo文件
[root@localhost yum.repos.d]# yum clean all && yum makecache
[root@localhost yum.repos.d]# yum -y install ruby rubygems ruby-devel rpm-build
[root@localhost ~]# gem install rubygems-update -v 2.3.0 ##更新最新版本,版本根据下一条命令的报错来安装
[root@localhost ~]# gem update --system #升级rubygems版本
[root@localhost ~]# gem sources -l #查看当前源
[root@localhost ~]# gem sources -a http://mirrors.aliyun.com/rubygems/ ##国内源添加
[root@localhost ~]# gem install fpm ##安装fpm工具
[root@localhost ~]# yum source --remove https://rubygems.org/ ##
[root@localhost ~]# vi nginx.sh
#!/bin/bash
useradd -M -s /sbin/nologin nginx
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
/usr/local/nginx/sbin/nginx
[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16.0 -d 'pcre-devel,zlib-devel,openssl-devel' -f --post-install /root/nginx.sh /usr/local/nginx
测试
必须提前安装好 pcre-devel zlib-devel opeensshl-devel
rm -rf /usr/local/nginx
rm -rf /usr/src/nginx-1.16.0
userdel -r nginx
killall -9 nginx
rpm -ivh mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
nginx ##手动启动nginx 脚本无法启动
netstat -anpt |grep nginx ##查看是否开启
完成