项目配置管理方案
作者: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格式,以便于通用。
转载于:https://www.cnblogs.com/sink_cup/archive/2011/06/30/project_conf_dev_prod.html