我正在使用tutum来部署一个涉及web和db的应用程序。 这里是tutum.yml文件的相关部分。 db: image: 'postgres:latest' ports: – '5432:5432' restart: always volumes_from: – data web: image: 'rchamarthi/djangoweb:latest' command: 'bash -c ''python manage.py makemigrations && python manage.py migrate && /usr/local/bin/gunicorn django_project.wsgi:application -w 2 -b :8000''' expose: – '8000' links: – db restart: always volumes: – /usr/src/app/static working_dir: /usr/src/app/ 由于web有一个链接到数据库,IAM期待“数据库”主机的详细信息被添加到Web容器的/ etc / hosts文件,但我什么也没有看到。 在Web容器中 # cat /etc/hosts 172.17.0.50 […]
我正在testing盐。 我有一个简单的3个VirtualBox虚拟机的testing设置 – 在其中一台机器上运行salt-master,在另外两台虚拟机上运行salt-minions。 我可以启动salt minion虚拟机的任何一个,他们将连接到主和接收命令。 如果我启动两个虚拟机,它们都会短时间连接,然后一个虚拟机会掉线并显示为未连接主机。 实际上,我甚至不需要有多个VM客户端处于活动状态。 有1个虚拟机客户端和1个VM虚拟机,它会断开连接。 我可以重新启动salt-minion,它会重新连接到master并且再次接收命令…至less几分钟。 最终,它会显示为主连接断开。 在debugging中运行salt-minion似乎没有显示任何解释为什么它在主服务器上显示为断开连接。 什么可能导致这个? 编辑: 我使用的操作系统是Ubuntu 14.04。 主人和奴才环境是相同的,除了盐主包。 在master和minion上运行–versions-report给出以下版本: Salt: 2015.5.3 Python: 2.7.6 (default, Mar 22 2014, 22:59:56) Jinja2: 2.7.2 M2Crypto: 0.21.1 msgpack-python: 0.3.0 msgpack-pure: Not Installed pycrypto: 2.6.1 libnacl: Not Installed PyYAML: 3.10 ioflo: Not Installed PyZMQ: 14.0.1 RAET: Not Installed ZMQ: 4.0.4 Mako: Not […]
好的,我正在浏览很多论坛,但是我还没有得到相当有说服力的答案。 我的问题是 – 在UNIX服务器而不是Windows Server中部署应用程序的优点是什么(除了跨平台支持)。 例如,我有一个可执行的jar文件,需要执行50万次数据迁移。 我想通过Windows机器上的Windowsbatch file来执行这个jar。 我的问题是如果我在Unix服务器上部署这个jar子 执行这个表单而不是Windows机器的好处是什么? 请问,在Unix服务器中有一个性能差异和更好的内存pipe理 由于这个jar只需要执行一次,我们是否真的需要考虑在UNIX中设置执行环境,并采用这种方法呢? 在Windows服务器以外的其他UNIX服务器上部署的实际优点是什么(除了跨平台支持和服务器成本?)
我将生产服务器切换到使用virtualenv ,我想了解在生产环境中设置virtualenv的最佳实践。 下面的问题是我今天试图解决的问题: 我应该使用什么用户来创buildvirtualenv? 用户应该在哪里放置virtualenv? 我如何使用该用户的权限激活virtualenv? Virtualenv将被几乎完全由Apache使用,所以我认为正确的用户是www-data ,并且virtualenv的位置可以是/var/www/.virtualenvs 。 这似乎是好的,但接下来的问题是, www-data实际上并没有一个loginshell,不能写入自己的主目录(/ var / www /),所以当我尝试激活virtualenv ,它doesn不起作用,当我尝试使用pip安装东西时,出现如下错误: 目录'/var/www/.cache/pip/http'或其父目录不属于当前用户,并且caching已被禁用。 请检查该目录的权限和所有者。 如果用sudo执行pip,你可能需要sudo的-H标志。 (即使我使用-H我得到这个错误。) 所以,我可以创build一个www-dataloginshell,但感觉就像一个安全反模式。 我可以将www-data访问到它的主目录( /var/www/ ),但这显然是一种安全反模式。 这有没有规范? 我已经烧了太多周期试图弄清楚这一点,感觉应该是更简单。
我正在寻找Linux服务器部署和configurationpipe理的最佳可用选项。 不幸的是,这不是服务器放置在数据中心的典型场景。 相反,我们有多个有限的互联网连接的远程服务器(在船上)。 基于重要性的要求摘要: configuration工具必须使用拉式模型。 到远程服务器的networking连接是困难的或不被允许的。 带宽是非常有限的和昂贵的。 互联网连接是通过卫星使用计量连接。 互联网连接由于卫星而具有高延迟和分组丢失。 networking连接可能几个小时甚至几天不可用。 互联网连接恢复时,必须应用configuration更改。 无需连接互联网即可运行。 这是最后的重要性,我们可以没有它的生活。 例如,在更新的情况下,可能的实现是使用USB驱动器发送configuration工具所需的文件。 Linux服务器可以使用shell脚本来复制USB数据并更新其configuration状态。 所有服务器将使用CentOS 7作为操作系统。 操作系统更新将使用USB驱动器或本地存储库进行处理。 所有服务器将在离开我们的场所并前往远程位置之前进行初始configuration。
我们目前正在考虑推出企业文件共享和协作的“安全”forms。 有没有人有Humyo产品或类似的商业风味的经验? 我们在这方面应该注意哪些陷阱或问题?
现在我一直在pipe理Debian,现在Ubuntu,桌面系统为一家小店铺。 我非常适合进行包pipe理和分发升级。 Ubuntu安装程序已经为我需要添加的每个系统工作。 我没有碰过红帽多年,从未真正pipe理过任何RHEL系统。 我有机会接pipeRHEL和CentOS的商店。 我正在寻找一系列问题/pipe理问题,特别针对将多个戴尔台式机和笔记本电脑系统混合使用的用户,推出RHEL和CentOS作为桌面环境。 在将CentOS推广为桌面环境时,我应该注意哪些问题?
什么是最好的方法(或任何事情)告诉傀儡节点更新,当我做了一个更改site.pp实例,并需要它立即部署? 我想到了每个节点上执行“sudo puppetd –test”。 我想知道是否有更好的/其他的方法来做到这一点。
我正在部署一些自定义企业壁纸作为Windows 7部署的一部分。 有些人会使用双显示器,其他显示器可能是4:3或宽屏幕。 我想在两个屏幕上使用相同的壁纸(即同一壁纸的两个副本,而不是在两个屏幕上都拉伸)。 如果我将背景设置为“拉伸”,则会使用主显示器的纵横比来拉伸两台显示器上的壁纸。 所以,举个例子,如果我使用4:3 TFT作为主显示器,而我的(宽屏)笔记本电脑显示器作为辅助显示器,则图像以4:3的比例显示在笔记本电脑LCD上,两侧都有黑色条纹。 我只注意到这是我的“自定义”壁纸的问题。 默认的MS壁纸和内置的联想壁纸似乎都没有这个问题。 这是通过使用“欺骗”,如使用大于您将拥有的最大分辨率的图像和居中? (即,所以你裁剪图像的一部分。)或者这可以做到“正确”? 我不想使用第三方软件来做到这一点,但是如果能解决这个问题的话,可以高兴地做一些Powershell脚本。 提前致谢, 本
我有一个Web应用程序,需要相当多的依赖。 我目前正在评估使用kvm图像来帮助我们的用户在他们的服务器上安装这个应用程序。 然而,我们有一些关于定制这些图像的可能性,主要是networking和存储。 潜在的networking问题: 许多站点有多个networking(例如,一个用于公共Web界面的networking和一个用于数据的专用networking),并且虚拟来宾有时需要访问他们两个。 这应该很容易处理使用两个(或更多)虚拟networking接口。 然而: 有些站点使用DHCP,而其他站点需要静态IP 某些networking上存在MAC地址限制 如果我们在命令行更改MAC地址,虚拟客户端可能会分配一个新的接口(即eth2 / eth3而不是eth0 / eth1)。 由于udev规则,我们的debian客人会发生这种情况。 当这样的networking问题发生时,通常客户在尝试加载某些networking服务(例如MTA)时会在启动时花费时间。 我必须确定,目前访客通过桥接访问networking。 你用什么技术来解决这些问题? 有没有办法configuration一次虚拟客人,并在最小的configuration下运行它? libvirt能为这个过程提供一些帮助吗? 谢谢 ! 编辑: 感谢您的第一个答案。 现在我意识到我应该更精确一些: 首先,我们的应用程序当然可以安装在任何types的虚拟机(XEN,VMWare等)中,我们将为用户提供select。 我只关注KVM,因为有些网站提出了预先configuration的KVM映像的请求,并且不像现在使用Xen那样适合使用虚拟化技术。 其次,前面描述的networking问题他们可以面对的问题或多或less是我在工作中面临的同样的问题:我通常在我的台式计算机上创build一个虚拟机,然后将存档移动到群集中进行生产。 但是,我的台式电脑和集群之间的环境差别很大。 Linux版本是不同的,我们使用不同的专用networking等等。 所以,我们只想简化从计算机到集群移动虚拟KVM机器的过程。 实际上,我正在寻找一些强大的解决scheme,为虚拟客户提供一些关于他们的环境的提示。 例如在libvirt XML文件中添加一些信息,比如eth0和eth1的mac地址以及这些接口的IP地址,以及其他类似的东西(NFS等)。 由于我们使用networking桥接,我不认为主机上的本地DHCP服务器可能是一个很好的解决scheme,只能解决问题的一部分。 那么真正的酷就是将主机的configuration信息传递给来宾。 也许这已经存在,或者可以通过某种方式来实现。 所以我重新提出的问题是:是否有一个好的 (强大的,标准的,优雅的,无论) 从主机到客人 (理想情况下直接使用libvirt XML)的信息,如果它不存在或这个想法完全愚蠢(然后请给出为什么这是一个愚蠢的想法的论据)。 再次感谢) !