我正在寻找最好的方法(用于我的目的和情况)来对系统configuration文件进行版本pipe理,并且在两台机器(活动和备份,都应该被视为'生产')之间pipe理部署(所有权和模式)。 我希望能够使用此系统自动(但有select地)复制和pipe理备份机器(EC2实例)上的相关和指定的configuration。 目前,这些机器主要是networking和SMTP服务器(我们不存储用户邮箱),但是我们的项目正在增长,谁知道未来的需求可能会是什么。 例如,我们有可能在未来某个时候实施无线电和基于networking的聊天。 我更喜欢按照惯例pipe理服务器(即根据需要进入并对现场服务器进行更改),然后将这些更改(一旦安置)存储在pipe理系统中。 (好吧,如果我是诚实的,我应该有机地说:我不想失去灵活性来做需求和情况需求的东西。)我find了这种方法,而不是部署在其他地方进行调整和testing的configuration,更具可预测性,而且可能会带来更less的惊喜(除了在现场系统上搞乱configuration的可能性之外,就是!) 我从哲学的angular度认识到,这是回到前面,如果我有资源(testing基础,更重要的是人力),我可能会反过来做。 事实上,我必须要做我所做的。 我非常喜欢结构,但是过多的基础设施本身就是一种生活,在某种程度上它的价值已经丧失。 我已经做了一些家庭作业,并回顾了几个选项,但他们都没有真正做我想要他们,所以我目前试图推出我自己的解决scheme。 这个问题的目的是为了看看我没有想到的,并在我吠错了树之前进行理智检查。 选项 像Puppet这样的声明性元configuration系统可能是很好的select,因为许多服务器在这些服务器之间很less或根本没有区别,特别是在提前清楚configuration应该是什么样的情况下。 我不认为在没有基础架构的情况下使用这样的工具是明智的。 这也有点沉重,过于复杂。 我是唯一的pipe理者,我在业余时间做这个事情,如果我留下来的事情发生在我身上,对于那个走在我身后的幸运男人/女孩,我们应该是合理的。 etckeeper可能会这样做,但据我所知,它并不适用于除/ etc以外的任何其他pipe理。 也就是说,它不适合存储自定义脚本,这些自定义脚本通常位于/ usr / local / bin中。 此外,etckeeper大概pipe理所有 / etc,我认为我宁愿只版本特定的东西(如后缀,Apache,fail2ban,SSH和可能munin)。 一个简单的git或svn回购肯定不会,因为当git跟踪权限时,它不会跟踪所有权,并且svn也不跟踪。 svn在每个被跟踪的目录中保存一个.svn子目录,而.git仅存在于工作副本的根目录中。 这两种情况都有好处和坏处。 在某些地方存在一个.svn目录可能在某些地方是可以的(例如/ etc / apache2 / sites-enabled),但在其他地方打乱了大脑死亡的脚本/工具。 (我确定我读了一些东西:cron是否可以在/etc/cron.d中使用.svn目录,但是depmod不是使用/ lib / modules?) 另一方面,在/ .git中,git认为所有的事情都是跟踪的候选者,甚至(大概)其他git回购! 定制解决scheme 这是我打算做的:在主机上存储的一个颠覆回购(比如/ usr / local / sc-repo)和一个用Pysvn写的pipe理脚本,它实现了以下function: 添加(但默认情况下,不recursion),将文件的模式和owership存储为自定义属性。 另外,我喜欢在我的configuration文件$Id$标签,所以这将确保svn:keywords设置正确。 承诺 更新,写入文件后应用所有权和模式 还原,同上 烫发,像差异,但所有权和模式,修复标志如果需要更正。 […]
我试图设置NGINX作为我的NodeJS应用程序,它是住在127.0.0.1:3000的前端,但我无法解决这个502错误。 NGINX可以在本地访问http://dev.example或http://dev.example dev.example(文件位于:/ etc / nginx / sites-available和符号链接到启用网站) upstream up_dev.example { server 127.0.0.1:3000; } server { listen 0.0.0.0:80; server_name dev.example example; access_log /var/log/nginx/dev.example.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://up_dev.example/; proxy_redirect off; } } error.log中 2014/09/17 19:38:26 [error] 1679#0:* 1 connect()失败(111:Connection refused)连接上游时,客户端:55.55.55.1,server:,request:“GET / HTTP / […]
我有几台运行Ubuntu 10.04的机器。 操作系统改为RHEL7。 更改之后,像cron和mail这样的程序发送邮件为[email protected]而在Ubuntu上为myuser@myhost 。 我更喜欢Ubuntu的方式,没有localdomain后缀,并希望我的RedHat安装工作方式相同。 我怎样才能做到这一点? /etc/hosts看起来像这样: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 1.2.3.4 myhost.example.com myhost hostname -f显示myhost.example.com ; hostname显示myhost (所有这些似乎都没问题,和Ubuntu上一样)。
我们在本地托pipe合作伙伴租用我们的服务器,他们pipe理设置和设置,我们只是使用它们。 但是我们也有pipe理权限,但是pipe理层在他们这边。 所以如果我切换importend的东西,我会让他们beforehanded。 最近我发现至less有一些服务器的电源选项设置为平衡计划。 由于在Windows Server 2012中推荐使用此选项,所以我不明白为什么这个计划可能是最糟糕的一个? 由于我们都希望在服务器上使用能源,所以我想为什么这个值还是build议的? 当我切换到高性能的时候,我也没有看到有什么改变,没有人有一个服务器的testing结果,在相同的情况下运行在平衡和一次在高性能? 对我来说,将其设置为高性能是显而易见的,但是我想了解更多细节。 而据我的理解,唯一的负面影响是电费,也许是一个更多的硬件..正确的? 如果我在本地机器上查看电源计划的详细信息,则可以看到处理器电源pipe理下的CPU选项,在服务器上只有处理器电源pipe理下的系统冷却策略。 看来,CPU在任何情况下都不会受到限制?! 这个设置在所有的计划下都是一样的。
现在我正在移动我的主服务器,我花了一些时间来精简和简化它的一些设置,现在它已经到了DNS服务器(在新的设置中绑定9.9.5)。 我注意到在我的configuration中,我有很多这样定义的区域: zone "123.123.123.123.in-addr.arpa" in { type master; file "123.123.123.123"; }; zone "123.123.123.124.in-addr.arpa" in { type master; file "123.123.123.124"; }; zone "example.com" in { type master; file "example.com"; }; zone "example.net" in { type master; file "example.net"; }; // With another ~20 definitions like that 这对我来说似乎是非常低效的。 有没有办法自动加载所有文件find目录口径的options { directory "/some/folder" } ,并假设每个主?
我在build立一个新的数据库服务器的过程中。 我以前一直在运行几个MySQL数据库服务器,它一直工作正常。 但我想听听我的服务器推荐的设置。 例如,我应该设置最大连接数,query_cache_size,table_cache等等。 我有每秒4-600每秒: 打开表格:112查询每秒avg:430.386。 我设置它的服务器有以下configuration: Linux版本2.6.32-5-amd64(Debian 2.6.32-41squeeze2) 2个Intel Xeon X3440 @ 2.53GHz 4GB内存 /,/ boot,/ tmp等在软件RAID1,2个7200RPM SATA 软件RAID0上的数据位置,2x7200RPM SATA 我将把MySQL数据库放在RAID0上。 我即将失去什么? 让我知道! 在此先感谢,即时通讯期待您的来信:-) /拉斯穆斯
我目前正在从Apache迁移到nginx。 我有几个域将被托pipe在同一台机器上有一个IP地址。 虽然我configuration了nginx –prefix=/my/path但似乎nginx不包含我的vhostconfiguration文件。 我目前的nginx.conf如下所示: http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; # Don't show server version. server_tokens off; index index.html index.htm index.php; # Default server server { listen 81 default; server_name […]
现在我正在使用Mercurial在生产和开发服务器之间同步类似的Apacheconfiguration。 最后的修补程序队列添加了开发服务器所需的更改和额外的东西。 该计划的工作,但可能会更好。 在从部署configuration中提取更改后,重新应用修补程序队列时,我总是遇到合并冲突。 我觉得我总是对单独的http://和https://configuration文件进行相同的更改。 我应该如何分配我的:80和:443 Apacheconfiguration之间的相同位,并更干净地将“额外位”添加到开发configuration?
我们使用漫游configuration文件,以Windows 2008作为DC和Samba 3.3作为文件服务器运行ActiveDirectory环境。 我们的一些办公室通过慢速链接(1/2 Mbit)连接到总部。 当然,这不是很快,但这是预料之中的。 我不明白的是,如果用户注销(需要很长时间才能同步,如预期的那样),然后在第二天重新login,login也需要很长时间。 这就是我不明白的地方。 同步不应该认识到没有什么比较快的变化? 另外:是否有任何体面的文件如何实现同步? 编辑 :感谢所有的帮助。 最后竟然是Sophos Antivirus扫描远程configuration文件。 其中一个勾选“稍后禁用远程共享的按访问扫描”checkbox,一切都很快。 (最快只有1mbit,所以只需要5分钟的时间)
这可能是一个蹩脚的问题.. 所有的时候我正在使用postfix通过我的rails应用程序发送邮件。 我只是通过这些命令安装postfix,因为我从来没有真正考虑过这个postfix的实际情况。 我更关心代码和所有的应用程序。 sudo apt-get install postfix sudo apt-get install bsd-mailx 如果你使用的是后缀,那么你可以通过在/etc/postfix/main.cf中设置“smtpd_use_tls = no”来禁用tls来快速修复它 sudo /etc/init.d/postfix start 而已。 我的rails应用程序自动开始通过postfix为我发送邮件。 但是现在我需要这个postfix的smtp设置。 我怎么知道? 有人可以告诉我吗? 编辑 我正在寻找SMTP主机名,SMTP用户名,SMTP密码,端口(默认为25)