μΏ λ²„λ„€ν‹°μŠ€μ— μŠ€μΌ€μΌλ§ κ°€λŠ₯ν•œ μ›Œλ“œν”„λ ˆμŠ€(WordPress) κ΅¬μΆ•ν•˜κΈ°  

μΏ λ²„λ„€ν‹°μŠ€μ— μŠ€μΌ€μΌλ§ κ°€λŠ₯ν•œ μ›Œλ“œν”„λ ˆμŠ€(WordPress) κ΅¬μΆ•ν•˜κΈ°

Last updated

μ›Œλ“œν”„λ ˆμŠ€(WordPress)λŠ” μ„Έκ³„μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ˜κ³  μžˆλŠ” μ›Ήμ‚¬μ΄νŠΈ 관리 및 λΈ”λ‘œκΉ… μ‹œμŠ€ν…œμœΌλ‘œμ„œ 6,000만 개 μ΄μƒμ˜ μ›Ήμ‚¬μ΄νŠΈλ“€μ„ μ§€μ›ν•©λ‹ˆλ‹€. μ›Œλ“œν”„λ ˆμŠ€λŠ” κ°€μž₯ λŒ€μ€‘μ μΈ μ›Ή ν”„λ‘œκ·Έλž˜λ° 언어인 PHPλ₯Ό 기반으둜 ν•˜λ©°, MySQL을 λ°±μ—”λ“œ λ°μ΄ν„°λ² μ΄μŠ€λ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€. μ˜€ν”ˆμ†ŒμŠ€ μ»¨ν…Œμ΄λ„ˆ 관리 μ‹œμŠ€ν…œμΈ μΏ λ²„λ„€ν‹°μŠ€λŠ” Contributor μˆ˜κ°€ κ°€μž₯ λ§Žμ€ GitHub μƒμœ„ ν”„λ‘œμ νŠΈ 10개 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. μ›Œλ“œν”„λ ˆμŠ€μ™€ μΏ λ²„λ„€ν‹°μŠ€λΌλŠ” 두 개의 κ±°λ¬ΌκΈ‰ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό μ–΄λ–»κ²Œ κ²°ν•©ν•΄ μ΅œλŒ€μ˜ 효과λ₯Ό λŒμ–΄λ‚Όμ§€ μ§€κΈˆλΆ€ν„° μ•Œμ•„λ΄…λ‹ˆλ‹€.


‘μ½”λ“œ 보기’ λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ GitHubμ—μ„œ ν•œκΈ€ README νŒŒμΌμ„ μ„ νƒν•˜μ—¬ 보싀 수 μžˆμŠ΅λ‹ˆλ‹€.

By Animesh Singh, Tommy Li

Overview

κ°œλ°œμžλ‘œμ„œ 졜고의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•˜κ³ μž ν•œλ‹€λ©΄, μ‹œμž₯을 μ„ λ„ν•˜λŠ” 툴과 ν”Œλž«νΌλ“€μ„ μ΄μš©ν•΄μ•Ό ν•  κ²ƒμž…λ‹ˆλ‹€. 이번 과정을 톡해 μ—¬λŸ¬λΆ„μ€ μ„Έκ³„μ—μ„œ κ°€μž₯ 널리 이용되고 μžˆλŠ” μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν”Œλž«νΌμΈ μΏ λ²„λ„€ν‹°μŠ€μ˜ μ—¬λŸ¬ λ›°μ–΄λ‚œ κΈ°λŠ₯κ³Ό μ„Έκ³„μ—μ„œ κ°€μž₯ 많이 이용되고 μžˆλŠ” μ›Ήμ‚¬μ΄νŠΈ ν”„λ ˆμž„μ›Œν¬μΈ μ›Œλ“œν”„λ ˆμŠ€λ₯Ό μΏ λ²„λ„€ν‹°μŠ€ 상에 κ°„λ‹¨ν•˜κ²Œ λ°°ν¬ν•˜λŠ” 방법을 읡힐 수 있게 λ©λ‹ˆλ‹€.

단계별 κ°€μ΄λ“œμ—λŠ” IBM Cloud μ»¨ν…Œμ΄λ„ˆ μ„œλΉ„μŠ€μ˜ μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„°μ— μ›Œλ“œν”„λ ˆμŠ€λ₯Ό ν˜ΈμŠ€νŒ…ν•˜λŠ” 방법이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 각 κ΅¬μ„±μš”μ†ŒλŠ” κ°œλ³„ μ»¨ν…Œμ΄λ„ˆ λ˜λŠ” μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆλ“€ κ·Έλ£Ήμ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€.

μ›Œλ“œν”„λ ˆμŠ€λŠ” μ „ν˜•μ μΈ λ©€ν‹°-ν‹°μ–΄(multi-tier) μ•±μœΌλ‘œ, 각 κ΅¬μ„±μš”μ†Œλ§ˆλ‹€ 자체 μ»¨ν…Œμ΄λ„ˆκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ›Œλ“œν”„λ ˆμŠ€ μ»¨ν…Œμ΄λ„ˆλŠ” ν”„λ‘ νŠΈ-μ—”λ“œ 티어이며, MySQL μ»¨ν…Œμ΄λ„ˆλŠ” μ›Œλ“œν”„λ ˆμŠ€μ˜ λ°μ΄ν„°λ² μ΄μŠ€/λ°±μ—”λ“œ ν‹°μ–΄μž…λ‹ˆλ‹€. μ›Œλ“œν”„λ ˆμŠ€ ν”„λ‘ νŠΈ-μ—”λ“œ ν‹°μ–΄λŠ” DBaaS (Database as a Service) μ„œλΉ„μŠ€ ν˜•νƒœλ‘œ μ œκ³΅ν•˜λŠ” Bluemix Compose MySQL을 μ΄μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Flow

  1. μ‚¬μš©μžκ°€ μ›Ή μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μ›Œλ“œν”„λ ˆμŠ€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 각 μ›Œλ“œν”„λ ˆμŠ€ μ»¨ν…Œμ΄λ„ˆλŠ” HTTP/HTTPSλ₯Ό 톡해 μ‚¬μš©μžμ—κ²Œ μ‘λ‹΅ν•©λ‹ˆλ‹€.
  2. μ‚¬μš©μžκ°€ μ›Œλ“œν”„λ ˆμŠ€ μ»¨ν…Œμ΄λ„ˆμ— ν¬μŠ€νŒ…ν•˜λ©΄, μ›Œλ“œν”„λ ˆμŠ€λŠ” 일반적으둜 MySQL λ°μ΄ν„°λ² μ΄μŠ€μ— 변경사항을 μ €μž₯ν•©λ‹ˆλ‹€. MySQL λ°μ΄ν„°λ² μ΄μŠ€λŠ” λ³΄μ•ˆμ„ μœ„ν•΄ ν¬μŠ€νŒ…λœ 데이터λ₯Ό 영ꡬ적 λ””μŠ€ν¬μ— μ €μž₯ν•©λ‹ˆλ‹€. MySQL μ»¨ν…Œμ΄λ„ˆ 외에도 IBM Cloud의 Compose MySQL μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 인증과 κΆŒν•œλΆ€μ—¬κ°€ μ™„λ£Œλœ 후에, λΉ„λ°€λ²ˆν˜Έ(MD5둜 μ•”ν˜Έν™”), 이메일 μ£Όμ†Œ λ“± μ›Œλ“œν”„λ ˆμŠ€ μ‚¬μš©μž 정보가 μƒμ„±λ˜μ–΄ MySQL에 μ €μž₯λ©λ‹ˆλ‹€. μ›Ήμ‚¬μ΄νŠΈ, λΈ”λ‘œκ·Έ, νƒœκ·Έ, μΉ΄ν…Œκ³ λ¦¬, 기타 데이터듀도 MySQL에 μ €μž₯λ©λ‹ˆλ‹€.
  3. μ‚¬μš©μžλŠ” ν…Œλ§ˆ, ν”ŒλŸ¬κ·ΈμΈ, 이미지, λ¬Έμ„œ 등도 μ—…λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. PDF, λ™μ˜μƒ, MP3 λ“± λ¬Έμžκ°€ μ•„λ‹Œ ν˜•νƒœμ˜ 데이터도 μ—…λ‘œλ“œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  4. ν…Œλ§ˆ, ν”ŒλŸ¬κ·ΈμΈ, PDF, λ™μ˜μƒ, MP3 등은 μ›Œλ“œν”„λ ˆμŠ€ pods에 μ†ν•œ PersistentVolume(PV)에 μ €μž₯λ©λ‹ˆλ‹€.
  5. μ‚¬μš©μžκ°€ μ›Œλ“œν”„λ ˆμŠ€ μ›Ήμ‚¬μ΄νŠΈλ‚˜ λΈ”λ‘œκ·Έμ— μ ‘μ†ν•©λ‹ˆλ‹€. μ›Œλ“œν”„λ ˆμŠ€ μ½”μ–΄(즉, μ›Œλ“œν”„λ ˆμŠ€μ˜ β€˜λΈŒλ ˆμΈβ€™)κ°€ index.php둜 μ‹œμž‘ν•˜λŠ” ν•„μš”ν•œ PHP 슀크립트λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.
  6. μ›Œλ“œν”„λ ˆμŠ€κ°€ MySQL λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜μ—¬ μ›Ήμ‚¬μ΄νŠΈ, λΈ”λ‘œκ·Έ, νƒœκ·Έ, μΉ΄ν…Œκ³ λ¦¬ 등을 가지고 μ˜΅λ‹ˆλ‹€.
  7. μ›Œλ“œν”„λ ˆμŠ€ μ½”μ–΄κ°€ 주제, λ¬Έμ„œ, 이미지 등을 PersistentVolume (PV)μ—μ„œ 가지고 μ™€μ„œ, λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ κ²€μƒ‰λœ 데이터와 κ²°ν•©ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ νŽ˜μ΄μ§€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

Components

Kubernetes Cluster

λ‚˜λ§Œμ˜ ν΄λΌμš°λ“œ 인프라λ₯Ό 생성 및 κ΄€λ¦¬ν•˜κ³ , μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μ—”μ§„μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Compose for MySQL

κ°€μž₯ μΈκΈ°μžˆλŠ” κ΄€κ³„ν˜• μ˜€ν”ˆμ†ŒμŠ€ λ°μ΄ν„°λ² μ΄μŠ€μž…λ‹ˆλ‹€

WordPress

κ°€μž₯ λŒ€μ€‘μ μΈ μ‚¬μ΄νŠΈ 및 λΈ”λ‘œκ·Έ 관리 μ‹œμŠ€ν…œ.

Technologies

ν΄λΌμš°λ“œ

인터넷을 톡해 μ»΄ν“¨νŒ… 및 IT λ¦¬μ†ŒμŠ€μ— μ—‘μ„ΈμŠ€ν•©λ‹ˆλ‹€

μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜

μ»¨ν…Œμ΄λ„ˆν˜• μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 배포, μŠ€μΌ€μΌλ§ 및 κ΄€λ¦¬μ˜ μžλ™ν™”.

Databases

λ°μ΄ν„°μ˜ μ €μž₯ 및 관리λ₯Ό μœ„ν•œ μ €μž₯μ†Œ.

Related Blogs

κ·€ν•˜κ°€ μž…λ ₯ν•œ μ‡ΌνŠΈμ½”λ“œ 검색쑰건에 λ§€μΉ˜λ˜λŠ” ν¬μŠ€νŒ…μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Related Links