เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชชเซเชฐเชฅเชฎ, เชฅเซ‹เชกเซ‹ เชธเชฟเชฆเซเชงเชพเช‚เชค. เชถเซเช‚ เชฅเชฏเซเช‚ เช›เซ‡ เชฌเชพเชฐ-เชชเชฐเชฟเชฌเชณ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ?

เชธเชฐเชณ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เช† เชฆเชธเซเชคเชพเชตเซ‡เชœ SaaS เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชจเชพ เชตเชฟเช•เชพเชธเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡, เชœเซ‡ เชกเซ‡เชตเชฒเชชเชฐเซเชธ เช…เชจเซ‡ DevOps เชเชจเซเชœเซ€เชจเซ€เชฏเชฐเซ‹เชจเซ‡ เช†เชงเซเชจเชฟเช• เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชจเชพ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เช†เชตเชคเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช…เชจเซ‡ เชชเซเชฐเชฅเชพเช“ เชตเชฟเชถเซ‡ เชœเชพเชฃ เช•เชฐเซ€เชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡.

เชฆเชธเซเชคเชพเชตเซ‡เชœ Heroku เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹.

เชŸเซเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชˆเชชเชฃ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเชฎเชพเช‚ เชฒเช–เซ‡เชฒเซ€ เช…เชจเซ‡ เชฌเซ‡เช•เชฟเช‚เช— เชธเซ‡เชตเชพเช“เชจเชพ เช•เซ‹เชˆเชชเชฃ เชธเช‚เชฏเซ‹เชœเชจ (เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ, เชธเช‚เชฆเซ‡เชถ เช•เชคเชพเชฐ, เช•เซ‡เชถ, เชตเช—เซ‡เชฐเซ‡) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเช–เซ‡เชฒเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชธเช‚เช•เซเชทเชฟเชชเซเชคเชฎเชพเช‚ เชชเชฐเชฟเชฌเชณเซ‹ เชตเชฟเชถเซ‡ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เช† เชชเชฆเซเชงเชคเชฟ เช†เชงเชพเชฐเชฟเชค เช›เซ‡:

  1. เช•เซ‹เชกเชฌเซ‡เช - เชตเชฐเซเชเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฎเชพเช‚ เชŸเซเชฐเซ‡เช• เช•เชฐเชพเชฏเซ‡เชฒ เชเช• เช•เซ‹เชกเชฌเซ‡เช - เชฌเชนเซเชตเชฟเชง เชœเชฎเชพเชตเชŸ
  2. เช…เชตเชฒเช‚เชฌเชจ - เชจเชฟเชฐเซเชญเชฐเชคเชพเช“เชจเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ‹ เช…เชจเซ‡ เช…เชฒเช— เช•เชฐเซ‹
  3. เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ - เชฐเชจเชŸเชพเช‡เชฎเชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเชพเชšเชตเซ‹
  4. เชฌเซ‡เช•เชฟเช‚เช— เชธเซ‡เชตเชพเช“ - เชฌเซ‡เช•เชฟเช‚เช— เชธเซ‡เชตเชพเช“เชจเซ‡ เชชเซเชฒเช—-เช‡เชจ เชธเช‚เชธเชพเชงเชจเซ‹ เชคเชฐเซ€เช•เซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹
  5. เชฌเชจเชพเชตเซ‹, เช›เซ‹เชกเซ‹, เชšเชฒเชพเชตเซ‹ - เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช…เชจเซ‡ เช…เชฎเชฒเชจเชพ เชคเชฌเช•เซเช•เชพเช“เชจเซ‡ เชธเช–เชค เชฐเซ€เชคเซ‡ เช…เชฒเช— เช•เชฐเซ‹
  6. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ - เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชเช• เช…เชฅเชตเชพ เชตเชงเซ เชธเซเชŸเซ‡เชŸเชฒเซ‡เชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชคเชฐเซ€เช•เซ‡ เชšเชฒเชพเชตเซ‹
  7. เชชเซ‹เชฐเซเชŸ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ - เชชเซ‹เชฐเซเชŸ เชฌเชพเชˆเชจเซเชกเซ€เช‚เช— เชฆเซเชตเชพเชฐเชพ เชธเซ‡เชตเชพเช“ เชจเชฟเช•เชพเชธ เช•เชฐเซ‹
  8. เชธเชฎเชจเซเชตเชฏ - เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชธเซเช•เซ‡เชฒ เช•เชฐเซ‹
  9. เชจเชฟเช•เชพเชฒเช•เซเชทเชฎเชคเชพ - เชเชกเชชเซ€ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เช…เชจเซ‡ เชธเซเชตเชšเซเช› เชถเชŸเชกเชพเช‰เชจ เชธเชพเชฅเซ‡ เชฎเชนเชคเซเชคเชฎ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพ
  10. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ/เช“เชชเชฐเซ‡เชถเชจ เชชเซ‡เชฐเชฟเชŸเซ€ - เชคเชฎเชพเชฐเชพ เชตเชฟเช•เชพเชธ, เชธเซเชŸเซ‡เชœเซ€เช‚เช— เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชตเชพเชคเชพเชตเชฐเชฃเชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซเช‚ เชธเชฎเชพเชจ เชฐเชพเช–เซ‹
  11. เชฒเซ‹เช—เซ€เช‚เช— - เช˜เชŸเชจเชพเช“เชจเชพ เชชเซเชฐเชตเชพเชน เชคเชฐเซ€เช•เซ‡ เชฒเซ‹เช—เชจเซ‡ เชœเซเช“
  12. เชตเชนเซ€เชตเชŸเซ€ เช•เชพเชฐเซเชฏเซ‹ - เชเชกเชนเซ‰เช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชนเซ€เชตเชŸ/เชตเซเชฏเชตเชธเซเชฅเชพเชชเชจ เช•เชพเชฐเซเชฏเซ‹ เช•เชฐเซ‹

เชคเชฎเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชธเช‚เชธเชพเชงเชจเซ‹เชฎเชพเช‚เชฅเซ€ 12 เชชเชฐเชฟเชฌเชณเซ‹ เชตเชฟเชถเซ‡ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹:

เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เชถเซเช‚ เช›เซ‡?

เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เช เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชนเซ‹เช‚เชšเชพเชกเชตเชพเชจเซ€ เชเช• เชชเชฆเซเชงเชคเชฟ เช›เซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชเชตเซ€ เชฐเซ€เชคเซ‡ เช•เซ‡ เช…เช‚เชคเชฟเชฎ เช—เซเชฐเชพเชนเช• เชคเซ‡เชจเชพ เชคเชฐเชซเชฅเซ€ เช•เซ‹เชˆ เชซเซ‡เชฐเชซเชพเชฐ เชœเซ‹เชคเซ‹ เชจเชฅเซ€. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เชถเซ‚เชจเซเชฏ เชธเชพเชฅเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชœเชฎเชพเชตเชตเซ€ เชกเชพเช‰เชจเชŸเชพเช‡เชฎ.

เช•เซเชฒเชพเชธเชฟเช• BG เชกเชฟเชชเซเชฒเซ‹เชฏ เชธเซเช•เซ€เชฎ เชจเซ€เชšเซ‡เชจเซ€ เชˆเชฎเซ‡เชœเชฎเชพเช‚ เชฌเชคเชพเชตเซ‡เชฒ เชœเซ‡เชตเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

  • เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชเช• เชœ เช•เซ‹เชก, เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡ 2 เชญเซŒเชคเชฟเช• เชธเชฐเซเชตเชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชเช• เชฐเชพเช‰เชŸเชฐ (เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ) เช›เซ‡.
  • เชฐเชพเช‰เชŸเชฐ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชฌเชงเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เชเช•เชจเซ‡ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเชค เช•เชฐเซ‡ เช›เซ‡ (เชฒเซ€เชฒเชพ).
  • เช† เช•เซเชทเชฃเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชซเชฐเซ€เชฅเซ€ เชฐเชฟเชฒเซ€เช เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเซ€เชœเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เช…เชชเชกเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡ (เชตเชพเชฆเชณเซ€), เชœเซ‡ เชนเชพเชฒเชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€ เชฐเชนเซ€ เชจเชฅเซ€.
  • เช•เซ‹เชก เชšเชพเชฒเซ เชฅเชฏเชพ เชชเช›เซ€ เชตเชพเชฆเชณเซ€ เชธเชฐเซเชตเชฐ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชชเชกเซ‡เชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡, เชฐเชพเช‰เชŸเชฐเชจเซ‡ เชธเซเชตเชฟเชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช†เชฆเซ‡เชถ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชฒเซ€เชฒเชพ เชชเชฐ เชตเชพเชฆเชณเซ€ เชธเชฐเซเชตเชฐ
  • เชนเชตเซ‡ เชฌเชงเชพ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เซ‹เชก เชธเชพเชฅเซ‡ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เชœเซเช เช›เซ‡ เชตเชพเชฆเชณเซ€ เชธเชฐเซเชตเชฐ
  • เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชฎเชพเชŸเซ‡, เชฒเซ€เชฒเชพ เชชเชฐ เช…เชธเชซเชณ เชœเชฎเชพเชตเชŸเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชธเชฐเซเชตเชฐ เชฌเซ‡เช•เช…เชช เช•เซ‹เชชเซ€ เชคเชฐเซ€เช•เซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡ เชตเชพเชฆเชณเซ€ เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เช…เชจเซ‡ เชญเซ‚เชฒเซ‹เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฐเชพเช‰เชŸเชฐ เชฏเซเชเชฐ เชซเซเชฒเซ‹ เชชเชฐ เชชเชพเช›เชพ เชธเซเชตเชฟเชš เช•เชฐเซ‡ เช›เซ‡ เชฒเซ€เชฒเชพ เชœเซ‚เชจเชพ เชธเซเชฅเชฟเชฐ เชธเช‚เชธเซเช•เชฐเชฃ เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐ, เช…เชจเซ‡ เชจเชตเซ‹ เช•เซ‹เชก เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเชพ เช…เช‚เชคเซ‡, เชคเซ‡ เชœ เชฐเซ€เชคเซ‡ เช…เชชเชกเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡ เชฒเซ€เชฒเชพ เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฐเชพเช‰เชŸเชฐ เชตเชฟเชจเช‚เชคเซ€เชจเชพ เชชเซเชฐเชตเชพเชนเชจเซ‡ เชชเชพเช›เชพ เชธเซเชตเชฟเชš เช•เชฐเซ‡ เช›เซ‡ เชฒเซ€เชฒเชพ เชธเชฐเซเชตเชฐ

เชคเซ‡ เชฌเชงเซเช‚ เช–เซ‚เชฌ เชธเชพเชฐเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเซเชฐเชฅเชฎ เชจเชœเชฐเชฎเชพเช‚ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช เชจเชนเซ€เช‚.
เชชเชฐเช‚เชคเซ เช†เชชเชฃเซ‡ เช†เชงเซเชจเชฟเช• เชตเชฟเชถเซเชตเชฎเชพเช‚ เชฐเชนเซ‡เชคเชพ เชนเซ‹เชตเชพเชฅเซ€, เช•เซเชฒเชพเชธเชฟเช•เชฒ เชธเซเช•เซ€เชฎเชฎเชพเช‚ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เชญเซŒเชคเชฟเช• เชธเซเชตเชฟเชšเชฟเช‚เช— เชธเชพเชฅเซ‡เชจเซ‹ เชตเชฟเช•เชฒเซเชช เช…เชฎเชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชจเชฅเซ€. เชนเชฎเชฃเชพเช‚ เชฎเชพเชŸเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ‹, เช…เชฎเซ‡ เชชเช›เซ€เชฅเซ€ เชคเซ‡เชจเชพ เชชเชฐ เชชเชพเช›เชพ เช†เชตเซ€เชถเซเช‚.

เช–เชฐเชพเชฌ เช…เชจเซ‡ เชธเชพเชฐเซ€ เชธเชฒเชพเชน

เชœเชตเชพเชฌเชฆเชพเชฐเซ€เชจเซ‹ เช‡เชจเช•เชพเชฐ: เชจเซ€เชšเซ‡เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชนเซเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ เชคเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“/เชชเชฆเซเชงเชคเชฟเช“ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เชคเชฎเซ‡ เชธเชฎเชพเชจ เช•เชพเชฐเซเชฏเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช•เซ‹เชˆเชชเชฃ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ PHP เช…เชจเซ‡ Docker เชธเชพเชฅเซ‡ เชตเซ‡เชฌ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ (เช† เช†เชถเซเชšเชฐเซเชฏเชจเซ€ เชตเชพเชค เช›เซ‡) เชธเชพเชฅเซ‡ เชเช• เช…เชฅเชตเชพ เชฌเซ€เชœเซ€ เชฐเซ€เชคเซ‡ เช›เซ‡เชฆเชถเซ‡.

เชจเซ€เชšเซ‡เชจเชพ เชซเช•เชฐเชพ เชšเซ‹เช•เซเช•เชธ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชฐเชฟเชฌเชณเซ‹เชจเชพ เช‰เชชเชฏเซ‹เช—เชจเซเช‚ เชธเชฐเชณ เชตเซเชฏเชตเชนเชพเชฐเซ เชตเชฐเซเชฃเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡; เชœเซ‹ เชคเชฎเซ‡ เช† เชตเชฟเชทเชฏ เชชเชฐ เชตเชงเซ เชธเชฟเชฆเซเชงเชพเช‚เชค เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชฎเซ‚เชณ เชธเซเชคเซเชฐเซ‹เชคเชจเซ€ เช‰เชชเชฐเชจเซ€ เชฒเชฟเช‚เช•เซเชธเชจเซ‡ เช…เชจเซเชธเชฐเซ‹.

1. เช•เซ‹เชกเชฌเซ‡เช

เชธเชฐเซเชตเชฐ เชชเชฐ เชเช• เชธเชฎเชฏเซ‡ เชซเชพเช‡เชฒเซ‹ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ FTP เช…เชจเซ‡ FileZilla เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เช•เซ‹เชกเชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ เชธเชฐเซเชตเชฐ เชธเชฟเชตเชพเชฏ เชฌเซ€เชœเซ‡ เช•เซเชฏเชพเช‚เชฏ เชธเซเชŸเซ‹เชฐ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชเช• เช•เซ‹เชก เชฌเซ‡เช เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช, เชเชŸเชฒเซ‡ เช•เซ‡, เชฌเชงเชพ เช•เซ‹เชก เชเช•เชฎเชพเช‚เชฅเซ€ เช†เชตเซ‡ เช›เซ‡ เช—เชฟเชŸ เชญเช‚เชกเชพเชฐ เชธเชฐเซเชตเชฐเซเชธ (เช‰เชคเซเชชเชพเชฆเชจ, เชธเซเชŸเซ‡เชœเซ€เช‚เช—, เชŸเซ‡เชธเซเชŸ1, เชŸเซ‡เชธเซเชŸ2...) เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซ€ เชถเชพเช–เชพเช“เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช† เชฐเซ€เชคเซ‡ เช†เชชเชฃเซ‡ เช•เซ‹เชก เชธเซเชธเช‚เช—เชคเชคเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เช เช›เซ€เช.

2. เช…เชตเชฒเช‚เชฌเชจ

เชซเซ‹เชฒเซเชกเชฐเซเชธเชฎเชพเช‚เชจเซ€ เชฌเชงเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ‡ เชธเซ€เชงเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฐเซ‚เชŸ เชชเชฐ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹. เชจเชตเชพ เช•เซ‹เชกเชจเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชธเซเช•เชฐเชฃ เชธเชพเชฅเซ‡ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‹. เชœเซเชฏเชพเช‚ 20 เชตเชงเซ เชธเซ‡เชตเชพเช“ เชšเชพเชฒเซ€ เชฐเชนเซ€ เช›เซ‡ เชคเซ‡ เชนเซ‹เชธเซเชŸ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเซ€เชงเซ€ เชฌเชงเซ€ เชœเชฐเซ‚เชฐเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ€ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เชธเซ‚เชšเชฟ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช (เชจเชฟเชฐเซเชญเชฐเชคเชพ เชฆเซเชตเชพเชฐเชพ เชฎเชพเชฐเซ‹ เช…เชฐเซเชฅ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชชเชฃ เช›เซ‡). เชฌเชงเซ€ เช…เชตเชฒเช‚เชฌเชจ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช…เชจเซ‡ เช…เชฒเช— เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช.
เชšเชพเชฒเซ‹ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชฒเชˆเช เชฐเชšเชฏเชฟเชคเชพ ะธ Docker.

เชฐเชšเชฏเชฟเชคเชพ โ€” เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชœเซ‡ เชคเชฎเชจเซ‡ PHP เชฎเชพเช‚ เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“ เชˆเชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เช•เช‚เชชเซ‹เชเชฐ เชคเชฎเชจเซ‡ เชตเชฐเซเชเชจเชจเซ‡ เช•เชกเช• เช…เชฅเชตเชพ เชขเซ€เชฒเซ€ เชฐเซ€เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชธเชฐเซเชตเชฐ เชชเชฐ 20 เชœเซเชฆเชพ เชœเซเชฆเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชชเชพเชธเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เช…เชจเซ‡ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเซ‚เชšเชฟ เช…เชจเซเชฏเชฅเซ€ เชธเซเชตเชคเช‚เชคเซเชฐ เชนเชถเซ‡.

Docker โ€” เชเช• เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เช•เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชพเชฒเชถเซ‡. เชคเชฆเชจเซเชธเชพเชฐ, เชธเช‚เช—เซ€เชคเช•เชพเชฐเชจเซ€ เชœเซ‡เชฎ, เชชเชฐเช‚เชคเซ เชตเชงเซ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡, เช…เชฎเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชถเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. PHP เชจเซเช‚ เชšเซ‹เช•เซเช•เชธ เชธเช‚เชธเซเช•เชฐเชฃ เชชเชธเช‚เชฆ เช•เชฐเซ‹, เชตเชงเชพเชฐเชพเชจเชพ เช•เช‚เชˆเชชเชฃ เช‰เชฎเซ‡เชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชชเซ‡เช•เซ‡เชœเซ‹ เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹. เช…เชจเซ‡ เชธเซŒเชฅเซ€ เช…เช—เชคเซเชฏเชจเซเช‚, เชนเซ‹เชธเซเชŸ เชฎเชถเซ€เชจ เช…เชจเซ‡ เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเชพ เชชเซ‡เช•เซ‡เชœเซ‹ เช…เชจเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช‚ เชฆเช–เชฒ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ. เชเชŸเชฒเซ‡ เช•เซ‡, เชกเซ‹เช•เชฐ เชฆเซเชตเชพเชฐเชพ เชšเชพเชฒเชคเชพ เชธเชฐเซเชตเชฐ เชชเชฐเชจเชพ เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช•เซ‹เชˆเชชเชฃ เชชเซ‡เช•เซ‡เชœเซ‹ เช…เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เชตเชพเชคเชพเชตเชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

3. เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ

เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซ‡ เชธเซ€เชงเชพ เช•เซ‹เชกเชฎเชพเช‚ เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹ เชคเชฐเซ€เช•เซ‡ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‹. เชŸเซ‡เชธเซเชŸ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹, เช‰เชคเซเชชเชพเชฆเชจ เชฎเชพเชŸเซ‡ เช…เชฒเช—. เช‡เชซ else เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฌเชฟเชเชจเซ‡เชธ เชฒเซ‹เชœเชฟเช•เชฎเชพเช‚ เชธเซ€เชงเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเชพ เช†เชงเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชœเซ‹เชกเซ‹.

เช•เซ‹เชจเซเชซเซ€เช—เซเชฏเซเชฐเชพเชธเซ€ - เช† เชเช•เชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ‹ เช›เซ‡ เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชœเชฎเชพเชตเชŸ เช…เชฒเช— เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช. เช†เชฆเชฐเซเชถ เชฐเซ€เชคเซ‡, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹ (env vars) เชฆเซเชตเชพเชฐเชพ เชชเชธเชพเชฐ เชฅเชตเซ€ เชœเซ‹เชˆเช.

เชเชŸเชฒเซ‡ เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เช˜เชฃเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเชˆเชฒเซ‹ .config.prod .config.local เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‹ เช›เซ‹ เช…เชจเซ‡ เชœเชฎเชพเชตเชŸ เชธเชฎเชฏเซ‡ เชคเซ‡เชจเซเช‚ เชจเชพเชฎ .config (เชฎเซเช–เซเชฏ เชฐเซ‚เชชเชฐเซ‡เช–เชพ เช•เซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเซ‡ เช›เซ‡) เชฎเชพเช‚ เชฌเชฆเชฒเซ‹ เช›เซ‹ - เช† เชฏเซ‹เช—เซเชฏ เช…เชญเชฟเช—เชฎ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชคเชฎเชพเชฎ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เชฐเซ‚เชชเซ‡ เช‰เชชเชฒเชฌเซเชง เชฅเชถเซ‡ เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชšเซ‡เชกเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชคเชฎเชพเชฎ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เชธเชฟเชธเซเชŸเชฎ (CI/CD) เชฎเชพเช‚ เชธเซ€เชงเชพ เชœ เชธเช‚เช—เซเชฐเชนเชฟเชค เชนเซ‹เชตเชพ เชœเซ‹เชˆเช เช…เชจเซ‡ เชœเชฎเชพเชตเชŸ เชธเชฎเชฏเซ‡ เชšเซ‹เช•เซเช•เชธ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชตเชฟเชง เชฎเซ‚เชฒเซเชฏเซ‹ เชธเชพเชฅเซ‡ เชตเชฟเชตเชฟเชง เชตเชพเชคเชพเชตเชฐเชฃ เชฎเชพเชŸเซ‡ เชœเชจเชฐเซ‡เชŸ เชฅเชฏเซ‡เชฒ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช.

4. เชคเซƒเชคเซ€เชฏ เชชเช•เซเชท เชธเซ‡เชตเชพเช“

เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชธเชพเชฅเซ‡ เชธเช–เชค เชฐเซ€เชคเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เชฐเชนเซ‹, เชšเซ‹เช•เซเช•เชธ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชธเชฎเชพเชจ เชธเซ‡เชตเชพเช“ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชœเซ‹เชกเชพเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹.

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช† เชฌเชฟเช‚เชฆเซ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชตเชฟเชถเซ‡เชจเชพ เชฌเชฟเช‚เชฆเซ เชธเชพเชฅเซ‡ เชฎเชœเชฌเซ‚เชค เชฐเซ€เชคเซ‡ เช“เชตเชฐเชฒเซ‡เชช เชฅเชพเชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช† เชฌเชฟเช‚เชฆเซ เชตเชฟเชจเชพ, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชกเซ‡เชŸเชพ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชคเซ‹ เชจเชฅเซ€ เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹ เชฅเชถเซ‡ เชจเชนเซ€เช‚.

เชฌเชพเชนเซเชฏ เชธเซ‡เชตเชพเช“เชจเชพ เชคเชฎเชพเชฎ เชœเซ‹เชกเชพเชฃเซ‹, เชœเซ‡เชฎ เช•เซ‡ เช•เชคเชพเชฐ เชธเชฐเซเชตเชฐ, เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ, เช•เซ‡เชถเซ€เช‚เช— เชธเซ‡เชตเชพเช“, เชธเซเชฅเชพเชจเชฟเช• เชชเชฐเซเชฏเชพเชตเชฐเชฃ เช…เชจเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท/เช‰เชคเซเชชเชพเชฆเชจ เชตเชพเชคเชพเชตเชฐเชฃ เชฌเช‚เชจเซ‡ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡, เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชŸเซเชฐเชฟเช‚เช— เชฌเชฆเชฒเซ€เชจเซ‡, เชนเซเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชก เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เช†เชงเชพเชฐ # 1 เชธเชพเชฅเซ‡ เชฌเซ‡เช # 2 เชชเชฐ เช•เซ‰เชฒเซเชธเชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซเช‚ เช›เซเช‚. เช…เชฅเชตเชพ, เช†เช—เชณ เชœเซ‹เชˆเชจเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชธเซ‡เชตเชพเชจเซ‡ เชธเซเช•เซ‡เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเชพเชฐเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เช•เซ‡เชถ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆเชชเชฃ เชตเชฟเชถเชฟเชทเซเชŸ เชฐเซ€เชคเซ‡ เช•เชจเซ‡เช•เซเชถเชจเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡ เชจเชนเซ€เช‚.

5. เชฌเชฟเชฒเซเชก, เชฐเชฟเชฒเซ€เช, เชเช•เซเชเชฟเช•เซเชฏเซเชŸ

เชธเชฐเซเชตเชฐ เชชเชฐ เช•เซ‹เชกเชจเซเช‚ เชฎเชพเชคเซเชฐ เช…เช‚เชคเชฟเชฎ เชธเช‚เชธเซเช•เชฐเชฃ เชฐเชพเช–เซ‹, เชฐเชฟเชฒเซ€เชเชจเซ‡ เชชเชพเช›เซเช‚ เชฒเชพเชตเชตเชพเชจเซ€ เช•เซ‹เชˆ เชถเช•เซเชฏเชคเชพ เชจเชฅเซ€. เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพ เชญเชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช•เซ‹เชˆเชชเชฃ เชœเซ‡ เชตเชฟเชšเชพเชฐเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“ เช•เซ‹เชกเชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจเชฎเชพเช‚ เชญเซ‚เชฒ เชธเชพเชฅเซ‡ เชฐเชฟเชฒเซ€เช เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชคเซ‡ เช–เชฐเชพเชฌ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เช›เซ‡!

เชœเชฎเชพเชตเชŸเชจเชพ เชคเชฎเชพเชฎ เชคเชฌเช•เซเช•เชพเช“ เชเช•เชฌเซ€เชœเชพเชฅเซ€ เช…เชฒเช— เชนเซ‹เชตเชพ เชœเซ‹เชˆเช.

เชชเชพเช›เชพ เชฐเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชคเช• เช›เซ‡. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เชœเซ‚เชจเซ€ เชจเช•เชฒเซ‹ (เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชเชธเซ‡เชฎเซเชฌเชฒ เช…เชจเซ‡ เชฏเซเชฆเซเชง เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ) เชธเชพเชฅเซ‡ เชฐเซ€เชฒเซ€เช เช•เชฐเซ‹, เชเชกเชชเซ€ เชเช•เซเชธเซ‡เชธเชฎเชพเช‚ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฅเซ€ เชญเซ‚เชฒเซ‹เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเชฎเซ‡ เชœเซ‚เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹. เชเชŸเชฒเซ‡ เช•เซ‡, เชถเชฐเชคเซ€ เชฐเซ€เชคเซ‡ เชเช• เชซเซ‹เชฒเซเชกเชฐ เช›เซ‡ เชชเซเชฐเช•เชพเชถเชจเซ‹ เช…เชจเซ‡ เชซเซ‹เชฒเซเชกเชฐ เชตเชฐเซเชคเชฎเชพเชจ, เช…เชจเซ‡ เชซเซ‹เชฒเซเชกเชฐ เชธเชซเชณ เชœเชฎเชพเชตเชŸ เช…เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชชเช›เซ€ เชตเชฐเซเชคเชฎเชพเชจ เช…เช‚เชฆเชฐ เช†เชตเซ‡เชฒเชพ เชจเชตเชพ เชชเซเชฐเช•เชพเชถเชจ เชธเชพเชฅเซ‡ เชธเชพเช‚เช•เซ‡เชคเชฟเช• เช•เชกเซ€ เชฆเซเชตเชพเชฐเชพ เช•เชกเซ€ เชฅเชฏเซ‡เชฒ เช›เซ‡ เชชเซเชฐเช•เชพเชถเชจเซ‹ เชชเซเชฐเช•เชพเชถเชจ เชจเช‚เชฌเชฐเชจเชพ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชจเชพเชฎ เชธเชพเชฅเซ‡.

เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเซ‡ เชฏเชพเชฆ เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡ เชคเชฎเชจเซ‡ เชฎเชพเชคเซเชฐ เช•เซ‹เชก เชตเชšเซเชšเซ‡ เชธเซเชตเชฟเชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœ เชจเชนเซ€เช‚, เชชเชฃ เชคเชฎเชพเชฎ เชธเช‚เชธเชพเชงเชจเซ‹ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชฐเซ‹เชฒ เชฌเซ‡เช• เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชธเชพเชฅเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเชšเซเชšเซ‡ เชชเชฃ เชธเซเชตเชฟเชš เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

6. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซเชŸเซ‡เชŸ เชกเซ‡เชŸเชพเชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชœ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‹. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เชฐเซ‡เชฎเชฎเชพเช‚ เชœ เชธเชคเซเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพเช“ เชตเชšเซเชšเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชตเชนเซ‡เช‚เชšเชฃเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เช เชนเช•เซ€เช•เชค เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ‹ เช•เซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชซเช•เซเชค เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเซเช•เซ‡เชฒเชฟเช‚เช—เชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‹ เชจเชนเซ€เช‚.

เชธเชคเซเชฐเซ‹เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚, เชซเช•เซเชค เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพเช“ (เชฎเซ‡เชฎเช•เซ‡เชถเซเชก, เชฐเซ‡เชกเชฟเชธ) เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เซ‡เชถเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‹, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 20 เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชšเชพเชฒเซ€ เชฐเชนเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชชเชฃ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ, เช•เซ‡เชถเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เชถเซ‡. เช เชœ เชฐเชพเชœเซเชฏ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช…เชจเซเชฏ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹. เช† เช…เชญเชฟเช—เชฎ เชธเชพเชฅเซ‡, เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพเช“เชจเซ€ เช•เซ‡เชŸเชฒเซ€ เชจเช•เชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹ เชคเซ‡ เช•เซ‹เชˆ เชฌเชพเชฌเชค เชจเชฅเซ€, เชฌเชงเซเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เชเช•เซเชธเซ‡เชธเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เช•เชพเชฐเซเชฏ เช•เชฐเชถเซ‡.

7. เชชเซ‹เชฐเซเชŸ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ

เชซเช•เซเชค เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชจเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพเช“ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเชพเชฃเชตเซเช‚ เชœเซ‹เชˆเช. เช…เชฅเชตเชพ เชนเชœเซ€ เชตเชงเซ เชธเชพเชฐเซเช‚, เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพเช“ เชธเซ€เชงเชพ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชจเซ€ เช…เช‚เชฆเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชชเชพเชšเซ‡เชฎเชพเช‚ PHP เชฎเซ‹เชกเซเชฏเซเชฒ เชคเชฐเซ€เช•เซ‡.
เชคเชฎเชพเชฐเซ€ เชฌเชงเซ€ เชธเซ‡เชตเชพเช“ เช…เชฎเซเช• เชธเชฐเชจเชพเชฎเชพเช‚ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ (localgost:5432, localhost:3000, nginx:80, php-fpm:9000), เชเชŸเชฒเซ‡ เช•เซ‡, nginx เชฅเซ€ เชนเซเช‚ php-fpm เช…เชจเซ‡ เชฌเช‚เชจเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚. postgres, เช…เชจเซ‡ php-fpm เชฅเซ€ postgres เช…เชจเซ‡ nginx เช…เชจเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชฆเชฐเซ‡เช• เชธเซ‡เชตเชพเชฎเชพเช‚เชฅเซ€ เชนเซเช‚ เชฌเซ€เชœเซ€ เชธเซ‡เชตเชพเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚. เช† เชฐเซ€เชคเซ‡, เชธเซ‡เชตเชพเชจเซ€ เชธเชฆเซเชงเชฐเชคเชพ เชฌเซ€เชœเซ€ เชธเซ‡เชตเชพเชจเซ€ เชธเชฆเซเชงเชฐเชคเชพ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเซ€ เชจเชฅเซ€.

8. เชธเชฎเชพเช‚เชคเชฐเชตเชพเชฆ

เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‹, เช…เชจเซเชฏเชฅเชพ เช˜เชฃเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชฎเชณเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚!

เชธเซเช•เซ‡เชฒเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชœเช—เซเชฏเชพ เช›เซ‹เชกเซ‹. เช† เชฎเชพเชŸเซ‡ เชกเซ‹เช•เชฐ เชธเซเชตเซ‹เชฐเซเชฎ เชฎเชนเชพเชจ เช›เซ‡.
เชกเซ‹เช•เชฐ เชธเซเชตเซ‹เชฐเซเชฎ เช เชเช• เชœ เชฎเชถเซ€เชจ เชชเชฐ เชตเชฟเชตเชฟเชง เชฎเชถเซ€เชจเซ‹ เช…เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เชธเชฎเซ‚เชน เชฌเช‚เชจเซ‡ เชตเชšเซเชšเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เช•เซเชฒเชธเซเชŸเชฐ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชเช• เชธเชพเชงเชจ เช›เซ‡.

เชธเซเชตเซ‹เชฐเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชนเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เชนเซเช‚ เชฆเชฐเซ‡เช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช•เซ‡เชŸเชฒเชพ เชธเช‚เชธเชพเชงเชจเซ‹ เชซเชพเชณเชตเซ€เชถ เช…เชจเซ‡ เชคเซ‡ เชœ เชธเซ‡เชตเชพเชจเซ€ เช•เซ‡เชŸเชฒเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชนเซเช‚ เชฒเซ‰เชจเซเชš เช•เชฐเซ€เชถ, เช…เชจเซ‡ เช†เชชเซ‡เชฒ เชชเซ‹เชฐเซเชŸ เชชเชฐ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชจเชพเชฐ เช†เช‚เชคเชฐเชฟเช• เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชชเซเชฐเซ‹เช•เซเชธเซ€ เช•เชฐเชถเซ‡. เช†เชฎ, เชธเชฐเซเชตเชฐ เชชเชฐเชจเซ‹ เชญเชพเชฐ เชตเชงเซเชฏเซ‹ เช›เซ‡ เชคเซ‡ เชœเซ‹เชˆเชจเซ‡, เชนเซเช‚ เชตเชงเซ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚, เชœเซ‡เชจเชพเชฅเซ€ เช…เชฎเซเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชชเชฐเชจเซ‹ เชญเชพเชฐ เช“เช›เซ‹ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

9. เชจเชฟเช•เชพเชฒเช•เซเชทเชฎเชคเชพ

เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชคเชพเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚. เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชฎเชพเชฐเซ€ เชจเชพเช–เชตเชพเชฅเซ€ เชธเชฎเช—เซเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช…เชธเชฐ เชฅเชตเซ€ เชœเซ‹เชˆเช. เชœเซ‹ เชเช• เชธเซ‡เชตเชพ เช เชช เชฅเชˆ เชœเชพเชฏ, เชคเซ‹ เชฌเชงเซเช‚ เช เชช เชฅเชˆ เชœเชพเชฏ เช›เซ‡.

เชฆเชฐเซ‡เช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช…เชจเซ‡ เชธเซ‡เชตเชพ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เชฌเช‚เชง เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช†เชจเซ€ เช…เชจเซเชฏ เชธเซ‡เชตเชพเช“เชจเซ‡ เช…เชธเชฐ เชฅเชตเซ€ เชœเซ‹เชˆเช เชจเชนเซ€เช‚ (เช…เชฒเชฌเชคเซเชค, เช†เชจเซ‹ เช…เชฐเซเชฅ เช เชจเชฅเซ€ เช•เซ‡ เชธเซ‡เชตเชพ เช…เชจเซเชฏ เชธเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชชเชฒเชฌเซเชง เชนเชถเซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชชเช›เซ€ เชฌเซ€เชœเซ€ เชธเซ‡เชตเชพ เชฌเช‚เชง เชฅเชถเซ‡ เชจเชนเซ€เช‚). เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เช†เช•เชฐเซเชทเช• เชฐเซ€เชคเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชตเซ€ เชœเซ‹เชˆเช, เชœเซ‡เชฅเซ€ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ, เชคเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เชกเซ‡เชŸเชพเชจเซ‡ เชจเซเช•เชธเชพเชจ เชจ เชฅเชพเชฏ เช…เชจเซ‡ เช†เช—เชฒเซ€ เชตเช–เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชšเชพเชฒเซ เช•เชฐเซ‹ เชคเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชถเซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เช•เชŸเซ‹เช•เชŸเซ€เชจเซ€ เชธเชฎเชพเชชเซเชคเชฟเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชชเชฃ, เชกเซ‡เชŸเชพเชจเซ‡ เชจเซเช•เชธเชพเชจ เชจ เชฅเชตเซเช‚ เชœเซ‹เชˆเช (เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เช…เชนเซ€เช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช•เซเชตเซ‡เชฐเซ€ เชซเช•เซเชค เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชœ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชœเซ‚เชฅเชฎเชพเช‚เชฅเซ€ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ€ เชเช• เช•เซเชตเซ‡เชฐเซ€ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช›เซ‡ เช…เชฅเชตเชพ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชญเซ‚เชฒ, เชชเช›เซ€ เชœเซ‚เชฅเชฎเชพเช‚เชฅเซ€ เช…เชจเซเชฏ เช•เซ‹เชˆ เช•เซเชตเซ‡เชฐเซ€ เช†เช–เชฐเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ เชœเชถเซ‡).

10. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ/เช“เชชเชฐเซ‡เชถเชจ เชชเซ‡เชฐเชฟเชŸเซ€

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซเช‚ เช‰เชคเซเชชเชพเชฆเชจ, เชธเซเชŸเซ‡เชœเซ€เช‚เช— เช…เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ เช…เชฒเช— เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช…เชฎเซ‡ Yii Lite เชซเซเชฐเซ‡เชฎเชตเชฐเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ Yii, เชœเซ‡เชฅเซ€ เชคเซ‡ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เชเชกเชชเชฅเซ€ เช•เชพเชฎ เช•เชฐเซ‡!

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชคเชฎเชพเชฎ เชœเชฎเชพเชตเชŸ เช…เชจเซ‡ เช•เซ‹เชก เชธเชพเชฅเซ‡เชจเซเช‚ เช•เชพเชฐเซเชฏ เชฒเช—เชญเช— เชธเชฎเชพเชจ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช (เช…เชฎเซ‡ เชญเซŒเชคเชฟเช• เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชจเชฅเซ€). เช‰เชชเชฐเชพเช‚เชค, เช•เซ‹เชˆเชชเชฃ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช•เชฐเซเชฎเชšเชพเชฐเซ€ เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชธเช•เซเชทเชฎ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช, เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช–เชพเชธ เชชเซเชฐเชถเชฟเช•เซเชทเชฟเชค เชกเซ‡เชตเซ‰เชชเซเชธ เชตเชฟเชญเชพเช—เชจเซ‡ เชจเชนเซ€เช‚, เชœเซ‡ เชซเช•เซเชค เชตเชฟเชถเซ‡เชท เชถเช•เซเชคเชฟเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เช‰เชชเชพเชกเซ€ เชถเช•เซ‡ เช›เซ‡.

เชกเซ‹เช•เชฐ เชชเชฃ เช†เชฎเชพเช‚ เช…เชฎเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เช…เช—เชพเช‰เชจเชพ เชคเชฎเชพเชฎ เชฎเซเชฆเซเชฆเชพเช“ เช…เชตเชฒเซ‹เช•เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‹, เชกเซ‹เช•เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฅเซ€ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เช…เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชฎเชถเซ€เชจ เชฌเช‚เชจเซ‡ เชชเชฐ เชเช• เช•เซ‡ เชฌเซ‡ เช†เชฆเซ‡เชถเซ‹ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฒเชพเชตเชถเซ‡.

11. เชฒเซ‹เช—เซเชธ

เช…เชฎเซ‡ เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชชเชฐ เชฒเซ‹เช— เชฒเช–เซ€เช เช›เซ€เช! เช…เชฎเซ‡ เชฒเซ‹เช—เชฎเชพเช‚เชฅเซ€ เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชธเชพเชซ เช•เชฐเชคเชพ เชจเชฅเซ€. เชšเชพเชฒเซ‹ เชซเช•เซเชค 9000 เชชเซ‡เชŸเชพ เชฌเชพเชˆเชŸ เชธเชพเชฅเซ‡เชจเซ€ เชนเชพเชฐเซเชก เชกเซเชฐเชพเชˆเชต เช–เชฐเซ€เชฆเซ€เช เช…เชจเซ‡ เชคเซ‡ เชธเชพเชฐเซเช‚ เช›เซ‡.

เชฌเชงเชพ เชฒเซ‹เช—เชจเซ‡ เช˜เชŸเชจเชพเช“เชจเชพ เชชเซเชฐเชตเชพเชน เชคเชฐเซ€เช•เซ‡ เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเชตเซ‹ เชœเซ‹เชˆเช. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเซ‹เชคเซ‡ เชฒเซ‹เช—เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช เชจเชนเซ€เช‚. เชฒเซ‹เช—เซเชธ เช•เชพเช‚ เชคเซ‹ stdout เชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เช…เชฅเชตเชพ udp เชœเซ‡เชตเชพ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชฆเซเชตเชพเชฐเชพ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเชตเซเช‚ เชœเซ‹เชˆเช, เชœเซ‡เชฅเซ€ เชฒเซ‹เช— เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชฅเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เชจ เชฅเชพเชฏ. เช—เซเชฐเซ‡เชฒเซ‹เช— เช† เชฎเชพเชŸเซ‡ เชธเชพเชฐเซเช‚ เช›เซ‡. udp (เช† เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‡ เชชเซ‡เช•เซ‡เชŸเชจเชพ เชธเชซเชณ เชฐเชฟเชธเซ‡เชชเซเชถเชจ เชตเชฟเชถเซ‡เชจเชพ เชชเซเชฐเชคเชฟเชธเชพเชฆเชจเซ€ เชฐเชพเชน เชœเซ‹เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€) เชฆเซเชตเชพเชฐเชพ เชคเชฎเชพเชฎ เชฒเซ‹เช— เชฎเซ‡เชณเชตเชคเซ‹ เช—เซเชฐเซ‡เชฒเซ‹เช— เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชฆเช–เชฒ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชซเช•เซเชค เชธเซเชŸเซเชฐเช•เซเชšเชฐเชฟเช‚เช— เช…เชจเซ‡ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชฒเซ‹เช— เชธเชพเชฅเซ‡ เชœ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเซ‡ เช›เซ‡. เช†เชตเชพ เช…เชญเชฟเช—เชฎเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชคเชฐเซเช• เชฌเชฆเชฒเชพเชคเซ‹ เชจเชฅเซ€.

12. เชตเชนเซ€เชตเชŸเซ€ เช•เชพเชฐเซเชฏเซ‹

เชกเซ‡เชŸเชพ, เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชตเช—เซ‡เชฐเซ‡เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, API เชฎเชพเช‚ เช…เชฒเช—เชฅเซ€ เชฌเชจเชพเชตเซ‡เชฒ เชเชจเซเชกเชชเซ‹เช‡เชจเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชคเซ‡เชจเซ‡ เชธเชคเชค 2 เชตเช–เชค เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฅเซ€ เชฌเชงเซเช‚ เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชฅเชˆ เชœเชถเซ‡. เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชฎเซ‚เชฐเซเช– เชจเชฅเซ€, เชคเชฎเซ‡ เชฌเซ‡ เชตเชพเชฐ เช•เซเชฒเชฟเช• เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚, เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชธเซเชฅเชณเชพเช‚เชคเชฐเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชคเชฎเชพเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชถเชจ เช•เชพเชฐเซเชฏเซ‹ เชชเซเชฐเช•เชพเชถเชจ เชธเซเชคเชฐ เชชเชฐ, เชฌเชงเชพ เช•เซ‹เชก เชœเซ‡เชตเชพ เชœ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เช•เชฐเชตเชพ เชœเซ‹เชˆเช. เชเชŸเชฒเซ‡ เช•เซ‡, เชœเซ‹ เช†เชชเชฃเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซเช‚ เชฎเชพเชณเช–เซเช‚ เชฌเชฆเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเซ‡ เช•เซ‰เชฒเชฎเชจเชพ เชจเชพเชฎ เชฌเชฆเชฒเซ€เชจเซ‡ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเชเซเชฏเซเช…เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชŸเซ‚เชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชจเชตเชพ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เชคเซ‡ เชœเชพเชคเซ‡ เช•เชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚. เช†เชตเซ€ เชตเชธเซเชคเซเช“ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช…เชฒเช— เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฌเชจเชพเชตเซ€เช เช›เซ€เช - เชธเซเชฅเชณเชพเช‚เชคเชฐ, เชœเซ‡ เชธเชฐเซเชตเชคเซเชฐ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชธเชฎเชพเชจ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชชเชฐเชฟเชฃเชพเชฎ เชธเชพเชฅเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช…เชจเซเชฏ เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹ เชฎเชพเชŸเซ‡, เชœเซ‡เชฎ เช•เซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชญเชฐเชตเชพ, เชธเชฎเชพเชจ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช.

PHP, Laravel, Laradock, Docker-compose เชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช…เชฎเชฒเซ€เช•เชฐเชฃ

PS เชฌเชงเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ MacOS เชชเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เชคเซ‡เชฎเชพเช‚เชจเชพ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ Linux เชฎเชพเชŸเซ‡ เชชเชฃ เชฏเซ‹เช—เซเชฏ เช›เซ‡. Windows เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“, เชฎเชจเซ‡ เชฎเชพเชซ เช•เชฐเซ‹, เชชเชฐเช‚เชคเซ เชฎเซ‡เช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ Windows เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€.

เชšเชพเชฒเซ‹ เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€เช เช•เซ‡ เชœเซเชฏเชพเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช…เชฎเชพเชฐเชพ PC เชชเชฐ PHP เชจเซเช‚ เช•เซ‹เชˆเชชเชฃ เชธเช‚เชธเซเช•เชฐเชฃ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชจเชฅเซ€ เช…เชจเซ‡ เช•เช‚เชˆเชชเชฃ เชจเชฅเซ€.
เชกเซ‹เช•เชฐ เช…เชจเซ‡ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เชเชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹. (เช† เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡)

docker -v && 
docker-compose -v

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

1. เช…เชฎเซ‡ เชฎเซ‚เช•เซ€เช เช›เซ€เช เชฒเชพเชฐเชพเชกเซ‹เช•

git clone https://github.com/Laradock/laradock.git && 
ls

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชฒเชพเชฐเชพเชกเซ‹เช• เชตเชฟเชถเซ‡, เชนเซเช‚ เช•เชนเซ€เชถ เช•เซ‡ เชคเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชธ เชตเชธเซเชคเซ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชฌเชงเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เชธเชนเชพเชฏเช• เชตเชธเซเชคเซเช“ เช›เซ‡. เชชเชฐเช‚เชคเซ เชนเซเช‚ เชคเซ‡เชจเซ€ เชจเชฟเชฐเชฐเซเชฅเช•เชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชฒเซ‡เชฐเชพเชกเซ‹เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ€เชถ เชจเชนเซ€เช‚. เชฒเชพเชฐเชพเชกเซ‹เช•เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเชพ เช†เชงเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡, เช† เชตเชงเซ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เชฅเชถเซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช•เซ‹เชˆเชจเซ‡ เชชเชฃ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชคเซเชฏเชพเช‚เชจเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

2. เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฒเชพเชฐเชพเชกเซ‹เช•เชจเซ‡ เช—เซ‹เช เชตเซ‹.

cd laradock && 
cp env-example .env

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

2.1. เช…เชฎเซเช• เชเชกเชฟเชŸเชฐเชฎเชพเช‚ habr เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ (เชชเซ‡เชฐเซ‡เชจเซเชŸ เชซเซ‹เชฒเซเชกเชฐ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชฒเซ‡เชฐเชพเชกเซ‹เช• เช•เซเชฒเซ‹เชจ เชฅเชฏเซ‡เชฒ เช›เซ‡) เช–เซ‹เชฒเซ‹. (เชฎเชพเชฐเชพ PHPStorm เช•เซ‡เชธเชฎเชพเช‚)

เช† เชคเชฌเช•เซเช•เซ‡ เช…เชฎเซ‡ เชซเช•เซเชค เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชจเชพเชฎ เช†เชชเซ€เช เช›เซ€เช.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

2.2. เชตเชฐเซเช•เชธเซเชชเซ‡เชธ เช‡เชฎเซ‡เชœ เชฒเซ‹เช‚เชš เช•เชฐเซ‹. (เชคเชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช›เชฌเซ€เช“ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เชฅเซ‹เชกเซ‹ เชธเชฎเชฏ เชฒเชพเช—เชถเซ‡)
เชตเชฐเซเช•เชธเซเชชเซ‡เชธ เช เชกเซ‡เชตเชฒเชชเชฐ เชตเชคเซ€ เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช–เชพเชธ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ‡เชฒเซ€ เช›เชฌเซ€ เช›เซ‡.

เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เช‚เชฆเชฐ เชœเชพเช“

docker-compose up -d workspace && 
docker-compose exec workspace bash

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

2.3. เชฒเชพเชฐเชพเชตเซ‡เชฒ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

composer create-project --prefer-dist laravel/laravel application

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

2.4. เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเช›เซ€, เช…เชฎเซ‡ เชคเชชเชพเชธ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡เชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เช…เชจเซ‡ เช•เช‚เชชเซ‹เช เช•เชฐเซ‹.

ls
exit
docker-compose down

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

2.5. เชšเชพเชฒเซ‹ PHPStorm เชชเชฐ เชชเชพเช›เชพ เชœเชˆเช เช…เชจเซ‡ .env เชซเชพเชˆเชฒเชฎเชพเช‚ เช†เชชเชฃเซ€ laravel เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‹ เชธเชพเชšเซ‹ เชฐเชธเซเชคเซ‹ เชธเซ‡เชŸ เช•เชฐเซ€เช.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

3. Git เชฎเชพเช‚ เชฌเชงเชพ เช•เซ‹เชก เช‰เชฎเซ‡เชฐเซ‹.

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช—เซ€เชฅเชฌ (เช…เชฅเชตเชพ เชฌเซ€เชœเซ‡ เช•เซเชฏเชพเช‚เชฏ) เชชเชฐ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชฌเชจเชพเชตเซ€เชถเซเช‚. เชšเชพเชฒเซ‹ เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ habr เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชชเชฐ เชœเชˆเช เช…เชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เช•เซ‹เชกเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ€เช.

echo "# habr-12factor" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:nzulfigarov/habr-12factor.git # ะทะดะตััŒ ะฑัƒะดะตั‚ ััั‹ะปะบะฐ ะฝะฐ ะฒะฐัˆ ั€ะตะฟะพ
git push -u origin master
git status

เชšเชพเชฒเซ‹ เชคเชชเชพเชธเซ€เช เช•เซ‡ เชฌเชงเซเช‚ เช•เซเชฐเชฎเชฎเชพเช‚ เช›เซ‡ เช•เซ‡ เชจเชนเซ€เช‚.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชธเช—เชตเชก เชฎเชพเชŸเซ‡, เชนเซเช‚ เช—เชฟเชŸ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเชเซเชฏเซเช…เชฒ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚, เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡ เช›เซ‡ เช—เชฟเชŸเช•เซเชฐเซ‡เช•เชจ. (เช…เชนเซ€เช‚ เชเช• เชฐเซ‡เชซเชฐเชฒ เชฒเชฟเช‚เช• เช›เซ‡)

4. เชšเชพเชฒเซ‹ เชฒเซ‹เชจเซเชš เช•เชฐเซ€เช!

เชถเชฐเซ‚ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชชเซ‹เชฐเซเชŸ 80 เช…เชจเซ‡ 443 เชชเชฐ เช•เช‚เชˆเชชเชฃ เช…เชŸเช•เซ€ เชจเชฅเซ€.

docker-compose up -d nginx php-fpm

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เช†เชฎ, เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ 3 เช…เชฒเช— เชธเซ‡เชตเชพเช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡:

  • nginx - เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ
  • php-fpm - เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชคเชฐเชซเชฅเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ php
  • เชตเชฐเซเช•เชธเซเชชเซ‡เชธ - เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ php

เช† เช•เซเชทเชฃเซ‡, เช…เชฎเซ‡ เชนเชพเช‚เชธเชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเซ€ เช›เซ‡ เชœเซ‡ 4 เชฎเชพเช‚เชฅเซ€ 12 เชชเซ‹เชˆเชจเซเชŸเชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ‡ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡:

1. เช•เซ‹เชกเชฌเซ‡เช โ€” เชฌเชงเชพ เช•เซ‹เชก เชเช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช›เซ‡ (เชจเชพเชจเซ€ เชจเซ‹เช‚เชง: เชฒเชพเชฐเซ‡เชตเซ‡เชฒ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เช‚เชฆเชฐ เชกเซ‹เช•เชฐ เช‰เชฎเซ‡เชฐเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชจเชฅเซ€).

2. เช…เชตเชฒเช‚เชฌเชจ - เช…เชฎเชพเชฐเซ€ เชคเชฎเชพเชฎ เช…เชตเชฒเช‚เชฌเชจ เช…เชฐเชœเซ€/composer.json เช…เชจเซ‡ เชฆเชฐเซ‡เช• เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เชฆเชฐเซ‡เช• เชกเซ‹เช•เชฐเชซเชพเชˆเชฒเชฎเชพเช‚ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชฒเช–เซ‡เชฒเซ€ เช›เซ‡.

3. เชฌเซ‡เช•เชฟเช‚เช— เชธเซ‡เชตเชพเช“ โ€” เชฆเชฐเซ‡เช• เชธเซ‡เชตเชพ (php-fom, nignx, เชตเชฐเซเช•เชธเซเชชเซ‡เชธ) เชคเซ‡เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชœเซ€เชตเชจ เชœเซ€เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฌเชนเชพเชฐเชฅเซ€ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชเช• เชธเซ‡เชตเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชฌเซ€เชœเซ€เชจเซ‡ เช…เชธเชฐ เชฅเชถเซ‡ เชจเชนเซ€เช‚.

4. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ - เชฆเชฐเซ‡เช• เชธเซ‡เชตเชพ เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช›เซ‡. เชฆเชฐเซ‡เช• เชธเซ‡เชตเชพเช“ เช†เช‚เชคเชฐเชฟเช• เชธเซเชฅเชฟเชคเชฟ เชœเชพเชณเชตเซ€ เชถเช•เชคเซ€ เชจเชฅเซ€.

5. เชชเซ‹เชฐเซเชŸ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ

docker ps

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช, เชฆเชฐเซ‡เช• เชธเซ‡เชตเชพ เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชชเซ‹เชฐเซเชŸ เชชเชฐ เชšเชพเชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชจเซเชฏ เชคเชฎเชพเชฎ เชธเซ‡เชตเชพเช“ เชฎเชพเชŸเซ‡ เชธเซเชฒเชญ เช›เซ‡.

6. เชธเชฎเชจเซเชตเชฏ

เชกเซ‹เช•เชฐ เช…เชฎเชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชตเชšเซเชšเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชฒเซ‹เชก เชธเช‚เชคเซเชฒเชจ เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเซ‡เชตเชพเช“เชจเซ€ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชšเชพเชฒเซ‹ เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเช‚เชง เช•เชฐเซ€เช เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชงเซเชตเชœ เชฆเซเชตเชพเชฐเชพ เชšเชฒเชพเชตเซ€เช --เชธเซเช•เซ‡เชฒ

docker-compose down && 
docker-compose up -d --scale php-fpm=3 nginx php-fpm

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช, php-fpm เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เชจเช•เชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เช† เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชพเชฐเซ‡ เช•เช‚เชˆเชชเชฃ เชฌเชฆเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช…เชฎเซ‡ เชชเซ‹เชฐเซเชŸ 9000 เชชเชฐ เชชเชฃ เชคเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€เช เช›เซ€เช เช…เชจเซ‡ เชกเซ‹เช•เชฐ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชตเชšเซเชšเซ‡เชจเชพ เชฒเซ‹เชกเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡.

7. เชจเชฟเช•เชพเชฒเช•เซเชทเชฎเชคเชพ - เชฆเชฐเซ‡เช• เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเซ€เชœเชพเชจเซ‡ เชจเซเช•เชธเชพเชจ เชชเชนเซ‹เช‚เชšเชพเชกเซเชฏเชพ เชตเชฟเชจเชพ เชฎเชพเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชฐเซ‹เช•เชตเชพ เช…เชฅเชตเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพเชฅเซ€ เช…เชจเซเช—เชพเชฎเซ€ เชฒเซ‹เช‚เชš เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เช…เชธเชฐ เชฅเชถเซ‡ เชจเชนเซ€เช‚. เชฆเชฐเซ‡เช• เช•เชจเซเชŸเซ‡เชจเชฐ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เช‰เชชเชพเชกเซ€ เชถเช•เชพเชฏ เช›เซ‡.

8. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ/เช“เชชเชฐเซ‡เชถเชจ เชชเซ‡เชฐเชฟเชŸเซ€ - เช†เชชเชฃเชพ เชฌเชงเชพ เชตเชพเชคเชพเชตเชฐเชฃ เชธเชฎเชพเชจ เช›เซ‡. เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเชฟเชธเซเชŸเชฎ เชšเชฒเชพเชตเซ€เชจเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ เช†เชฆเซ‡เชถเซ‹เชฎเชพเช‚ เช•เช‚เชˆเชชเชฃ เชฌเชฆเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชฌเชงเซเช‚ เช เชœ เชฐเซ€เชคเซ‡ เชกเซ‹เช•เชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชถเซ‡.

9. เชฒเซ‹เช—เซ€เช‚เช— โ€” เช† เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เชฒเซ‹เช— เชธเซเชŸเซเชฐเซ€เชฎเชฎเชพเช‚ เชœเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เช•เชจเซเชธเซ‹เชฒเชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. (เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชนเช•เซ€เช•เชคเชฎเชพเช‚, เช…เชจเซเชฏ เชนเซ‹เชฎเชฎเซ‡เช‡เชก เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชพเชฅเซ‡, เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชณเชœเซ€ เชจ เชฒเซ‹ เชคเซ‹ เช† เช•เซ‡เชธ เชจ เชนเซ‹เชˆ เชถเช•เซ‡)

 docker-compose logs -f

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชพเช‚ เชเช• เช•เซ‡เชš เช›เซ‡ เช•เซ‡ PHP เช…เชจเซ‡ Nginx เชฎเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏเซ‹ เชชเชฃ เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเซ‹เช— เชฒเช–เซ‡ เช›เซ‡. 12 เชชเชฐเชฟเชฌเชณเซ‹เชจเซ‡ เชชเชนเซ‹เช‚เชšเซ€ เชตเชณเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เชกเชฟเชธเซเช•เชจเซ‡เช•เซเชŸ เชฆเชฐเซ‡เช• เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชฎเชพเช‚ เช…เชฒเช—เชฅเซ€ เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเซ‹เช— เชฒเช–เชตเชพ.

เชกเซ‹เช•เชฐ เชฎเชพเชคเซเชฐ stdout เชจเซ‡ เชœ เชจเชนเชฟ, เชชเชฃ เช—เซเชฐเซ‡เชฒเซ‹เช— เชœเซ‡เชตเซ€ เชตเชธเซเชคเซเช“ เชฎเชพเชŸเซ‡ เชชเชฃ เชฒเซ‹เช— เชฎเซ‹เช•เชฒเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชจเซ‹ เชฎเซ‡เช‚ เช‰เชชเชฐ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช…เชจเซ‡ เช—เซเชฐเซ‡เชฒเซ‹เช—เชจเซ€ เช…เช‚เชฆเชฐ, เช…เชฎเซ‡ เชฒเซ‹เช—เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชˆเชšเซเช›เชพ เชฎเซเชœเชฌ เช“เชชเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช†เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชถเซ‡ เชจเชนเซ€เช‚.

10. เชตเชนเซ€เชตเชŸเซ€ เช•เชพเชฐเซเชฏเซ‹ โ€” 12 เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชจเชฟเชฐเซเชฎเชพเชคเชพเช“ เช‡เชšเซเช›เซ‡ เช›เซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซ€เช—เชฐ เชŸเซ‚เชฒเชจเซ‡ เช†เชญเชพเชฐเซ€ เชคเชฎเชพเชฎ เชตเชนเซ€เชตเชŸเซ€ เช•เชพเชฐเซเชฏเซ‹ เชฒเชพเชฐเชพเชตเซ‡เชฒ เชฆเซเชตเชพเชฐเชพ เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชนเซเช‚ เชฌเชคเชพเชตเซ€เชถ เช•เซ‡ เช•เซ‡เชŸเชฒเชพเช• เช†เชฆเซ‡เชถเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
เช…เชฎเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชœเชˆเช เช›เซ€เช.

 
docker-compose exec workspace bash
php artisan list

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

เชนเชตเซ‡ เช†เชชเชฃเซ‡ เช•เซ‹เชˆเชชเชฃ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. (เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช…เชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เชจเซ‡ เช•เซ‡เชถเชจเซ‡ เช—เซ‹เช เชตเซเชฏเชพ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เช…เชกเชงเชพ เช†เชฆเซ‡เชถเซ‹ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เช•เซ‡เชถ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡).

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ, php เช…เชจเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชง เชŸเชตเซ‡เชฒเซเชต-เชซเซ‡เช•เซเชŸเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค

11. เช•เซ‹เชจเซเชซเซ€เช—เซเชฏเซเชฐเชพเชธเซ€ เช…เชจเซ‡ 12. เชฌเชจเชพเชตเซ‹, เช›เซ‹เชกเซ‹, เชšเชฒเชพเชตเซ‹

เชนเซเช‚ เช† เชญเชพเช— เชฌเซเชฒเซ-เช—เซเชฐเซ€เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เช† เชฒเซ‡เช– เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชตเซเชฏเชพเชชเช• เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚. เชนเซเช‚ เช† เชตเชฟเชถเซ‡ เชเช• เช…เชฒเช— เชฒเซ‡เช– เชฒเช–เซ€เชถ.

เชŸเซ‚เช‚เช•เชฎเชพเช‚, เช–เซเชฏเชพเชฒ CI/CD เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชœเซ‡เชจเช•เชฟเชจเซเชธ ะธ Gitlab CI. เชฌเช‚เชจเซ‡เชฎเชพเช‚, เชคเชฎเซ‡ เชšเซ‹เช•เซเช•เชธ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเชฆเชจเซเชธเชพเชฐ, เช† เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚, เชฌเชฟเช‚เชฆเซ c เชชเซ‚เชฐเซเชฃ เชฅเชถเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹.

เช…เชจเซ‡ เชฎเซเชฆเซเชฆเชพ เชตเชฟเชถเซ‡ เชฌเชจเชพเชตเซ‹, เช›เซ‹เชกเซ‹, เชšเชฒเชพเชตเซ‹ เชจเชพเชฎ เชธเชพเชฅเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชซเช‚เช•เซเชถเชจ เชฆเซเชตเชพเชฐเชพ เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจ.

เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชเชธเซ‡เชฎเซเชฌเชฒเซ€, เชฐเชฟเชฒเซ€เช เช…เชจเซ‡ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจเชจเชพ เชคเชฌเช•เซเช•เชพเช“เชจเซ‡ เชนเชพเช‡เชฒเชพเช‡เชŸ เช•เชฐเซ€เชจเซ‡, เชคเชฎเชจเซ‡ เชœเชฎเชพเชตเชŸ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช˜เชฃเชพ เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚ เชชเชฃ, เชคเชฎเซ‡ เชฌเซ‡เช•เช…เชช เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เช–เชฐเซ‡เช–เชฐ เช•เช‚เชˆเชชเชฃ. เช† เชเช• เช…เชฎเชฐเซเชฏเชพเชฆ เช•เซเชทเชฎเชคเชพ เชงเชฐเชพเชตเชคเซเช‚ เชธเชพเชงเชจ เช›เซ‡.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชก เชชเชฐ เช›เซ‡ Github.
เช† เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซเช‚ เช•เซเชฒเซ‹เชจเชฟเช‚เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฌเชฎเซ‹เชกเซเชฏเซเชฒ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซเช‚ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚.

PS: เช† เชคเชฎเชพเชฎ เช…เชญเชฟเช—เชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชจเซเชฏ เช•เซ‹เชˆเชชเชฃ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เช…เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“ เชธเชพเชฅเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช เช›เซ‡ เช•เซ‡ เชธเชพเชฐ เช…เชฒเช— เชจเชฅเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹