我知道有人问过类似的问题,但可用的答案不是很清楚,所以请多多包涵。
<VirtualHost>在apache中设置了几个s后,我想配置_default_ServerName,使其返回404消息。即,除非在 Host http 标头中指定了一些明确可用的域,否则返回 404。(理想情况下比指向现在不存在的目录更直接。)
任何帮助将不胜感激。
一般来说,什么时候应该创建一个新的用户帐户来在服务器上运行一个面向互联网的软件?
例如,假设我使用共享的 Debian 服务器(例如通过 Dreamhost)并且我想使用 WordPress 运行一些网站,一些使用 Redmine,一些使用 Ruby on Rails,也许一些使用 Django,我想为 Mercurial 提供服务存储库也是。
在 Dreamhost 服务器和许多其他类似设置的服务器上,这一切都可以在单个用户帐户下完成,但我可以看到这种方法的一些缺点:
另一方面,拥有大量用户帐户可能会变得有点难以跟踪,特别是如果其中一些在安装软件方面具有相同的要求。例如,为每个运行 WordPress 的网站设置一个帐户可能有点矫枉过正。
最佳做法是什么?这仅仅是一个与偏执程度成比例地减少每个用户帐户的托管站点(或托管存储库等)数量的问题吗?
请发表您对此的看法,并说明理由。
此外,如果您有任何理由认为在私人服务器或 VPS 上采用的方法应该与在共享服务器上采用的方法不同,请概述它们是什么,并再次说明您的理由。
我刚刚在 Apple SE 中发现了这个很棒的提示:
从任何目录启动一个快速的网络服务器:
Run Code Online (Sandbox Code Playgroud)python -m SimpleHTTPServer 8000
有没有办法让这个解析 php 脚本,或者这适用于仅 html 的网站?
我们正在 Unicorn 下运行 Ruby on Rails 网络应用程序。我们的应用程序不受 CPU 限制(我们有一个双 Xeon E5645 系统,带有 12 个内核,峰值负载平均值约为 6)。我们最初有 40 个 Unicorn 工作人员,但随着时间的推移,应用程序内存占用量增加。所以,现在我们必须减少工作进程的数量。我认为标准(CPU 内核数 + 1)公式也适用于 Unicorn,但我的同事试图说服我我们应该为每个 CPU 保留更多 Unicorn 实例并提供此链接。然而,我不确定为什么我们需要在空闲的 Unicorn 进程上花费这么多内存。
我的问题是:每个 CPU 内核有多个 Unicorn 实例的原因是什么?是因为 Unicorn 的一些建筑特性吗?我知道忙碌的 Unicorn 进程无法接受新连接(顺便说一句,我们使用 UNIX 域套接字与 Unicorn 实例进行通信),但我认为引入 backlog 正是为了解决这个问题。无论如何,是否有可能克服每个 CPU 规则的 2 到 8 个 Unicorn 实例?
我刚刚获得了一台装有 Windows 2008 标准版的专用服务器,并且正在尝试进行必要的配置以在其上运行我的 Web 应用程序。
想知道在 Web 服务器上安装防病毒软件是个好主意吗?在应用程序中,用户不能上传除图像之外的任何文件(并且在保存到服务器上之前,他们在应用程序代码中检查了图像)。鼓励我不要安装防病毒软件,以免影响性能或导致应用程序出现任何问题,这样做会不会错过任何东西?
谢谢
是否有开源替代 pingdom 来简单监控我可以自己托管的正常运行时间?应报告具有停机警报的 Web 服务器的响应时间和延迟。
我正在寻找一些易于设置的东西,所以 Nagios、zabbix、munin 等有点矫枉过正。谢谢!
我希望能够从 php 脚本重新启动服务。在 www-user 帐户下运行。
执行这些操作的首选方式是什么?
我认为我可以使用 que'd 命令创建一个文件,由 CRON 读取,但解决方案很痒。
我在想的是一个在 root 下运行的小服务,允许预定义的“方法”,因此无法执行任意的 root 操作。
有什么工具可以做到这一点吗?
我正在设置一个 nginx 堆栈并在上线之前优化配置。运行 ab 对机器进行压力测试,我很失望地看到每秒 150 个请求达到顶峰,并且大量请求需要 1 秒以上才能返回。奇怪的是,机器本身甚至没有呼吸困难。
我终于想到要 ping 盒子,看到 ping 时间大约为 100-125 毫秒。(令我惊讶的是,这台机器遍布全国)。因此,网络延迟似乎在我的测试中占主导地位。在与服务器相同的网络上的机器上运行相同的测试(ping 时间 < 1 毫秒),我看到每秒 > 5000 个请求,这更符合我对机器的期望。
但这让我开始思考:如何确定和报告 Web 服务器每秒请求的“实际”度量?您总是看到有关性能的声明,但不应该考虑网络延迟吗?当然我可以每秒向服务器旁边的机器提供 5000 个请求,但不能向全国的机器提供服务。如果我有很多慢速连接,它们最终会影响我服务器的性能,对吗?还是我在想这一切都错了?
如果这是网络工程 101 的东西,请原谅我。我是一名贸易开发商。
更新:为清楚起见进行了编辑。
我在 Karaf 托管的应用程序前部署 Apache(Apache 和 Karaf 在不同的服务器上)。我希望 Apache 作为反向代理运行并隐藏部分 URL。
直接从应用服务器获取应用登录页面的 URL 是http://app-server:8181/jellyfish. 页面由在 Karaf 中运行的 Jetty 实例提供服务。当然,这种行为通常会被防火墙阻止,除了反向代理服务器。
在关闭防火墙的情况下,如果您点击此 URL,则 Jetty 会加载登录页面。浏览器的地址栏正确更改为http://app-server:8181/jellyfish/login?0,一切正常。
我想要的是http://web-server(即从根)映射到应用程序服务器上的 Jetty,应用程序的名称 ( jellyfish) 被抑制。例如,浏览器将更改为显示http://web-server/login?0在地址栏中,并且所有后续 URL 和内容都将使用网络服务器的域提供服务,而不会出现jellyfish混乱。
我可以使用以下配置(代码段)让 Apache 作为简单的反向代理运行:-
ProxyPass /jellyfish http://app-server:8181/jellyfish
ProxyPassReverse / http://app-server:8181/
Run Code Online (Sandbox Code Playgroud)
...但这需要浏览器的 URL 包含jellyfish并转到根 URL ( http://web-server) 会给出 404 Not Found。
我花了很多时间尝试使用mod_rewrite和不使用它的[P]标志来解决这个问题,但没有成功。然后我尝试了该ProxyPassMatch指令,但我似乎也无法完全正确。
这是当前配置,已加载到/etc/apache2/sites-available/Web 服务器上。请注意,有一个本地托管的图像目录。我还保留了mod_rewrite 代理漏洞利用保护,并抑制了一些mod_security会产生误报的规则。
<VirtualHost *:80> …Run Code Online (Sandbox Code Playgroud) 必备条件清单:
我不需要的东西:
请问有什么建议吗?
web-server ×10
linux ×3
apache-2.2 ×2
security ×2
anti-virus ×1
latency ×1
mod-proxy ×1
mod-rewrite ×1
nginx ×1
performance ×1
python ×1
root ×1
unicorn ×1
windows ×1