问题标签 [production]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1319 浏览

ruby-on-rails - Ruby on Rails - 类缓存?

我在这里阅读了一篇文章,并使用那里找到的原则为我的控制器编写了管理检查。基本上,它会检查您所在的控制器,然后我创建一个数组,说明此人是否有权查看该控制器,而不是查找,传递它。

文章的作者说读者不应该使用示例代码,因为它有缺陷,他们应该使用他的插件(当然现在已经过时了)。他说

“由于使用类变量和类缓存,上述代码在生产模式下运行时存在一些问题。”

我有一个测试失败,我认为这可能是由于这个原因,但我不太确定我不应该使用代码的哪一部分。我有以下(在application.rb中):

但我将其更改为:

如何正确访问操作名称?总的来说,你可以在开发模式下做哪些在生产环境中不能做的事情?

0 投票
8 回答
7987 浏览

c++ - 跟踪生产 Linux 服务器上的内存损坏

伙计们,您能否推荐一个工具来发现使用 c++ 构建并在 linux x86_64 下工作的生产多线程服务器上的内存损坏?我目前面临以下问题:每隔几个小时,我的服务器就会因段错误而崩溃,核心转储显示 malloc/calloc 中发生错误,这绝对是某处内存损坏的迹象。

实际上,我已经尝试了一些工具,但运气不佳。这是我到目前为止的经验:

  • Valgrind 是一个很棒的(我什至会说是最好的)工具,但它会大大降低服务器的速度,使其无法在生产中使用。我在舞台服务器上尝试过,它确实帮助我找到了一些与内存相关的问题,但即使在修复它们之后,我仍然会在生产服务器上崩溃。我在 Valgrind 下运行了我的舞台服务器几个小时,但仍然没有发现任何严重的错误。

  • 据说 ElectricFence 是一个真正的记忆猪,但我什至无法让它正常工作。它几乎立即在舞台服务器上随机奇怪的地方出现段错误,而 Valgrind 根本没有显示任何问题。也许 ElectricFence 不能很好地支持线程?...我不知道。

  • DUMA - 与 ElectricFence 相同的故事,但更糟。虽然 EF 生成了带有可读回溯的核心转储,但 DUMA 只向我显示“?????”(是的,服务器肯定是用 -g 标志构建的)

  • dmalloc - 我将服务器配置为使用它而不是标准的 malloc 例程,但是它在几分钟后挂起。将 gdb 附加到进程显示它挂在 dmalloc 的某个地方:(

我逐渐变得疯狂,根本不知道下一步该做什么。我有以下工具可供尝试:mtrace、mpatrol 但也许有人有更好的主意?

我非常感谢在这个问题上的任何帮助。

更新:我设法找到了错误的来源。但是,我在舞台服务器上发现它不是使用 helgrind/DRD/tsan 的生产服务器 - 多个线程之间存在数据竞争,导致内存损坏。关键是使用适当的 valgrind 抑制,因为这些工具显示了太多的误报。仍然我真的不知道如何在生产服务器上发现它而没有任何明显的减速......

0 投票
3 回答
1822 浏览

debugging - 解决仅在生产中出现的错误的不同方法

作为一个对整个支持和错误修复环境相对较新的人和一个年轻的程序员,我从来没有遇到过只发生在 Websphere 环境中而不是在 localhost 测试环境中的错误,直到今天。当我第一次收到这个错误报告时,我很困惑为什么我无法在 localhost 测试环境中重现它。我决定尝试在 Websphere 测试环境中看看会发生什么,我成功地重现了这个错误。问题是我无法对 Websphere 测试环境进行更改和构建。我只能对我的本地环境进行更改。考虑到这个障碍,解决这些错误的方法是什么。或者甚至有任何方法论吗?有关如何处理此类问题的任何建议或帮助?

0 投票
3 回答
3426 浏览

asp.net - 在生产服务器上上传但在开发中没有的问题

也许是一个简单的问题,但我真的不知道该怎么做。

当我通过表单提交文件时<asp:FileUpload>,它在我的开发机器上完美运行。

当我在服务器上尝试同样的事情时,它给了我下面的错误。该错误根本没有帮助我,因为我的代码(CaptureCollection)中什至没有这个函数,而且我没有一个名为“i”的变量。所以现在,我真的不知道。

这是服务器上的权利问题吗(我不这么认为,因为我赋予了所有可能的权利并且错误仍然存​​在),它是否在我的代码上(但它在我的开发机器上工作......)。如果您需要,我可以显示更多代码!

错误:

这是执行上传的代码。也许你对正则表达式是正确的。但是为什么它在 dev 而不是 prod 上工作?

0 投票
6 回答
3710 浏览

security - 为实时部署强化 drupal

将 Drupal 站点部署到生产服务器时,是否需要采取任何特殊的安全措施?

例如:我可以想象我们需要从根目录中删除 install.php。有没有更多的动作?

或者是否有可用的模块来检查网站的“世界准备情况”

0 投票
4 回答
26679 浏览

.net - 在生产环境中部署调试符号(pdb 文件)有什么风险?

我有一个记录异常跟踪跟踪的应用程序,我希望这些堆栈跟踪在生产中部署时包含文件名和行号。我想出了如何使用程序集部署调试符号,但是在研究这个问题的过程中,我遇到了这个问题,这意味着在生产环境中包含 pdb 文件不是一个好主意。对已接受答案的评论说“......调试信息可能会泄露敏感数据并成为攻击媒介。取决于您的应用程序是什么。”

那么什么样的敏感数据可能会被暴露呢?如何使用调试符号来破坏应用程序?我对技术细节很好奇,但我真正想要的是一种实用的方法来评估在任何给定应用程序和生产环境中包含调试符号的风险。或者换一种说法:可能发生的最坏情况是什么?

编辑:后续问题/澄清

因此,根据到目前为止每个人的回答,对于 .NET 应用程序来说,这个问题似乎可以简化一点。迈克尔·马多克斯(Michael Maddox)的回答中链接的约翰·罗宾斯( John Robbins)博客中的这一点让我大吃一惊:

.NET PDB 仅包含两条信息,源文件名及其行和局部变量名。所有其他信息都已在 .NET 元数据中,因此无需在 PDB 文件中复制相同的信息。

对我来说,这重申了其他人对 Reflector 的看法,暗示真正的问题是访问程序集。一旦确定了这一点,就 PDB 做出的唯一决定是您是否关心公开文件名、行号和局部变量名(假设您一开始没有向最终用户显示堆栈跟踪)。还是我过于简单化了?

0 投票
2 回答
211 浏览

c# - 在生产应用程序中使用 ASP.NET MVC 2 Preview 1 是否可行?

我不确定在生产系统中使用 ASP.NET MVC 2 Preview 1 是否可行?我想这样做,因为它引入了几个在 MVC 1 中很古怪的急需功能。

不幸的是,我在 ScottGu 7/31 发布的帖子中没有找到任何关于该主题或路线图信息的信息。MVC2P1 已经差不多是 MVC 的样子了吗(我不知道 MVC 团队认为预览是什么)?有人对此有更好的信息吗?

感谢您的投入,谢谢!

0 投票
3 回答
7694 浏览

mysql - Rails 2.3.3 - 设置为生产模式

如何将应用程序设置为生产模式?

好的,这一定很容易,但我即将部署我的第一个 Rails 应用程序,并且我已经正确设置了所有内容:Ubuntu Hardy、Passenger、MySQL。但是,它仍在开发模式下运行。我只能找到旧版本 Rails 的文档,并想确保我做对了。

提前致谢。

0 投票
1 回答
478 浏览

svn - SVN 到生产质量代码

嗨,我有 SVN 存储库,我经常将其用于变更管理。

但是,每次修复后,我都必须将代码上传到生产服务器。

目前,我按文件上传文件,以便不上传 .svn 目录。

有没有一种方法可以将所有代码从 svn repo 上传到没有 .svn 目录的服务器,更简单的方法?

0 投票
1 回答
528 浏览

java - 修补企业 Java 系统的最佳实践?

尽管我搜索了很多,但我无法找到一套用于修补生产企业 Java 系统的最佳实践。我什至听说有人把它描述为一种黑色艺术。

所以,我的问题是,是否有为生产系统提供补丁的已定义最佳实践?这些是什么?对任何此类做法的参考将不胜感激。

谢谢,史蒂夫