【问题标题】:Moving a WordPress site to Docker, and eventually to a server将 WordPress 站点移至 Docker,并最终移至服务器
【发布时间】:2023-03-08 14:17:01
【问题描述】:
我在实习期间一直在 WordPress 网站上工作,我的上级要求我尝试将其容器化,以使将来的更新更方便。他们建议我使用 Docker。
现在该站点在我的本地计算机 (Mac) 上运行,最终我必须将其迁移到公司服务器以替换当前网站。我对此有几个问题。
- Docker 是完成这项任务的正确工具吗?
- 容器化究竟有什么贡献?
- 我应该在将站点移至服务器之前还是之后将站点移至 Docker?
- 我看到很多指南都使用 Nginx。我到底需要这个做什么?
- 我应该如何更新 URL?
- 我应该如何替换现有网站?
我们将不胜感激任何对有用资源的帮助或指导。提前谢谢!
【问题讨论】:
标签:
wordpress
docker
localhost
【解决方案1】:
1. Docker 是完成这项任务的正确工具吗?
是的。 CoreOs 团队还有另一个选项rkt。但它不如 Docker 流行
2. 容器化究竟有什么贡献?
容器化意味着,您正在打包运行应用程序所需的必要软件。您的最终工件将不再是 jar/war 文件,而是一个 Docker 映像。容器化解决的问题是“它在我的机器上工作(我不知道生产)”的经典问题。换句话说,它为您提供了不可变的基础架构(最好保留它,不要在 ssh 后更改容器中的内容)
3. 将站点迁移到服务器之前还是之后应该将站点迁移到 Docker?
之前...您应该开始使用 Docker 进行开发,这样对您来说会更容易。请记住,Docker 正在解决一个问题“它适用于我的机器”
4. 我看到很多指南使用 Nginx。我到底需要这个做什么?
如果您有一个仅涉及 html css 和 javascript 的静态站点,您可以使用 nginx 来托管您的站点。但是,如果您的网站中有一些动态内容,并且您需要服务器端技术(如 java nodejs、php、go 或 cgi .. 好吧,您知道了)。 Nginx 也可以用作前端代理。这是一个完全不同的主题
5. 我应该如何更新 URL?
我希望您的企业中有一个 DNS 系统,如果是这样,您可以要求他们将其重新指向您的新 IP(如果您计划将其部署在新服务器中)。或者只是购买一些停机时间,关闭旧应用程序并在同一台机器和相同端口号中启动新的闪亮 Dockerised 应用程序..
6. 我应该如何更换已有的网站?
这取决于您的网站,取决于您使用的技术类型。
- 是静态网站吗--可以在Docker容器中使用nginx
- 是 Java 吗?你可以使用 OpenJDK-Alpine (只是我的意见) docker image
- ...
- 等等..
【解决方案2】:
更新网址
一个好的做法是在您的代码中定义一个baseURL,然后使用baseURL + "path" 来形成其他URL。
例如:
baseURL = "https://example.com/"
blogURL = baseURL + "blog"
document.getElementById("old-url").innerHTML = blogURL
// now if you need to change your domain to .org instead of .com, you can just change baseURL to your new domain name
baseURL = "https://new-example.org/"
blogURL = baseURL + "blog"
document.getElementById("new-url").innerHTML = blogURL
<html>
<body>
OLD BLOG URL is:
<div id="old-url"></div>
<br>
NEW BLOG URL is:
<div id="new-url"></div>
</body>
</html>
替换现有网站