让我跟你分享一个我在奇虎制作的nginxrpm包的文档。稍后,我将分享php和mysql等广泛使用的手机软件的规范。大家在制作rpm包的时候可以参考我的这个文本文档,后面的部分也包括了核心的一些主要参数的改进,尤其是tcp的快速发布和重用等。我们可以一起讨论问题。可以加这个qq群325525293。下面重点内容我已经描述过了。
fine_topdir/奇虎/Centos/
fine_specdir%{_topdir}/SPEC
fine_rpmdir%{_topdir}/
fine_srcrpmdir%{_topdir}/SRPMS
fine_sourcedir%{_topdir}/SOURCES
fine_tmppath%{_topdir}/tmp
fine_builddir%{_topdir}/BUILD
fine_prefix/usr/local/nginx
fine_docroot_dir/usr/local/nginx/html
总结:奇虎定制nginx包
名称:奇虎-ops-nginx#组成rpm的名字叫什么?
版本:1.6.1
发布:1_qihoo.el6
供应商:葛海龙gehailong@360.cn
来源:nginx-%{version}。tar.gz#源码主要介绍自己定义的脚本、环境变量等等。
1.来源:nginx.conf#nginx在主要环境变量上做了很多改进,包括cpu占用、各种缓存文件对策、tcp、过程等。
Source2:sysctl.conf
资料来源3:root.tar.gz
#资料来源4:nginx-module.tar.gz
5:nginx.logrotate#为了更好的避免nginx日志文件逐渐膨胀,危及读写能力的高效性,按时对nginx日志进行激光切割。
Source6:nginx.init
Source7:fastcgi.conf
网址:http://w2.addops.bjt.qihoo.net:8360
许可证:GPL
小组:应用/互联网
buildroot:%{_tmppath}/%{name}-%{version}-root/
要求:BashOpenSSL-DevelCurl-DevelPCRE-DevelOpenSSL#定义了nginx所依赖的一些rpm包。在yum安装的情况下,它是您所依赖的包。
Autoreq:没有
描述
奇虎定制nginxRPM
准备百分比
%setup-q-nnginx-%{version}
%build#链接是配置链接。
。/配置\
-prefix=%{_prefix}\
-使用-http_stub_status_module\
-with-http_ssl_module\
制作%{?_smp_mflags}#制作链接
%install#make安装链接
[$RPM_BUILD_ROOT!="/"&;&rm-rf$RPM_BUILD_ROOT
makedestdir=$rpm_build_rootinstall#这里是文件目录和文档,用来指定我要形成的内容。
mkdir-p$RPM_BUILD_ROOT/usr%{_prefix}/conf/vhosts
mkdir-p${RPM_BUILD_ROOT}%{_prefix}/modules
mkdir-p${RPM_BUILD_ROOT}%{_prefix}/PID
mkdir-p${RPM_BUILD_ROOT}%{_prefix}/conf/include
mkdir-p${RPM_BUILD_ROOT}%{_docroot_dir}
%{__tar}-zxvf%{source3}-C$RPM_BUILD_ROOT%{_docroot_dir}
mkdir-p${RPM_BUILD_ROOT}/home/q/PHP
mkdir-p${RPM_BUILD_ROOT}/home/q/system
#%{__tar}-zxvf%{source4}-C${RPM_BUILD_ROOT}%{_prefix}/modules/
[-f${RPM_BUILD_ROOT}%{_prefix}/conf/nginx.conf]&;&\
RM-fr${RPM_BUILD_ROOT}%{_prefix}/conf/nginx.conf
CP-RF%{source1}${RPM_BUILD_ROOT}%{_prefix}/conf/
mkdir-p${RPM_BUILD_ROOT}/etc/logrotate.d/
CP-RF%{source5}${RPM_BUILD_ROOT}/etc/logrotate.d/nginx
mkdir-p${RPM_BUILD_ROOT}/etc/init.d/
CP-fr%source6${RPM_BUILD_ROOT}/etc/init.d/nginx
RM-fr${RPM_BUILD_ROOT}%{_prefix}/conf/fastcgi.conf
CP-RF%{source7}${RPM_BUILD_ROOT}%{_prefix}/conf/
mkdir$RPM_BUILD_ROOT%{_prefix}/conf/vhosts/
触摸$RPM_BUILD_ROOT%{_prefix}/conf/vhosts/blank.conf
RM-fr$RPM_BUILD_ROOT%{_prefix}/*temp
%files#注意这个链接是把程序前面已经编译好的内容打包,其中exclude的意思是去掉没有打包的内容。
fattr(-,root,root,755)
%{_prefix}
%{_docroot_dir}
%attr(0655,root,root)%config%{_sysconfdir}/init.d/nginx
%attr(0655,root,root)%config%{_sysconfdir}/logrotate.d/nginx
/首页
%排除%dir/home
%pre#pre是指安装前应该做的事情,也就是先创建nginx客户。
if["$1"-eq"1"];然后
/usr/sbin/useradd-c"nginx"\
-s/sbin/nologin-r-d%{_docroot_dir}nginx2>;/dev/null||:
船方不负担装货费用
%post#是指安装后的实际 *** 作。
if["$1"-eq"1"];然后
/sbin/chkconfig-添加nginx
/sbin/chkconfig-level35nginxon
chown-Rnginx:nginx%{_docroot_dir}%{_prefix}
在echo'#Add#的底层,主要集中在核心主要参数的改进,包括tcp的快速发布和重用等。
net.IPv4.TCP_max_syn_backlog=65536
net.core.netdev_max_backlog=32768
net.core.somaxconn=32768
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.IPv4.TCP_mem=94500000091500000927000000
net.IPv4.TCP_max_orbonds=3276800
#net.ipv4.tcp_fin_timeout=30
#net.IPv4.TCP_keepalive_time=120
net.IPv4.IP_local_port_range=102465535'>;>/etc/sysctl.conf
sysctl-p2>;&1/dev/null
船方不负担装货费用
if["$1"-eq"2"];然后
if[-f/var/lock/subsys/nginx];然后
%{_sysconfdir}/init.d/nginx重新启动
船方不负担装货费用
船方不负担装货费用
RM-fr%{_prefix}/*临时
%preun#这是卸载前的准备工作。
if["$1"-eq"0"];然后
%{_sysconfdir}/init.d/nginxstop>;/dev/null2>;&一个
/sbin/chkconfig-delnginx
船方不负担装货费用
%postun#就是卸载的全过程。注意卸载前一定要备份的内容手动做好备份数据,以免发生让你后悔一辈子的事情。有时候运维管理真的伤不起!!!
/usr/sbin/userdelnginx
rm-fr%{_prefix}
干净百分比
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)