我一直使用virtualenv来testing我的应用程序在本地主机,因为我有孤立的环境,并可以安全地testing新版本的软件包。 现在是我必须将我的应用程序部署到生产服务器的时候了。 我想知道如果我也应该使用virtualenv生产服务器或只是正常的安装应该做的。 由于它是生产服务器,我总是可以使用我在dev服务器上testing的正确版本(在virtual-env下)
我将TeamCity设置为我的构build服务器。 我有我的项目设置,它正在从颠覆正确更新,并build立好。 下一个是什么? 理想情况下,我希望将其自动部署到testing服务器,并手动部署到活动/临时服务器。 最好的办法是什么呢? 由于我使用C#/ ASP.Net,我应该添加一个Web部署项目到我的解决scheme?
我正在开发一个企业应用程序。 当我在iOS8testing版中进行testing时,我看到以下警报视图: Untrusted App Developer Do you trust the developer "iPhone Distribution: —" to run apps on you iPad? 这只是第一次出现。 我能以某种方式避免它吗? 它与什么有关?
我已经写了一个Node.js应用程序,我正在寻找它在我们的一台生产机器上运行。 这似乎是一个相当普遍的要求,但我找不到一个适当的解决scheme。 是否没有build立生产Node.js应用程序的解决scheme? 该应用程序很简单(<100 LOC),但需要非常高效,可靠,可连续运行多年,而无需重新启动。 它将在一个大型网站上运行,每秒钟几十个连接。 (该应用程序不被用作networking服务器,它只有一个JSON API) 以下是我考虑的方法,但我仍然不确定: 使用框架(如Express) 因为应用程序需要高性能,而且非常简单,所以以框架的forms添加膨胀是我想要避免的。 用nohup启动服务器 这里的主要问题是exception处理,我们(显然)不希望整个服务器因为exception而崩溃。 据我所知,在一个try {} catch {}循环中包装整个应用程序将无济于事,因为在解释exception之后,Javascript解释器处于不可预知的状态。 那是对的吗? 使用像永远的东西 我已经在我们的FreeBSD机器上安装了Forever,这是非常麻烦的。 它最终产生了无法从Forever中杀死的无尽进程。 我必须运行kill -9来让我的机器重新运行,并且我对运行Forever上的生产应用程序没有太大的信心。 也似乎Upstart(类似的工具,但更通用)不会在FreeBSD上运行。 托pipe解决scheme(如Heroku,Rackspace,Amazon EC2等) 这可能是最简单的解决scheme,但我们已经有一个严重的硬件,我们的networking服务器的其余部分。 出于财务考虑,这是没有道理的。 一定有一些确定的解决scheme呢? 我错过了什么吗?
尝试在Windows Server 2003上安装SSH服务器。有哪些好的? 最好是开源的。 我打算使用WinSCP作为客户端,因此支持该客户端实现的高级function的服务器将会非常棒。
我们正在完成我们的Web应用程序和计划部署。 部署到生产的非常重要的方面是监视系统的健康状况。 拥有一小组开发人员/支持人员,对于我们早日获得潜在问题的通知 ,并在影响用户之前加以解决非常重要。 使用Nagios接口就像一个很好的select,但是想要获得更多关于通用应用程序(特别是Django应用程序)的最佳监视工具/实践的更多意见? 除了显而易见的CPU,内存,磁盘空间,数据库连接之外,还欢迎关于应该监视什么的build议。 我们的networking应用程序是用Django编写的,我们在Apache + Fast CGI和PostgreSQL数据库下运行Linux(Ubuntu)。 编辑我们在Linode下有一个完全虚拟化的环境。 编辑我们正在使用Django日志logging,所以我们有一个单独的信息,错误,关键问题等方式。
这是一个广泛的问题,但我想得到一个规范的答案。 我一直试图在Django中使用gunicorn和nginx来部署一个站点。 阅读了大量的教程,我已经成功,但我不能确定我所遵循的步骤是否足够好,可以毫无问题地运行网站,或者有更好的方法来做到这一点。 这种不确定性令人讨厌。 这就是为什么我要为新手寻找一个非常详细和解释清楚的答案。 我不想太多解释我所知道的和我不知道的东西,因为这可能会使答案偏离一点,其他人可能会从答案中得到较less的帮助。 不过,我想提到的一些事情是: 你看到什么“设置”最好? 我使用了virtualenv并将Django项目移到了这个环境中,但是我看到了另一个设置,其中有一个虚拟环境文件夹和其他项目的文件夹。 我如何以一种允许多个站点在一台服务器上托pipe的方式进行安装? 为什么有人build议使用gunicorn_django -b 0.0.0.0:8000和其他人build议gunicorn_django -b 127.0.0.1:8000 ? 我在亚马逊EC2实例中testing了后者,但在前者没有问题的情况下运行不起作用。 nginxconfiguration文件背后的逻辑是什么? 有太多的教程使用截然不同的configuration文件,我很困惑哪一个更好。 例如,有些人使用alias /path/to/static/folder和其他root /path/to/static/folder 。 也许你可以分享你喜欢的configuration文件。 为什么我们在/etc/nginx创buildsite-available和sites-enabled之间的符号链接? 一些最佳实践一如既往的欢迎:-) 谢谢
Joel在StackOverflow播客#24中提到,FogCreek公司的政策是不在星期五运送软件。 但是,他没有详细说明为什么。 我同意。 在我的雇主,我们周四晚上部署。 所以我们有星期五来清理所有错过质量保证(QA)的错误。 但是,我的经理build议,如果QA没有足够的时间在发布之前testing软件,我们会在星期五晚上进行部署。 我说,人们的周末计划呢? 如果我们在星期五晚上部署,那么我们就必须在星期六工作来清理所有错过的漏洞。 那么为什么不在周五发货? *我们可能(不确定)需要做出这样的假设:一个核心软件开发团队位于一个时区,部署其公司的核心Web应用程序。
我有几个docker集装箱运行 Nginx的 networking应用程序1 networking应用程序2 PostgreSQL的 由于Nginx需要连接Web应用程序1和2内的Web应用程序服务器,并且Web应用程序需要与postgresql对话,所以我有这样的链接 Nginx —链接—> Web应用程序1 Nginx —链接—> Web应用程序2 Web应用程序1 —链接—> PostgreSQL Web应用程序2 —链接—> PostgreSQL 这在开始时效果相当不错,但是,当我开发新版本的Web应用程序1和Web应用程序2时,我需要replace它们。 我所做的是删除networking应用程序容器,设置新的容器,并启动它们。 对于networking应用程序容器,他们的IP地址在第一个将是类似的 172.17.0.2 172.17.0.3 而且在我replace之后,他们现在有了新的IP地址 172.17.0.5 172.17.0.6 此时,Nginx容器中暴露的环境variables仍旧指向旧的IP地址。 问题在于如何在不破坏其他容器之间的连接的情况下更换容器? 同样的问题也会发生在PostgreSQL上,如果我想升级PostgreSQL映像版本,我当然需要删除它并运行新的,但是之后我需要重build整个容器图,这不是一个好主意生活服务器操作。
我想知道什么是移动一个网站到另一台服务器的最佳做法(以及所有设置等) 在新服务器上手动重新创build站点(由于显而易见的原因,无法维护) 复制applicationHost.config设置文件 使用appcmd进行备份和恢复 使用MSDeploy在新机器上发布站点 使用第三方工具 只是想知道别人的经验。