项目配置管理方案

项目配置管理方案

作者:sink <sink.cup@gmail.com>

最后修改:2011-6-30

调研各个软件的配置:
PHP
行数 文件名
1894 php.ini-development
1900 php.ini-production
方案:所有配置放在1个文件里,根据开发环境还是生产环境,拷贝或做链接成php.ini

mysql
48 binary-configure
146 my-huge.cnf
212 config.huge.ini
my-medium.cnf
config.medium.ini
my-small.cnf
config.small.ini
my-large.cnf
方案:配置放在多个文件里,根据环境,选择拷贝my-huge.cnf到my.cnf,只需修 改my.cnf,一般不用修改ini

nginx
nginx/conf/
fastcgi.conf            koi-win             scgi_params
fastcgi.conf.default    mime.types          scgi_params.default
fastcgi_params          mime.types.default  uwsgi_params
fastcgi_params.default  nginx.conf          uwsgi_params.default
koi-utf                 nginx.conf.default  win-utf
方案:配置比较多,单独成为conf目录,拆分成多个文件,一般只要修改 nginx.conf,别的是不常修改的。

apache2 httpd 
apache2/conf
extra  httpd.conf  magic  mime.types  original
apache2/conf/extra
httpd-autoindex.conf  httpd-languages.conf           httpd-ssl.conf
httpd-dav.conf        httpd-manual.conf              httpd-userdir.conf
httpd-default.conf    httpd-mpm.conf                 httpd-vhosts.conf
httpd-info.conf       httpd-multilang-errordoc.conf
方案:配置比较多,成为conf目录,httpd.conf是主配置,里面可以开启include extra里面的某个配置。extra里的的也要修改,如果不包含extra,则把配置写在httpd.conf里。 

整理总结:
分环境:dev(开发)、prod(生产),如果需要再添加,比如test(测试环境)。
主要配置放在system.conf-dev和system.conf-prod中,
如果发现一些配置在各个环境中一样,不需要修改,则单独建立一个文件,比如语言文字映射表written_language.conf。这样即可避免冗余。否则system.conf-dev和system.conf-prod里有大量内容一样,修改时要修改2个文件。
不要为db单独建立db.conf-dev和db.conf-prod,而把db放在system.conf-dev中,
因为最好只有system.conf-dev和system.conf-prod分环境,这样开发时system.conf链接到system.conf-dev,上线时链接到system.conf-prod即可。

配置文件名为system.conf,而不是system.php,因为conf很有可能采取json、ini格式,现在为了性能里面采用php数组格式,随时可以切换成json格式,以便于通用。

posted @ 2011-06-30 14:59  sink_cup  阅读(1660)  评论(0编辑  收藏  举报
Creative Commons License

本站原创作品采用知识共享署名 3.0许可协议进行许可。