构建自动化运维之基础设施—定制php for fpm 的rpm包

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

 php定制rpm包支持fpm---spec的书写

安装epel源

 
  1. yum install libmcrypt-devel mhash-devel mcrypt gettext glibc-common gd-devel \
  2. pcre-devel openldap-devel t1lib-devel icu libicu-devel libtidy-devel 
 
  1. Name:           php 
  2. Version:        5.3.21 
  3. Release:        1%{?dist} 
  4. Summary:        PHP is a widely-used general-purpose scripting  
  5. Vendor:         itnihao@qq.com 
  6. language. 
  7.  
  8. Group:          Development/Languages 
  9. License:        PHP License v3.01 
  10. URL:            http://www.php.net 
  11. Source0:        http://www.php.net/distributions/php-%{version}.tar.bz2 
  12. #Source1:        %{name}.conf 
  13. #Source2:        %{name}.ini 
  14. #Source3:        %{name}-fpm.conf 
  15. BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot 
  16.  
  17. Obsoletes:      php 
  18.  
  19. BuildRequires: make 
  20. BuildRequires: bzip2 >= 1.0.2-4 
  21. BuildRequires: curl-devel >= 7.19.7 
  22. BuildRequires: gd-devel >= 2.0.35 
  23. BuildRequires: libmcrypt-devel >= 2.5.8-2 
  24. BuildRequires: glibc-common >= 2.12 
  25. BuildRequires: mhash-devel >= 0.9 
  26. BuildRequires: mcrypt >= 2.6 
  27. BuildRequires: libtool-ltdl-devel >= 1.5.26-1 
  28. BuildRequires: libxml2-devel >= 2.6.32-2 
  29. BuildRequires: openldap-devel >= 2.4.23 
  30. BuildRequires: openssl-devel >= 0.9.8 
  31. BuildRequires: pcre-devel >= 7.8-2 
  32. BuildRequires: t1lib-devel >= 5.1.2-1 
  33. BuildRequires: zlib-devel >= 1.2.3-3 
  34.  
  35. %description 
  36. PHP is a widely-used general-purpose scripting language that is especially 
  37. suited for Web development and can be embedded into HTML. 
  38.  
  39. %prep 
  40. %setup -q -n %{name}-%{version} 
  41. %build 
  42. EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR 
  43. %configure  --with-layout=GNU --with-libdir=lib64 --enable-fpm --with-gd --enable-intl --enable-bcmath --enable-mbstring --enable-pcntl --enable-json --enable-soap  --enable-sockets --enable-sqlite-utf8 --enable-zip --with-zlib --with-bz2 --with-curl --with-jpeg-dir --with-freetype-dir --with-png-dir --with-iconv --with-xpm-dir --with-zlib-dir --with-gettext --with-pcre-regex --with-mcrypt --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-tidy=/usr --with-pear=%{_datadir}/php/pear --with-icu-dir=/usr --disable-debug 
  44.  
  45. make %{?_smp_mflags} 
  46.  
  47. %install 
  48. [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf %{buildroot} 
  49. mkdir -p %{buildroot}%{_initrddir} 
  50. install -Dp -m0755 sapi/fpm/init.d.php-fpm.in %{buildroot}%{_initrddir}/php-fpm 
  51. %{__make} install INSTALL_ROOT="%{buildroot}" 
  52.  
  53. %clean 
  54. [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf %{buildroot} 
  55.  
  56. %post 
  57. /sbin/chkconfig --add php-fpm 
  58. /sbin/chkconfig --level 2345 php-fpm on 
  59.  
  60. %preun 
  61. if [ "$1" = 0 ] ; then 
  62.     /sbin/service php-fpm stop > /dev/null 2>&1 
  63.     /sbin/chkconfig --del php-fpm 
  64. fi 
  65. exit 0 
  66.  
  67. %postun 
  68. if [ "$1" -ge 1 ]; then 
  69.     /sbin/service php-fpm condrestart > /dev/null 2>&1 
  70. fi 
  71. exit 0 
  72.  
  73. %files 
  74. %defattr(-,root,root,-) 
  75. %{_bindir}/* 
  76. %{_sbindir}/* 
  77. %{_includedir}/* 
  78. %{_libdir}/* 
  79. %{_mandir}/man1/php* 
  80. %{_sysconfdir}/* 
  81. %{_datadir}/* 
  82. %{_initrddir}/* 
  83. %exclude /.channels 
  84. %exclude /.depdb 
  85. %exclude /.depdblock 
  86. %exclude /.filemap 
  87. %exclude /.lock 
  88.  
  89.  
  90. %changelog 
  91. * Fri Jan 25 2013 Itnihao build   - 5.3.21-1 <itnihao@qq.com> 
  92.  
  93. * Wed Dec 21 2011 Mike Willbanks  - 5.3.8-1 
  94. - Updated to 5.3.8 
  95. * Tue Feb 23 2011 Mike Willbanks  - 5.3.5-1 
  96. - Initial Package 

本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1127500,如需转载请自行联系原作者

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
458 116
|
6月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
487 114
|
6月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
596 113
|
6月前
|
JSON 监控 API
n8n错误处理全攻略:构建稳定可靠的自动化工作流
在n8n自动化工作流中,错误是提升系统可靠性的关键。本文详解常见错误类型、节点级与全局处理机制,结合重试、熔断、补偿事务等高级模式,助您构建稳定、可维护的生产级自动化流程。
|
6月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
1035 62
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
6月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
1013 156
Maven项目管理与构建自动化完全指南
|
6月前
|
人工智能 运维 监控
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
235 17
|
7月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
224 4
数据采集 Web App开发 人工智能
364 0