我帮助维护Elastic Beanstalk上托pipe的网站。 我的技能主要在于networking开发,但由于我们是一个小型机构,我经常发现自己在pipe理这个服务器设置。
该网站使用WordPress作为CMS。
EB应用程序使用运行PHP 5.5的64位Amazon Linux 2016.09 v2.3.3 。
在Web层上,我们有1-4个实例的自动缩放,types为t2.large 。 软件configuration显示内存限制为256M。 缩放基于“平均networking输出”。
在数据层上,我们有一个MySQL RDS实例。 这里有点奇怪 :在EBconfiguration它显示类db.t1.micro ,但是当你点击通过查看端点,RDS Dash显示它为db.t2.large 。
在networking层,我们有负载平衡,端口80上的HTTP,端口443上的HTTPS。启用跨区域负载平衡,selectSSL证书。
configurationSSL对我来说是一个挑战,特别是因为站点使用Websockets作为它的一部分(在前端,而不是在CMS中)。 ssl_rewrite.config中有一个ssl_rewrite.config文件,其中包含:
files: "/etc/httpd/conf.d/ssl_rewrite.conf": mode: "000644" owner: root group: root content: | RewriteEngine On <If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'"> RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </If>
同样在.htaccess我设置了一个WordPress显然需要的环境variables,因为负载均衡器会将所有stream量转发到端口80:
<IfModule mod_setenvif.c> SetEnvIf X-Forwarded-Proto "^https$" HTTPS </IfModule>
这一切都让HTTPS很好地工作,或者看起来如此。
过了一段时间,我们开始接受客户的投诉,他们在WordPress中创build的post就消失了 。 它不会每次都发生,并且与任何types的活动都不一致。 我们可能会有几个星期没有出错,然后有一天他们似乎无法可靠地挽救他们的工作。 有时他们似乎会成功,但是一两分钟后,这个职位将会消失。
我自己也注意到了一些奇怪的行为,WP一直在垃圾箱里报告不同数量的项目,我不得不删除这些post几次才删除。 这些问题似乎只发生在数据库尝试更改后的几分钟内; 旧的东西不会随机消失。
我不明白为什么它看起来好像数据保存到数据库,但随后消失。 我不知道这与SSL有什么关系,但似乎问题不存在之前,我在这些服务器上设置它。 由于缺乏pipe理服务器的经验,我也不知道从哪里开始寻找问题。
以下WordPress插件已安装且处于活动状态:
404 to 301 ACF Content Analysis for Yoast SEO Advanced Custom Fields PRO Amazon Web Services Custom Post Type UI Duplicate Post Enable Contributor Uploads List.ly MCE Table Buttons Media Credit Monkeyman Rewrite Analyzer Ninja Forms Ninja Forms - File Uploads Ninja Forms - MailChimp Ninja Forms - Post Creation Redirection SSL Insecure Content Fixer The Events Calendar WebKite WP Offload S3 WP User Avatar XML Sitemap & Google News feeds Yoast SEO
以及我写的一些自定义插件来做各种事情:
Facebook Instant Articles integration A custom RSS feed Custom error logging User submitted events User submissions for a prize drawing
任何人都可以提供帮助追踪和解决数据丢失的原因?