Bạn có chiến lược hiệu quả nào để khởi chạy v2 của trang WP không?


12

Nhóm của tôi và tôi đang làm việc với một khách hàng có trang web WordPress hiện có với một chút nội dung và chủ đề tùy chỉnh mà họ đã xây dựng. Đây là một blog nhóm, có nghĩa là nó có một số blogger trên toàn thế giới đang thêm và chỉnh sửa nội dung mọi lúc.

Công việc của chúng tôi là tạo ra một chủ đề hoàn toàn mới, với khá nhiều tính năng mới. Một số tính năng này sẽ yêu cầu các tiện ích, plugin và trường cơ sở dữ liệu tùy chỉnh mới.

Chúng tôi hiện đang làm việc với các máy phát triển của riêng mình và tích hợp chúng vào một máy chủ phát triển duy nhất. Tất cả các mã được phiên bản trong SVN. DBA được chỉ định của chúng tôi hiện đang hợp nhất thủ công bất kỳ thay đổi cơ sở dữ liệu nào vào nhà phát triển DB, mặc dù hy vọng anh ấy sẽ có thể tự động hóa điều đó sớm.

Chúng tôi chỉ bắt đầu nói về quá trình phát hành sản xuất của chúng tôi. Ý nghĩa: một khi chúng ta đã hoàn thành, làm thế nào chúng ta sẽ đưa tất cả mã tùy chỉnh của mình lên máy chủ sản xuất (trực tiếp) một cách trơn tru và với ít sự gián đoạn nhất có thể?

Chúng tôi có một vài kế hoạch trong đầu, nhưng tôi rất thích nghe người khác giải quyết vấn đề này như thế nào. Có thực hành tốt nhất để làm theo hoặc biết những cạm bẫy để tránh?

Câu trả lời:


4

Nếu bạn làm theo lời khuyên của SethMerrick, bạn có thể giảm đáng kể thời gian chuyển đổi bằng cách hạ thấp TTL trên các bản ghi DNS thích hợp xuống còn 5 phút hoặc vài giờ (tùy thuộc vào mức độ hiện tại của TTL) trước khi bạn thay đổi địa chỉ IP.

Bằng cách này, bạn đang nói với các máy chủ DNS từ xa chỉ lưu trữ địa chỉ trong 5 phút. Khi bạn thay đổi IP, bạn có thể tăng TTL lên bất cứ thứ gì trước đây. Để tiếp tục giảm thiểu hiệu ứng, hãy thực hiện chuyển đổi trong thời gian lưu lượng truy cập thấp.


Chúng tôi chỉ bắt đầu làm điều đó, thật trùng hợp. Nó chắc chắn giúp. Chúng tôi không thể có thời gian triển khai dài. Cảm ơn đã thêm mẹo đó!
Mike Lee

Lưu ý rằng bạn nên thay đổi TTL nhiều thời gian trước khi bạn thực sự thay đổi IP . Nói cách khác, nếu TTL là một tuần, bạn nên thay đổi TTL thành 5 phút một tuần trước khi bạn thay đổi IP, để mọi người sẽ ở trên TTL mới khi làm như vậy.
Daniel C. Sobral

2

Tôi không chắc điều này có áp dụng được không, nhưng tôi vừa trải qua một quá trình tương tự là di chuyển và nâng cấp một trang web có lưu lượng truy cập cao.

Chiến lược cơ bản là làm việc trên máy chủ dàn, sau đó khi mọi thứ đã sẵn sàng, hãy kết xuất mysql trên máy chủ trực tiếp, nhập nó vào máy chủ dàn, thực hiện bất kỳ yêu cầu dọn dẹp nào, sau đó trỏ bản ghi DNS đến máy chủ dàn, gây ra dàn máy chủ để trở thành máy chủ trực tiếp mới.

Một mẹo nhỏ là sau đó hợp nhất tất cả dữ liệu tích lũy trong quá trình truyền DNS vào máy chủ dàn (hiện là máy chủ trực tiếp). Nói cách khác, nếu 30 giờ trôi qua giữa khi bạn thực hiện kết xuất / cập nhật DNS của bạn và khi quá trình truyền DNS hoàn tất, bạn sẽ phải chọn lọc hợp nhất 30 giờ các bản ghi từ trang web cũ sang trang mới.

Đó không phải là một quá trình liền mạch, nhưng khi chúng tôi có một tuần xuống đường, tất cả các nút thắt đã tự làm dịu đi.


Trong kịch bản này, bạn có làm cho trang web cũ chỉ đọc hiệu quả trong khi DNS đang trong quá trình chuyển đổi để ngăn các thay đổi đối với trang web sẽ không được di chuyển không?
Trevor Bramble

Đó là một cách tiếp cận khác, để ngăn chặn bất kỳ dữ liệu mới nào được thêm vào db của trang web cũ trong quá trình chuyển đổi. Tuy nhiên, cách tiếp cận tôi đề cập ở trên, để trang web cũ hoạt động trong quá trình chuyển đổi, sau đó kết hợp thủ công bất kỳ mục nhập db nào xuất hiện trong quá trình chuyển đổi (bài đăng mới, nhận xét, v.v.) vào trang web mới. chỉnh sửa: chỉ muốn đề cập rằng đề xuất của acterry về Bản ghi TTL là lời khuyên tuyệt vời.
SethMerrick

Chúng tôi đã làm một cái gì đó tương tự như vậy. Không liền mạch, nhưng hey, nó hoạt động.
Mike Lee

2

@Mike Lee: Câu hỏi tuyệt vời và là một trong những thánh địa của WordPress (hoặc bất kỳ CMS nguồn mở chính thống nào mà tôi quen thuộc với vấn đề đó như Drupal, Joomla, et. Al.)

Mặc dù chắc chắn không có ý định giải quyết trường hợp sử dụng của bạn, nhưng hãy kiểm tra câu trả lời của tôi cho một câu hỏi liên quan mô tả một plugin cấp độ beta mà tôi vừa có sẵn thông qua WordPress Hỏi Exchange có tên là WP Migrate Webhosts (vâng, tôi rất thích khi đặt tên sáng tạo .)

Nhưng tôi cũng muốn giải quyết trường hợp sử dụng mà bạn mô tả bằng một plugin và hiện đang suy nghĩ về cách thực hiện điều đó. Tôi đang nghĩ cách tiếp cận nó là từ bỏ việc giải quyết nó một cách khái quát và thay vào đó giải quyết các mẫu đã biết tồn tại trong WordPress và sau đó cho phép bất kỳ ai khác " móc " plugin của tôi cho các trường hợp sử dụng đặc biệt. Tôi cũng nghĩ rằng một cách tiếp cận là tuần tự hóa dữ liệu và cấu trúc trong WordPress dưới dạng dữ liệu trong tệp PHP để một plugin trong tương lai có thể áp dụng những thay đổi đó như deltas giống như hệ thống kiểm soát mã nguồn áp dụng deltas để đến phiên bản nguồn hiện tại mã.

Vì vậy, trong khi tôi không trả lời hoặc giải quyết vấn đề của bạn một cách đầy đủ, tôi hy vọng tôi sẽ cho bạn một số thực phẩm tốt để suy nghĩ và cũng hy vọng rằng bạn hoặc ai đó có thể muốn hợp tác trong một giải pháp cuối cùng.


WP Migrate Webhosts nghe có vẻ như là một plugin rất cần thiết. Cảm ơn bạn đã chia sẻ điều đó, và thông tin phản hồi này!
Mike Lee

Vâng tôi cũng nghĩ thế. Tôi hy vọng có được sự hợp tác để tôi và những người khác có thể phát triển nó trở nên hữu ích! Cảm ơn đã bỏ phiếu.
MikeSchinkel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.