小编Eri*_*ric的帖子

如何确定将我的站点迁移到云解决方案是否具有成本效益?

我有一个大而繁忙的网站;它目前完全在我每个月租用约 700 美元的专用服务器上运行。

它包含三个部分,我认为我可以将其划分为云解决方案:

  • 媒体(图像/视频)文件托管。目前我有类似 236 GB 的静态图像,目前都只是停在我的服务器上。如果我将这些移动到云中,我可能会与 CDN 结合使用(以最小化每个图像请求从云服务传输数据的成本)。

  • 数据库。目前在我的服务器上运行 MySQL,大约有 3 GB 的数据。

  • 网络服务器。同一台服务器运行 nginx 服务静态文件和 PHP。

我现在没有任何生产问题,但我希望我的网站明年的流量/服务器负载翻一番。所以我现在想考虑可扩展性。

我的问题是:我如何确定将任何/所有这些移动到云平台上是否具有成本效益,而不是将它们保留在我当前的服务器上?

(我已经知道其他一些因素:使用云进行备份会更容易,我不会像现在使用单台服务器那样出现单点故障等。但我不知道有多少拆分其中一项服务的成本更多/更少。我该如何计算?)


编辑 - 谢谢大家这些惊人的答案和评论。一些人要求提供更多信息,因此我总结了以下所有内容并添加了更多数据:

已使用数据传输(“带宽”) - 该站点每月发送约 17 TB 的出站数据(!),我计划明年将这个数字增加一倍(!!)。几乎所有这些出站都是静态媒体(图片和视频剪辑),所以也许 CDN 是个好主意,不仅可以提高可发现性,而且可以将所有数据传输到 CDN 网络的负担转移到 CDN 网络,因此媒体存储服务器没有那么多的数据直接传输。--编辑:对于这么多数据传输来说,CDN 似乎非常昂贵。所以也许静态媒体留在一个简单的服务器上,这给了我一个非常高的带宽上限(你好 OVH!),如果我能找到一种经济有效的方法将 CDN 放在它前面,那就太棒了。

流量不尖- 我的流量相当稳定;我转向更基于云的解决方案的目标是能够轻松扩展。即我当前的设置在一个硬盘驱动器上包含所有内容,并且驱动器已满 60%;这个基础设施实际上无法处理双倍的数据量(而且我不确定它是否有足够的计算能力以双倍的流量运行 Web 服务器和数据库服务器)。

静态媒体- 正如我上面提到的,我有大约 236 GB 的静态媒体,主要是所有图像和视频剪辑。这似乎是最明显的(也许是最简单的?)首先切割并放入云中的部分。

数据库- 虽然数据库现在运行良好,但我很快就会有一些更复杂的查询,并且喜欢那里更强大的东西的想法。因此,虽然我不认为我当前的需求(功率和数据量)决定我应该将数据库服务器移到云中,但这一切都是为了能够扩展。

繁忙时间- 我的网站上总是有至少1,000 名用户 24/7,贪婪地消费媒体。服务器从不空闲。

目前专用服务器- 我之前说错了,说它是 colo(暗示我拥有硬件)。那是错误的。我有一个我每个月租用的专用服务器(由我的托管公司所有)。区别不大,只是想提一下。

cloud azure amazon-web-services google-cloud-platform

23
推荐指数
6
解决办法
3986
查看次数

如何在没有显示的 CentOS 上运行 Firefox?

我正在尝试在无头 CentOS 服务器上运行 Firefox GUI 浏览器以执行一些 Web 测试。

我不需要查看图形输出,因为我使用Selenium服务器API来控制浏览器的输入并检查输出。

该设置已在台式 Mac 计算机上成功测试。但是,它无法在我的无头 VPS CentOS 服务器上运行,并显示以下消息“错误:未指定显示”。(这是有道理的,因为它只是一个位于某个机架上的服务器。)

如何让 Firefox 在没有显示器的情况下运行,以便 Selenium 能够与之交互?或者——更广泛地说——当没有显示器时,人们如何在 Linux 服务器上运行纯 GUI 应用程序?

我注意到 Firefox 有这个命令行选项:

X11 options
  --display=DISPLAY  X display to use
Run Code Online (Sandbox Code Playgroud)

不幸的是,我对 X11 或 CentOS 下的显示一无所知,所以我不知道在命令行上指定什么,或者这是否有帮助。

linux centos firefox selenium

18
推荐指数
1
解决办法
4万
查看次数

如果我关闭 Amazon EC2 实例然后重新启动它,一切都会好吗?

我有一个在基于 Amazon EC2 Linux 的实例上运行的网站,并映射到常规域名 (x.com)。该站点与第二个 EC2 实例上的数据库通信。

我需要关闭这个实例并增加它背后的计算能力......如果我这样做,需要多长时间,然后当我再次启动机器时,我的网站会重新上线吗?是否会保留 IP 地址、DNS 信息等,以便域名继续工作,并且仍然能够与数据库通信?

仅供参考,这是我目前在 AWS EC2 信息面板中看到的 Web 服务器(确切的 IP 地址略有变化,但您明白了):

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1
Run Code Online (Sandbox Code Playgroud)

domain-name-system linux amazon-ec2 amazon-web-services

12
推荐指数
1
解决办法
2万
查看次数

如果在创建实例时没有 .pem 文件,我能否通过 SSH 连接到我的 Amazon EC2 服务器实例?

我正在使用一些已启动并正在运行的 Amazon EC2 服务器,我需要通过 SSH 连接到这些服务器。我没有第一次设置服务器时生成的任何密钥(在我到达这里之前很久就有人做了)。没有密钥文件我还能进入服务器吗?

FWIW 到目前为止,我已经尝试了很多方法来将 SSH 连接到盒子中,包括在 EC2 仪表板中生成新的密钥对,但似乎没有任何效果。这个亚马逊 AWS 支持帖子这个答案似乎表明我运气不好,除非我想为我当前的服务器制作一个 AMI 然后用它来实例化一个全新的 EC2 服务器实例(只是为了生成 .pem 文件那时候)。这真的是我现在进入盒子的唯一方法吗?!

amazon-ec2 ssh-keys amazon-web-services

10
推荐指数
1
解决办法
4075
查看次数

如何在 CentOS 7 上获得最新版本的 nano (4.5)?

nano 编辑器的最新版本是 4.5 ( https://www.nano-editor.org/ )...我在我的 CentOS 7 服务器上运行 2.3.1 并且想要升级。但是没有存储库(EPEL、Remi 等)似乎有比 2.3 更新的东西。

我怎样才能获得最新的nano?我需要在服务器上从头开始构建它吗?yum如果可能的话,我宁愿能够用来管理安装/升级。

我在 nano 页面上看到了很多下载选项(包、Open SU​​SE[?]、发行版、等等),但似乎没有一个适合 yum。我认为。

centos centos7 nano

6
推荐指数
2
解决办法
1525
查看次数

将 CloudFlare 添加到 S3 存储桶

我有一个 Amazon S3 存储桶,其中包含数千个 JPG 和类似的媒体资产。(这是我论坛的存储空间。)我没有在这个存储桶中托管静态站点(没有任何类型的 HTML)并且它完全开放供公众阅读(因此论坛软件可以只链接到图像)。

但是,我在 S3 上为带宽付费。有人说我应该把 CloudFlare 放在 S3 存储桶前面,这样会节省很多美元。凉爽的!但我不明白这个过程。CloudFlare 似乎想接管我主站点的所有 DNS,这不是我想要的。

我只需要https://my-bucket.s3.us-east-1.amazonaws.com被 CloudFlare 缓存/CDN。显然我无法更改亚马逊的 DNS ;-)

我不认为这会很困难,但我似乎无法找到一个相对简单的正确设置方法的解释。(换句话说:我缺乏“大局”/主要步骤。)

(这在 CloudFlare 站点上有所涉及,但我对他们的说明感到困惑,我的用例也与他们谈论的不同。)

amazon-s3 cloudflare

6
推荐指数
1
解决办法
2896
查看次数

如何衡量 VPS 性能?

我有一台来自 LiquidWeb 的 VPS 服务器……感觉有时在白天它很慢。由于它是 100% 虚拟的,我不能只检查“顶部”来衡量性能,因为它是在 VPS 内测量的。(换句话说:如果我从不在 VPS 上运行任何东西,top 将始终显示相同的内存使用和服务器负载为零,但由于 VPS 位于共享的物理机器上,它的速度可能仍会波动。)

有没有办法测量 VPS 性能的“真实”速度?我正在考虑编写一个运行循环的小脚本(做一些事情——文件操作,或者??)并记录时间,这样我就可以开始建立历史了……但我更喜欢更可靠/基本的状态。

vps

5
推荐指数
1
解决办法
2628
查看次数

为什么触摸失败?

我一定遗漏了一些明显的东西。

这有效:

[root@host2 /]# cd /home/mysite/public_html/../logs 
[root@host2 /home/mysite/logs]# touch x
Run Code Online (Sandbox Code Playgroud)

这为什么不呢?

[root@host2 /]# touch /home/mysite/public_html/../logs/x
touch: cannot touch `/home/mysite/public_html/../logs/x': No such file or directory
Run Code Online (Sandbox Code Playgroud)

linux ubuntu

3
推荐指数
1
解决办法
4438
查看次数

我可以制作一个指向不同机器的 MySQL 套接字文件吗?

我正在使用 MySQL 调优脚本,该脚本又使用本地驱动器上的套接字 (.sock) 文件连接到 MySQL。尽管我在这台服务器上有一个 MySQL 的副本,但是,我想要使用的 MySQL 实际上在不同的机器上——在我的普通应用程序中,DB_HOST 是一个不同的 IP 地址,等等。

那么......有没有办法创建一个指向远程MySQL服务器的套接字文件,该服务器位于不同的IP上?

mysql socket

-2
推荐指数
1
解决办法
1240
查看次数