เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจฎเฉเจ เจชเจฒเฉเจธเจ เจเฉฐเจเจฐเฉเจฒ เจชเฉเจจเจฒ เจ
เจคเฉ เจเจฟเจฅเจฌ เจเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเฉเจเจ/เจธเฉเจกเฉ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจชเจฃเฉ เจคเจเจผเจฐเจฌเฉ เจจเฉเฉฐ เจธเจพเจเจเจพ เจเจฐเจพเจเจเจพเฅค เจ
เฉฑเจ เจ
เจธเฉเจ เจธเจฟเจเจพเจเจเฉ เจเจฟ "เจนเฉเจฒเฉเจตเจฐเจฒเจก" เจจเจพเจฎ เจฆเฉ เจธเจงเจพเจฐเจจ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจฒเจพเจเฉ เจเจฐเจจเจพ เจนเฉเฅค เจเจน เจซเจฒเจพเจธเจ เจชเจพเจเจฅเจจ เจซเจฐเฉเจฎเจตเจฐเจ เจตเจฟเฉฑเจ, เจธเฉเจฒเจฐเฉ เจตเจฐเจเจฐเจพเจ เจ
เจคเฉ เจเฉฑเจ เจเจเจเฉเจฒเจฐ 8 เจซเจฐเฉฐเจเจเจเจก เจฆเฉ เจจเจพเจฒ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉเฅค
เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฒเจ เจฒเจฟเฉฐเจ:
เจฒเฉเจ เจฆเฉ เจชเจนเจฟเจฒเฉ เจญเจพเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจชเจฃเฉ เจชเฉเจฐเฉเจเฉเจเจ เจ เจคเฉ เจเจธเจฆเฉ เจญเจพเจเจพเจ เจจเฉเฉฐ เจฆเฉเจเจพเจเจเฉเฅค เจฆเฉเจเฉ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจน เจชเจคเจพ เจฒเจเจพเจตเจพเจเจเฉ เจเจฟ Plesk เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเฉเจ เจ เจช เจเจฐเจจเจพ เจนเฉ เจ เจคเฉ เจฒเฉเฉเฉเจเจฆเฉ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจ เจคเฉ เจเฉฐเจชเฉเจจเฉเจเจเจธ (DB, RabbitMQ, Redis, Docker, เจเจฆเจฟ) เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจนเฉเฅค
เจคเฉเจเฉ เจนเจฟเฉฑเจธเฉ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจเจฐเจเจพเจฐ เจเจน เจชเจคเจพ เจฒเจเจพเจตเจพเจเจเฉ เจเจฟ เจธเจพเจกเฉ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจฐเจตเจฐ เจคเฉ เจเฉฑเจ เจฆเฉเจต เจ เจคเฉ เจเจคเจชเจพเจฆ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจ เจคเฉเจจเจพเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเจพเจเจชเจฒเจพเจเจจ เจเจฟเจตเฉเจ เจธเจฅเจพเจชเจค เจเจฐเจจเฉ เจนเฉเฅค เจ เจคเฉ เจซเจฟเจฐ เจ เจธเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ เจธเจพเจเจ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจพเจเจเฉเฅค
เจ
เจคเฉ เจนเจพเจ, เจฎเฉเจ เจเจชเจฃเฉ เจเจพเจฃ-เจชเจเจพเจฃ เจเจฐเจจเจพ เจญเฉเฉฑเจฒ เจเจฟเจเฅค เจฎเฉเจฐเจพ เจจเจพเจฎ เจเจฒเฉเจ เจฌเฉเจฐเจเจผเฉเจต เจนเฉ, เจฎเฉเจ Domclick 'เจคเฉ เจฎเฉเจฐเจเฉเจ เจฎเฉเจจเฉเจเจฐเจพเจ เจฒเจ CRM เจเฉเจฎ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเฉเฉฑเจฒเจธเจเฉเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจนเจพเจเฅค
เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจธเฉฐเจเฉเจช เจเจพเจฃเจเจพเจฐเฉ
เจชเจนเจฟเจฒเจพเจ, เจเจ เจฆเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจจเฉเฉฐ เจตเฉเจเฉเจ - เจฌเฉเจเจเจเจก เจ เจคเฉ เจซเจฐเฉฐเจ - เจ เจคเฉ เจเฉเจก เจเฉฑเจคเฉ เจเจพเจเฅค
เจฌเฉเจเจเจเจก: เจซเจฒเจพเจธเจ + เจธเฉเจฒเจฐเฉ
เจชเจฟเจเจฒเฉ เจนเจฟเฉฑเจธเฉ เจฒเจ, เจฎเฉเจ เจเฉฑเจ เจเฉเฉฐเจก เจฒเจฟเจ เจเฉ เจชเจพเจเจฅเจจ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจฎเจธเจผเจนเฉเจฐ เจนเฉ: เจซเจฒเจพเจธเจ เจซเจฐเฉเจฎเจตเจฐเจ (เจเจชเฉเจเจ เจฒเจ) เจ เจคเฉ เจธเฉเจฒเจฐเฉ (เจเจพเจธเจ เจเจคเจพเจฐ เจฒเจ). SQLAchemy เจจเฉเฉฐ ORM เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจฒเฉเจฎเจฌเจฟเจ เจฆเฉ เจตเจฐเจคเฉเจ เจฎเจพเจเจเฉเจฐเฉเจธเจผเจจ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจนเฉเจเจกเจฒเจพเจ เจตเจฟเฉฑเจ JSON เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจฒเจ - เจฎเจพเจฐเจธเจผเจฎเฉเจฒเฉเฅค
ะ
/ping
- เจเจชเจฒเจฌเจงเจคเจพ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ;- เจฐเจเจฟเจธเจเฉเจฐเฉเจธเจผเจจ, เจ เจงเจฟเจเจพเจฐ, เจกเฉ-เจ เจฅเจพเจฐเจพเจเจเจผเฉเจธเจผเจจ เจ เจคเฉ เจ เจงเจฟเจเจพเจฐเจค เจเจชเจญเฉเจเจคเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจนเฉเจเจกเจฒ;
- เจเฉฑเจ เจเจฎเฉเจฒ เจนเฉเจเจกเจฒ เจเฉ เจธเฉเจฒเจฐเฉ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฐเจฎ เจฐเฉฑเจเจฆเจพ เจนเฉเฅค
send_mail_task
.
เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ
docker
เจฆเฉ เจกเฉเจเจฐเจซเจพเจเจฒเจพเจ เจจเจพเจฒ (base.dockerfile
เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจเฉฑเจ เจฌเจฆเจฒเจฃ เจตเจพเจฒเจพ เจ เจงเจพเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจ เจคเฉDockerfile
เจฎเฉเฉฑเจ เจ เจธเฉเจเจฌเจฒเฉเจเจ เจฒเจ);.env_files
- เจตเฉฑเจ-เจตเฉฑเจ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ เจฒเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจพเจฒเฉเจเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจจเจพเจฒเฅค
เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจฐเฉเจ 'เจคเฉ เจเจพเจฐ เจกเฉเจเจฐ-เจเฉฐเจชเฉเจเจผ เจซเจพเจเจฒเจพเจ เจนเจจ:
docker-compose.local.db.yml
เจตเจฟเจเจพเจธ เจฒเจ เจเฉฑเจ เจธเจฅเจพเจจเจ เจกเจพเจเจพเจฌเฉเจธ เจฌเจฃเจพเจเจฃ เจฒเจ;docker-compose.local.workers.yml
เจตเจฐเจเจฐ, เจกเจพเจเจพเจฌเฉเจธ, Redis เจ เจคเฉ RabbitMQ เจฆเฉ เจธเจฅเจพเจจเจ เจเจญเจพเจฐ เจฒเจ;docker-compose.test.yml
เจคเฉเจจเจพเจคเฉ เจฆเฉเจฐเจพเจจ เจเฉเจธเจ เจเจฒเจพเจเจฃ เจฒเจ;docker-compose.yml
เจคเจพเจเจจเจพเจคเฉ เจฒเจ.
เจ
เจคเฉ เจเจเจฐเฉ เจซเฉเจฒเจกเจฐ เจเจฟเจธ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฆเฉ เจนเจพเจ -
deploy.sh
- เจฎเจพเจเจเฉเจฐเฉเจธเจผเจจ เจ เจคเฉ เจคเฉเจจเจพเจคเฉ เจฆเฉ เจธเจผเฉเจฐเฉเจเจคเฅค Github เจเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจเฉเจธเจ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเจฒเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจธเจฐเจตเจฐ 'เจคเฉ เจเฉฑเจฒเจฆเจพ เจนเฉ;rollback.sh
- เจ เจธเฉเจเจฌเจฒเฉ เจฆเฉ เจชเจฟเจเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจฒเจ เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเจพ เจฐเฉเจฒเจฌเฉเจ;curl_tg.sh
- เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจจเฉเฉฐ เจคเฉเจจเจพเจคเฉ เจธเฉเจเจจเจพเจตเจพเจ เจญเฉเจเจฃเจพ.
เจเจเจเฉเจฒเจฐ 'เจคเฉ เจซเจฐเฉฐเจเจเจเจก
- เจเจฎเฉเจฒ เจญเฉเจเจฃ เจฒเจ เจเฉฑเจ เจซเจพเจฐเจฎ เจ เจคเฉ เจเฉฑเจ เจเจเจเจผเจฟเจ เจฌเจเจจ เจตเจพเจฒเจพ เจฎเฉเฉฑเจ เจชเฉฐเจจเจพเฅค
- เจฒเฉเจเจเจจ เจชเฉฐเจจเจพ.
- เจฐเจเจฟเจธเจเฉเจฐเฉเจธเจผเจจ เจชเฉฐเจจเจพ.
เจฎเฉเฉฑเจ เจชเฉฐเจจเจพ เจคเจชเฉฑเจธเจตเฉ เจฆเจฟเจธเจฆเจพ เจนเฉ:
เจฐเฉเจ 'เจคเฉ เจฆเฉ เจซเจพเจเจฒเจพเจ เจนเจจ Dockerfile
ะธ docker-compose.yml
, เจจเจพเจฒ เจนเฉ เจเจพเจฃเฉ เจซเฉเจฒเจกเจฐ .ci-cd
เจฌเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเจพเจฒเฉเจ เจฅเฉเฉเฉเจนเฉเจเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเจพเจฒ (เจเฉฑเจฒ เจฐเจนเฉ เจเฉเจธเจเจพเจ เจฒเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเฉเฉฐ เจนเจเจพเจเจ เจเจฟเจ)เฅค
Plesk เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ
เจเจ Plesk เจธเฉเจ เจ เจช เจเจฐเจเฉ เจ เจคเฉ เจธเจพเจกเฉ เจธเจพเจเจ เจฒเจ เจเจพเจนเจเฉ เจฌเจฃเจพ เจเฉ เจธเจผเฉเจฐเฉเจเจค เจเจฐเฉเจเฅค
เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจชเจฒเฉเจธเจ เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจเจพเจฐ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
Docker
Plesk เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจตเจฟเฉฑเจ เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ เจคเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ;Git
เจธเจฐเจตเจฐ 'เจคเฉ เจคเฉเจจเจพเจคเฉ เจชเฉเจพเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฒเจ;Let's Encrypt
เจฎเฉเจซเจผเจค TLS เจธเจฐเจเฉเจซเจฟเจเฉเจ เจฌเจฃเจพเจเจฃ (เจ เจคเฉ เจธเจตเฉ-เจจเจตเฉเจจเฉเจเจฐเจจ) เจฒเจ;Firewall
เจเจเจฃ เจตเจพเจฒเฉ เจเฉเจฐเฉเจซเจฟเจ เจฆเฉ เจซเจฟเจฒเจเจฐเจฟเฉฐเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฒเจเฅค
เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจเจธเจเฉเจเจธเจผเจจ เจญเจพเจ เจตเจฟเฉฑเจ Plesk เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจฆเฉเจเจฐเจพ เจธเจฅเจพเจชเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ:
เจ
เจธเฉเจ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจฒเจ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉเจเจฟเฉฐเจเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจจเจนเฉเจ เจเจฐเจพเจเจเฉ, เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจธเจพเจกเฉ เจกเฉเจฎเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจเจฐเจจเจเฉเจเจเฅค
เจเฉฑเจ เจเจพเจนเจเฉ เจ เจคเฉ เจธเจพเจเจ เจฌเจฃเจพเจ
เจ เฉฑเจเฉ, เจธเจพเจจเฉเฉฐ เจธเจพเจกเฉ helloworld.ru เจตเฉเฉฑเจฌเจธเจพเจเจ เจฒเจ เจธเจฌเจธเจเฉเจฐเจฟเจชเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเฉฑเจฅเฉ dev.helloworld.ru เจธเจฌเจกเฉเจฎเฉเจจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
- helloworld.ru เจกเฉเจฎเฉเจจ เจฒเจ เจเจพเจนเจเฉ เจฌเจฃเจพเจ เจ
เจคเฉ เจธเจฟเจธเจเจฎ เจเจชเจญเฉเจเจคเจพ เจฒเจ เจฒเฉเจเจเจจ-เจชเจพเจธเจตเจฐเจก เจฆเจฟเจ:
เจชเฉฐเจจเฉ เจฆเฉ เจนเฉเจ เจพเจ เจฌเจพเจเจธ 'เจคเฉ เจจเจฟเจธเจผเจพเจจ เจฒเจเจพเจ Let's Encrypt เจจเจพเจฒ เจกเฉเจฎเฉเจจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเฉเจเฉเจเจฐ เจ เจธเฉเจ เจธเจพเจเจ เจฒเจ HTTPS เจธเฉเจ เจ เจช เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ: - เจ เฉฑเจเฉ, เจเจธ เจเจพเจนเจเฉ เจตเจฟเฉฑเจ, เจเฉฑเจ เจธเจฌเจกเฉเจฎเฉเจจ dev.helloworld.ru เจฌเจฃเจพเจ (เจเจฟเจธ เจฒเจ เจคเฉเจธเฉเจ เจเฉฑเจ เจฎเฉเจซเจค TLS เจธเจฐเจเฉเจซเจฟเจเฉเจ เจตเฉ เจเจพเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ):
เจธเจฐเจตเจฐ เจเฉฐเจชเฉเจจเฉเจเจเจธ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจเจพ
เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจธเจฐเจตเจฐ เจนเฉ OS เจกเฉเจฌเฉเจ เจจ เจธเจเฉเจฐเฉเจ 9.12 เจ เจคเฉ เจธเจฅเจพเจชเจฟเจค เจเฉฐเจเจฐเฉเจฒ เจชเฉเจจเจฒ เจชเจฒเฉเจธเจ เจเจฌเจธเฉเจกเฉเจ เจจ 18.0.27.
เจธเจพเจจเฉเฉฐ เจเจชเจฃเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจธเจฅเจพเจชเจฟเจค เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- PostgreSQL (เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ, dev เจ เจคเฉ prod เจตเจพเจคเจพเจตเจฐเจฃเจพเจ เจฒเจ เจฆเฉ เจกเฉเจเจพเจฌเฉเจธ เจตเจพเจฒเจพ เจเฉฑเจ เจธเจฐเจตเจฐ เจนเฉเจตเฉเจเจพ)เฅค
- RabbitMQ (เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ เจตเฉฑเจ-เจตเฉฑเจ vhosts เจฆเฉ เจจเจพเจฒ เจเฉฑเจเฉ เจเจฟเจนเฉ, เจเฉฑเจเฉ เจเจฟเจนเฉ เจเจฆเจพเจนเจฐเจฃ)เฅค
- เจฆเฉ Redis เจฎเฉเจเฉ (dev เจ เจคเฉ prod เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ)เฅค
- เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ (เจฌเจฟเจฒเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐเจพเจ เจฆเฉ เจธเจฅเจพเจจเจ เจธเจเฉเจฐเฉเจ เจฒเจ)เฅค
- เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ เจฒเจ UIเฅค
PostgreSQL
Plesk เจชเจนเจฟเจฒเจพเจ เจนเฉ PostgreSQL DBMS เจฆเฉ เจจเจพเจฒ เจเจเจเจฆเจพ เจนเฉ, เจชเจฐ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจจเจนเฉเจ (Plesk Obsidian เจฒเจฟเจเจฃ เจฆเฉ เจธเจฎเฉเจ
เจจเฉเฉฑเจ 'เจคเฉ เจกเฉเจฌเฉเจ
เจจ 'เจคเฉ เจชเฉเจธเจเจเฉเจฐเฉเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจนเจฆเจพเจเจคเจพเจ เจนเจจ (
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
เจเจน เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฆเฉ เจนเฉเจ เจเจฟ PostgreSQL เจตเจฟเฉฑเจ เจฎเฉฑเจงเจฎ เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจนเจจ, เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจ เฉเจ เจเจฐเจจเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉเฅค เจเจน เจธเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเฉเจเจพ /etc/postgresql/12/main/postgresql.conf
เจชเฉเจธเจผ เจเฉเจคเฉ เจเจ เจฒเฉเจเจพเจ เจจเฉเฉฐเฅค เจเฉฑเจฅเฉ เจเจน เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจ
เจเจฟเจนเฉ เจเฉเจฒเจเฉเจฒเฉเจเจฐ เจเฉฑเจ เจเจพเจฆเฉเจ เจฌเฉเจฒเฉเจ เจจเจนเฉเจ เจนเจจ, เจ
เจคเฉ เจคเฉเจนเจพเจกเฉ เจนเจพเจฐเจกเจตเฉเจ
เจฐ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจ
เจคเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจฆเฉ เจ
เจงเจพเจฐ 'เจคเฉ, เจ
เจงเจพเจฐ เจจเฉเฉฐ เจตเจงเฉเจฐเฉ เจธเจเฉเจเจคเจพ เจจเจพเจฒ เจเจฟเจเจจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจชเจฐ เจเจน เจธเจผเฉเจฐเฉเจเจค เจเจฐเจจ เจฒเจ เจเจพเจซเจผเฉ เจนเฉ.
เจเฉเจฒเจเฉเจฒเฉเจเจฐ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจธเฉเจเจฟเฉฐเจเจพเจ เจคเฉเจ เจเจฒเจพเจตเจพ, เจ
เจธเฉเจ เจเจธ เจตเจฟเฉฑเจ เจตเฉ เจฌเจฆเจฒเจฆเฉ เจนเจพเจ postgresql.conf
เจกเจฟเจซเจพเจฒเจ เจชเฉเจฐเจ 5432 เจฆเฉเจเฉ เจจเฉเฉฐ (เจธเจพเจกเฉ เจเจฆเจพเจนเจฐเจฃ เจตเจฟเฉฑเจ - 53983).
เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจฎเจพเจเจก เจจเจพเจฒ postgresql-server เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเฉ:
service postgresql restart
เจ เจธเฉเจ PostgreSQL เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจนเฉเฅค เจเจ เจนเฉเจฃ เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจฌเจฃเจพเจเจ, dev- เจ เจคเฉ prod-เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ เจเจชเจญเฉเจเจคเจพ, เจ เจคเฉ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจกเฉเจเจพเจฌเฉเจธ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจจ เจฆเฉ เจ เจงเจฟเจเจพเจฐ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจ:
$ su - postgres
postgres:~$ create database hw_dev_db_name;
CREATE DATABASE
postgres:~$ create user hw_dev_db_user with password 'hw_dev_db_password';
CREATE ROLE
postgres:~$ grant ALL privileges ON database hw_dev_db_name to hw_dev_db_user;
GRANT
postgres:~$ create database hw_prod_db_name;
CREATE DATABASE
postgres:~$ create user hw_prod_db_user with password 'hw_prod_db_password';
CREATE ROLE
postgres:~$ grant ALL privileges ON database hw_prod_db_name to hw_prod_db_user;
GRANT
เจฐเฉเจฌเจฟเจเจฎเจเจฟQ
เจเจ, เจธเฉเจฒเจฐเฉ เจฒเจ เจเฉฑเจ เจธเฉฐเจฆเฉเจธเจผ เจฌเฉเจฐเฉเจเจฐ, RabbitMQ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฒเจ เจ เฉฑเจเฉ เจตเจงเฉเจเฅค เจกเฉเจฌเฉเจ เจจ 'เจคเฉ เจเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจฌเจนเฉเจค เจธเฉเจเจพ เจนเฉ:
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install erlang erlang-nox
sudo add-apt-repository 'deb http://www.rabbitmq.com/debian/ testing main'
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install rabbitmq-server
เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฆเฉ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ vhosts, เจเจชเจญเฉเจเจคเจพ เจ เจคเฉ เจฒเฉเฉเฉเจเจฆเฉ เจ เจงเจฟเจเจพเจฐ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเจจ:
sudo rabbitmqctl add_user hw_dev_amqp_user hw_dev_amqp_password
sudo rabbitmqctl set_user_tags hw_dev_amqp_user administrator
sudo rabbitmqctl add_vhost hw_dev_vhost
sudo rabbitmqctl set_permissions -p hw_dev_vhost hw_dev_amqp_user ".*" ".*" ".*"
sudo rabbitmqctl add_user hw_prod_amqp_user hw_prod_amqp_password
sudo rabbitmqctl set_user_tags hw_prod_amqp_user administrator
sudo rabbitmqctl add_vhost hw_prod_vhost
sudo rabbitmqctl set_permissions -p hw_prod_vhost hw_prod_amqp_user ".*" ".*" ".*"
เจฐเฉเจกเจฟเจธ
เจเจ เจนเฉเจฃ เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเจเจฐเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจ เจคเฉ เจเฉเจเจซเจฟเจเจฐ เจเจฐเฉเจ - Redis. เจเจน เจธเฉเจฒเจฐเฉ เจเฉฐเจฎเจพเจ เจฆเฉ เจจเจคเฉเจเจฟเจเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจฌเฉเจเจเจเจก เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพเฅค
เจ
เจธเฉเจ เจเจเจธเจเฉเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ dev เจ
เจคเฉ prod เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ Redis เจฆเฉ เจจเจพเจฒ เจฆเฉ เจกเฉเจเจฐ เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจตเจงเจพเจตเจพเจเจเฉ Docker
Plesk เจฒเจ.
- เจ เจธเฉเจ เจชเจฒเฉเจธเจ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจ, เจเจเจธเจเฉเจเจธเจผเจจ เจธเฉเจเจธเจผเจจ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจ, เจกเฉเจเจฐ เจเจเจธเจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจฒเฉฑเจญเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ (เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจฎเฉเจซเจค เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ):
- เจธเจฅเจพเจชเจฟเจค เจเจเจธเจเฉเจเจธเจผเจจ 'เจคเฉ เจเจพเจ, เจเฉเจ เจฆเฉเจเจฐเจพ เจเจฟเฉฑเจคเจฐ เจฒเฉฑเจญเฉ
redis bitnami
เจ เจคเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ: - เจ เจธเฉเจ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเฉ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเจพเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจตเจฟเจตเจธเจฅเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ: เจชเฉเจฐเจ, เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจจเจฟเจฐเจงเจพเจฐเจค เจฐเฉเจฎ เจเจเจพเจฐ, เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจชเจพเจธเจตเจฐเจก, เจ เจคเฉ เจตเจพเจฒเฉเจ เจฎ เจจเฉเฉฐ เจฎเจพเจเจเจ เจเจฐเฉ:
- เจ เจธเฉเจ เจชเฉเจฐเฉเจก เจเฉฐเจเฉเจจเจฐ เจฒเจ เจเจฆเจฎ 2-3 เจเจฐเจฆเฉ เจนเจพเจ, เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจธเจฟเจฐเจซ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฌเจฆเจฒเจฆเฉ เจนเจพเจ: เจชเฉเจฐเจ, เจชเจพเจธเจตเจฐเจก, เจฐเฉเจฎ เจฆเจพ เจเจเจพเจฐ เจ เจคเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจตเจพเจฒเฉเจ เจฎ เจซเฉเจฒเจกเจฐ เจฆเจพ เจฎเจพเจฐเจ:
เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ
เจฌเฉเจจเจฟเจเจฆเฉ เจธเฉเจตเจพเจตเจพเจ เจคเฉเจ เจเจฒเจพเจตเจพ, เจธเจฐเจตเจฐ 'เจคเฉ เจเจชเจฃเฉ เจเฉเจฆ เจฆเฉ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจเจพเจเจฃเจพ เจเฉฐเจเจพ เจนเฉเจตเฉเจเจพ. เจเฉเจธเจผเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจธเจฐเจตเจฐ เจธเจชเฉเจธ เจนเฉเจฃ เจเจพเจซเจผเฉ เจธเจธเจคเฉ เจนเฉ (เจเฉฑเจ เจกเฉเจเจฐเจนเฉฑเจฌ เจเจพเจนเจเฉ เจจเจพเจฒเฉเจ เจฏเจเฉเจจเจจ เจธเจธเจคเจพ), เจ เจคเฉ เจเฉฑเจ เจชเฉเจฐเจพเจเจตเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฌเจนเฉเจค เจธเจงเจพเจฐเจจ เจนเฉ.
เจ เจธเฉเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ:
- เจชเจพเจธเจตเจฐเจก-เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจกเฉเจเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉฑเจ เจธเจฌเจกเฉเจฎเฉเจจ 'เจคเฉ เจชเจนเฉเฉฐเจเจฏเฉเจ เจนเฉ
https://docker.helloworld.ru ; - เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเจฟเฉฑเจคเจฐ เจฆเฉเจเจฃ เจฒเจ UI, เจเฉฑเจฅเฉ เจเจชเจฒเจฌเจง เจนเฉ
https://docker-ui.helloworld.ru .
เจเจธ เจฒเจ:
- เจเจฒเฉ เจเจชเจฃเฉ เจธเจฌเจธเจเฉเจฐเจฟเจชเจธเจผเจจ เจตเจฟเฉฑเจ เจชเจฒเฉเจธเจ เจตเจฟเฉฑเจ เจฆเฉ เจธเจฌเจกเฉเจฎเฉเจจ เจฌเจฃเจพเจเจ: docker.helloworld.ru เจ เจคเฉ docker-ui.helloworld.ru, เจ เจคเฉ เจเจนเจจเจพเจ เจฒเจ Let's Encrypt เจธเจฐเจเฉเจซเจฟเจเฉเจ เจธเฉฐเจฐเจเจฟเจค เจเจฐเฉเจเฅค
- เจซเจพเจเจฒ เจจเฉเฉฐ docker.helloworld.ru เจธเจฌเจกเฉเจฎเฉเจจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
docker-compose.yml
เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจพเจฒ:version: "3" services: docker-registry: image: "registry:2" restart: always ports: - "53985:5000" environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: basic-realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/.htpasswd REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data volumes: - ./.docker-registry.htpasswd:/auth/.htpasswd - ./data:/data docker-registry-ui: image: konradkleine/docker-registry-frontend:v2 restart: always ports: - "53986:80" environment: VIRTUAL_HOST: '*, https://*' ENV_DOCKER_REGISTRY_HOST: 'docker-registry' ENV_DOCKER_REGISTRY_PORT: 5000 links: - 'docker-registry'
- SSH เจฆเฉ เจคเจนเจฟเจค, เจ
เจธเฉเจ เจกเฉเจเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจฎเฉเจฒ เจ
เจงเจฟเจเจพเจฐ เจฒเจ .htpasswd เจซเจพเจเจฒ เจคเจฟเจเจฐ เจเจฐเจพเจเจเฉ:
htpasswd -bBc .htpasswd hw_docker_admin hw_docker_password
- เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเฉ เจ
เจคเฉ เจเฉเฉฑเจเฉ:
docker-compose up -d
- เจ เจคเฉ เจธเจพเจจเฉเฉฐ Nginx เจจเฉเฉฐ เจธเจพเจกเฉ เจเฉฐเจเฉเจจเจฐเจพเจ เจคเฉ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ. เจเจน Plesk เจฆเฉเจเจฐเจพ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ.
docker.helloworld.ru เจ เจคเฉ docker-ui.helloworld.ru เจธเจฌเจกเฉเจฎเฉเจจเจพเจ เจฒเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฆเจฎเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
เจญเจพเจ เจฆเฉเจต เจธเฉฐเจฆ เจธเจพเจกเฉ เจธเจพเจเจ 'เจคเฉ เจเจพเจ เจกเฉเจเจฐ เจชเฉเจฐเฉเจเจธเฉ เจจเจฟเจฏเจฎ:
เจ
เจคเฉ เจธเจพเจกเฉ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเจธเฉ เจเจเจฃ เจตเจพเจฒเฉ เจเฉเจฐเฉเจซเจฟเจ เจฒเจ เจเฉฑเจ เจจเจฟเจฏเจฎ เจเฉเฉเฉ:
- เจ
เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจ
เจธเฉเจ เจธเจฅเจพเจจเจ เจฎเจธเจผเฉเจจ เจคเฉเจ เจเจชเจฃเฉ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ:
$ docker login docker.helloworld.ru -u hw_docker_admin -p hw_docker_password WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded
- เจเจ docker-ui.helloworld.ru เจธเจฌเจกเฉเจฎเฉเจจ เจฆเฉ เจธเฉฐเจเจพเจฒเจจ เจฆเฉ เจตเฉ เจเจพเจเจ เจเจฐเฉเจ:
เจเจฆเฉเจ เจคเฉเจธเฉเจ เจฌเฉเจฐเจพเจเจเจผ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจฌเฉเจฐเจพเจเจเจผเจฐ เจเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจตเจฟเฉฐเจกเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเฉเจเจพ เจเจฟเฉฑเจฅเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ เจ เจคเฉ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฆเฉ เจธเฉเจเฉ เจตเจพเจฒเฉ เจชเฉฐเจจเฉ 'เจคเฉ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ (เจนเฉเจฃ เจฒเจ, เจเจน เจคเฉเจนเจพเจกเฉ เจฒเจ เจเจพเจฒเฉ เจนเฉเจตเฉเจเจพ):
เจชเจฒเฉเจธเจ เจซเจพเจเจฐเจตเจพเจฒ เจตเจฟเฉฑเจ เจชเฉเจฐเจ เจเฉเจฒเฉเจนเจฃเจพ
เจเฉฐเจชเฉเจจเฉเจเจเจธ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจ เจคเฉ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจชเฉเจฐเจเจพเจ เจจเฉเฉฐ เจเฉเจฒเฉเจนเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจคเจพเจ เจเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจกเฉเจเจฐ เจเฉฐเจเฉเจจเจฐเจพเจ เจ เจคเฉ เจฌเจพเจนเจฐเฉ เจจเฉเฉฑเจเจตเจฐเจ เจคเฉเจ เจชเจนเฉเฉฐเจเจฏเฉเจ เจนเฉเจฃเฅค
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจชเจฒเฉเจธเจ เจฒเจ เจซเจพเจเจฐเจตเจพเจฒ เจเจเจธเจเฉเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจเจฐเจจเจพ เจนเฉ เจเฉ เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจนเฉเฅค
- เจตเฉฑเจฒ เจเจพ เจเฉเจฒ เจ
เจคเฉ เจธเฉเจเจฟเฉฐเจเจพเจ > เจธเฉเจเจฟเฉฐเจเจพเจ > เจซเจพเจเจฐเจตเจพเจฒ:
- เจตเฉฑเจฒ เจเจพ Plesk เจซเจพเจเจฐเจตเจพเจฒ เจจเจฟเจฏเจฎเจพเจ เจจเฉเฉฐ เจธเฉเจงเฉ > เจเจธเจเจฎ เจจเจฟเจฏเจฎ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจ
เจคเฉ เจกเฉเจเจฐ เจธเจฌเจจเฉเฉฑเจ เจฒเจ เจนเฉเจ เจฒเจฟเจเฉเจเจ TCP เจชเฉเจฐเจเจพเจ เจเฉเจฒเฉเจนเฉ (172.0.0.0 / 8):
RabbitMQ: 1883, 4369, 5671-5672, 25672, 61613-61614
เจฐเฉเจกเจฟเจธ: 32785, 32786 - เจ เจธเฉเจ เจเฉฑเจ เจจเจฟเจฏเจฎ เจตเฉ เจเฉเฉเจพเจเจเฉ เจเฉ PostgreSQL เจชเฉเจฐเจเจพเจ เจ เจคเฉ RabbitMQ เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเฉเจจเจฒเจพเจ เจจเฉเฉฐ เจฌเจพเจนเจฐเฉ เจฆเฉเจจเฉเจ เจฒเจ เจเฉเจฒเฉเจนเฉเจเจพ:
- เจฌเจฆเจฒเจพเจ เจฒเจพเจเฉ เจเจฐเฉ เจฌเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจจเจฟเจฏเจฎเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเฉ:
เจเจฟเจฅเจฌ เจเจเจธเจผเจจเจเจผ เจตเจฟเฉฑเจ CI/CD เจธเฉเจ เจ เจช เจเจฐเจจเจพ
เจเจ เจธเจญ เจคเฉเจ เจฆเจฟเจฒเจเจธเจช เจนเจฟเฉฑเจธเฉ 'เจคเฉ เจเจคเจฐเฉเจ - เจเฉฑเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจชเจพเจเจชเจฒเจพเจเจจ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจ เจคเฉ เจธเจพเจกเฉ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจธเจฐเจตเจฐ เจคเฉฑเจ เจชเจนเฉเฉฐเจเจพเจเจฃเจพเฅค
เจเจธ เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจนเฉเจฃเจเฉ:
- เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ เจ เจคเฉ เจเฉฑเจฒ เจฐเจนเฉ เจเฉเจธเจ (เจฌเฉเจเจเจเจก เจฒเจ) - เจเจฟเจฅเจฌ เจธเจพเจเจก 'เจคเฉ;
- เจฎเจพเจเจเฉเจฐเฉเจธเจผเจจ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ (เจฌเฉเจเจเจเจก เจฒเจ) เจ เจคเฉ เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจจเจพ - เจธเจฐเจตเจฐ 'เจคเฉเฅค
Plesk เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเฉ
เจเจ เจชเจนเจฟเจฒเจพเจ เจฆเฉเจเฉ เจฌเจฟเฉฐเจฆเฉ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เฉเจ (เจเจฟเจเจเจเจฟ เจชเจนเจฟเจฒเจพ เจเจธ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ)เฅค
เจ เจธเฉเจ Plesk เจฒเจ Git เจเจเจธเจเฉเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจคเฉเจจเจพเจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจพเจเจเฉเฅค
เจเฉฑเจ เจฌเฉเจเจเจเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจเฉฑเจ เจชเฉเจฐเฉเจก เจตเจพเจคเจพเจตเจฐเจจ เจจเจพเจฒ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉเฅค
- เจ เจธเฉเจ เจธเจพเจกเฉ เจนเฉเจฒเฉเจตเจฐเจฒเจก เจตเฉเฉฑเจฌเจธเจพเจเจ เจฆเฉ เจเจพเจนเจเฉ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจฟเฉฑเจ เจเจชเจญเจพเจ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจ:
- "เจฐเจฟเจฎเฉเจ เจเจฟเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ" เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเจฟเจฅเจฌ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจเฉฑเจ เจฒเจฟเฉฐเจ เจชเจพเจ เจ
เจคเฉ เจกเจฟเจซเฉเจฒเจ เจซเฉเจฒเจกเจฐ เจฌเจฆเจฒเฉ
httpdocs
เจเจฟเจธเฉ เจนเฉเจฐ เจจเฉเฉฐ (เจเจฆเจพเจนเจฐเจจ เจฒเจ./httpdocs/hw_back
): - เจชเจฟเจเจฒเฉ เจชเฉเจพเจ
เจคเฉเจ SSH เจชเจฌเจฒเจฟเจ เจเฉเฉฐเจเฉ เจฆเฉ เจจเจเจฒ เจเจฐเฉ เจ
เจคเฉ
เจเฉเฉเจจเจพ เจเจน Github เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจนเฉเฅค - เจธเจเฉเจช 2 เจตเจฟเฉฑเจ เจธเจเฉเจฐเฉเจจ เจคเฉ เจ เฉเจ เจนเฉ เจคเฉ เจเจฒเจฟเจ เจเจฐเฉ, เจเจฟเจธ เจคเฉเจ เจฌเจพเจ
เจฆ เจธเจพเจจเฉเฉฐ เจชเจฒเฉเจธเจ เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจชเฉเจ เจคเฉ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจฎเจพเจธเจเจฐ เจฌเฉเจฐเจพเจเจ เจจเฉเฉฐ เจเจฎเจฟเจ 'เจคเฉ เจ
เฉฑเจชเจกเฉเจ เจเจฐเจจ เจฒเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, 'เจคเฉ เจเจพเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเฉเจเจฟเฉฐเจเจพเจ เจ
เจคเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจฌเจเจพเจ
Webhook URL
(เจเจฟเจฅเจฌ เจเจเจธเจผเจจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจตเฉเจฒเฉ เจธเจพเจจเฉเฉฐ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเจธเจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉ): - เจชเจฟเจเจฒเฉ เจชเฉเจฐเฉ เจคเฉเจ เจธเจเฉเจฐเฉเจจ 'เจคเฉ เจเจเจธเจผเจจ เจซเฉเจฒเจก เจตเจฟเฉฑเจ, เจคเฉเจจเจพเจคเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจธเจเฉเจฐเจฟเจชเจ เจฆเจฐเจ เจเจฐเฉ:
cd {REPOSITORY_ABSOLUTE_PATH} .ci-cd/deploy.sh {ENV} {DOCKER_REGISTRY_HOST} {DOCKER_USER} {DOCKER_PASSWORD} {TG_BOT_TOKEN} {TG_CHAT_ID}
เจเจฟเฉฑเจฅเฉ:
{REPOSITORY_ABSOLUTE_PATH}
- เจธเจฐเจตเจฐ เจเฉฑเจคเฉ เจฌเฉเจเจเจเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจชเฉเจฐเฉเจก เจซเฉเจฒเจกเจฐ เจฆเจพ เจฎเจพเจฐเจ;
{ENV}
- เจตเจพเจคเจพเจตเจฐเจฃ (dev/prod), เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจprod
;
{DOCKER_REGISTRY_HOST}
- เจธเจพเจกเฉ เจกเฉเจเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจฎเฉเจเจผเจฌเจพเจจ
{TG_BOT_TOKEN}
- เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเฉเจ เจเฉเจเจจ;
{TG_CHAT_ID}
- เจธเฉเจเจจเจพเจตเจพเจ เจญเฉเจเจฃ เจฒเจ เจเฉเจ/เจเฉเจจเจฒ เจฆเฉ เจเจ.เจกเฉ.เจธเจเฉเจฐเจฟเจชเจ เจเจฆเจพเจนเจฐเจจ:
cd /var/www/vhosts/helloworld.ru/httpdocs/hw_back/ .ci-cd/deploy.sh dev docker.helloworld.ru docker_user docker_password 12345678:AAbcdEfghCH1vGbCasdfSAs0K5PALDsaw -1001234567890
- เจกเฉเจเจฐ เจธเจฎเฉเจน เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเจพเจนเจเฉ เจคเฉเจ เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจธเจผเจพเจฎเจฒ เจเจฐเฉ (เจคเจพเจ เจเจฟ เจเจน เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐ เจธเจเจฃ):
sudo usermod -aG docker helloworld_admin
เจฌเฉเจเจเจเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจ เจคเฉ เจซเจฐเฉฐเจเจเจเจก เจฒเจ dev เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉเฉฐ เจเจธเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจธเฉเฉฑเจเจ เฉฑเจช เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเจฟเจฅเจฌ เจเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจคเฉเจจเจพเจคเฉ เจชเจพเจเจชเจฒเจพเจเจจ
เจเจ เจเจฟเจฅเจฌ เจเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจธเจพเจกเฉ CI/CD เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจชเจนเจฟเจฒเฉ เจนเจฟเฉฑเจธเฉ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจ เฉฑเจเฉ เจตเจงเฉเจเฅค
เจชเจฟเฉฑเจ เจตเจฐเจคเฉ
เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ เจฆเฉฑเจธเจฟเจ เจเจฟเจ เจนเฉ
เจชเจฐ เจเจธเจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจเจ เจเจฟเจฅเจฌ เจตเจฟเฉฑเจ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจชเจค เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจจเฉเฉฐ เจญเจฐเฉเจเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, 'เจคเฉ เจเจพเจ เจธเฉเจเจฟเฉฐเจเจพเจ -> เจฐเจพเจเจผ:
DOCKER_REGISTRY
- เจธเจพเจกเฉ เจกเฉเจเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจฎเฉเจเจผเจฌเจพเจจ (docker.helloworld.ru);DOCKER_LOGIN
- เจกเฉเจเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐเฉ;DOCKER_PASSWORD
- เจเจธเจฆเจพ เจชเจพเจธเจตเจฐเจก;DEPLOY_HOST
โ เจนเฉเจธเจ เจเจฟเฉฑเจฅเฉ Plesk เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจเจชเจฒเจฌเจง เจนเฉ (เจเจฆเจพเจนเจฐเจจ:helloworld.com : 8443 เจเจพเจ123.4.56.78 :8443);DEPLOY_BACK_PROD_TOKEN
- เจธเจฐเจตเจฐ เจเฉฑเจคเฉ เจชเฉเจฐเฉเจก-เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจคเฉเจจเจพเจคเฉ เจฒเจ เจเฉฑเจ เจเฉเจเจจ (เจธเจพเจจเฉเฉฐ เจเจน เจชเจฒเฉเจธเจ เจชเฉ. 4 เจตเจฟเฉฑเจ เจคเฉเจจเจพเจคเฉ เจตเจฟเฉฑเจ เจฎเจฟเจฒเจฟเจ);DEPLOY_BACK_DEV_TOKEN
- เจธเจฐเจตเจฐ 'เจคเฉ dev เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฒเจ เจคเฉเจจเจพเจคเฉ เจฒเจ เจเฉเจเจจเฅค
เจคเฉเจจเจพเจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจธเจงเจพเจฐเจจ เจนเฉ เจ เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจคเจฟเฉฐเจจ เจฎเฉเฉฑเจ เจเจฆเจฎ เจนเจจ:
- เจธเจพเจกเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฌเจฃเจพเจเจฃเจพ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจเจพ;
- เจเฉฑเจ เจคเจพเจเจผเฉ เจฌเจฃเจพเจ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจ เจงเจพเจฐ เจคเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจฒ เจฐเจนเฉ เจเฉเจธเจ;
- เจธเจผเจพเจเจพ (dev/master) 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉเจ เจฒเฉเฉเฉเจเจฆเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ เจคเฉเจจเจพเจคเฉเฅค
เจ เจเจฐเจพเจเจค
เจธเจพเจเจ เจธเฉเฉฑเจเจ เฉฑเจช
Nginx เจฆเฉเจเจฐเจพ เจเฉเจฐเฉเจซเจฟเจ เจจเฉเฉฐ เจชเฉเจฐเฉเจเจธเฉ เจเจฐเจจเจพ
เจเฉเจฐ, เจ เจธเฉเจ เจ เฉฐเจค เจตเจฟเฉฑเจ เจ เจเจ เจนเจพเจเฅค เจเจน เจธเจฟเจฐเจซเจผ Nginx เจฐเจพเจนเฉเจ เจธเจพเจกเฉ เจเฉฐเจเฉเจจเจฐ 'เจคเฉ เจเจเจฃ เจตเจพเจฒเฉ เจ เจคเฉ เจฌเจพเจนเจฐ เจเจพเจฃ เจตเจพเจฒเฉ เจเฉเจฐเฉเจซเจฟเจ เจฆเฉ เจชเฉเจฐเฉเจเจธเฉ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฒเจ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉเฅค เจ เจธเฉเจ เจเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ เจธเฉเฉฑเจเจ เฉฑเจช เจฆเฉ เจเจฆเจฎ 5 เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจตเจฐ เจเจฐ เจเฉเฉฑเจเฉ เจนเจพเจเฅค dev เจ เจคเฉ prod เจตเจพเจคเจพเจตเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจชเจฟเจเจฒเฉ เจ เจคเฉ เจ เจเจฒเฉ เจญเจพเจเจพเจ เจฒเจ เจเจนเฉ เจฆเฉเจนเจฐเจพเจเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจฎเฉเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฆเฉ เจธเจเฉเจฐเฉเจจเจธเจผเจพเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจพเจเจเจพเฅค
เจชเจฟเฉฑเจ เจตเจฐเจคเฉ
เจ เจเจฐเจพเจเจค
ะฃัะพัะฝะตะฝะธะต ััะพัะฝะตะฝะธะต. เจธเจพเจฐเฉ URL เจจเฉเฉฐ เจซเจฐเฉฐเจเจเจเจก เจเฉฐเจเฉเจจเจฐ เจจเจพเจฒ เจชเฉเจฐเฉเจเจธเฉ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ, เจธเจฟเจตเจพเจ เจเจนเจจเจพเจ เจฆเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจนเฉเจฃ เจตเจพเจฒเฉ /api/
- เจเจนเจจเจพเจ เจจเฉเฉฐ เจชเจฟเจเจฒเฉ เจเฉฐเจเฉเจจเจฐ เจจเจพเจฒ เจชเฉเจฐเฉเจเจธเฉ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ (เจเจธ เจฒเจ เจชเจฟเจเจฒเฉ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ, เจธเจพเจฐเฉ เจนเฉเจเจกเจฒเจฐ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ /api/
).
เจจเจคเฉเจเฉ
เจนเฉเจฃ เจธเจพเจกเฉ เจธเจพเจเจ helloworld.ru เจ เจคเฉ dev.helloworld.ru (เจเฉเจฐเจฎเจตเจพเจฐ prod- เจ เจคเฉ dev-environments) 'เจคเฉ เจเจชเจฒเจฌเจง เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
เจเฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจเฉ, เจ เจธเฉเจ เจธเจฟเฉฑเจเจฟเจ เจเจฟ เจซเจฒเจพเจธเจ เจ เจคเฉ เจเจเจเฉเจฒเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฟเจตเฉเจ เจคเจฟเจเจฐ เจเจฐเจจเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ Plesk เจเจฒเจพ เจฐเจนเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจฐเฉเจฒ เจเจเจ เจเจฐเจจ เจฒเจ เจเจฟเจฅเจฌ เจเจเจธเจผเจจเจเจผ เจตเจฟเฉฑเจ เจเฉฑเจ เจชเจพเจเจชเจฒเจพเจเจจ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจนเฉเฅค
เจฎเฉเจ เจเฉเจก เจจเจพเจฒ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฆเฉ เจฒเจฟเฉฐเจเจพเจ เจฆเฉ เจกเฉเจชเจฒเฉเจเฉเจ เจเจฐเจพเจเจเจพ:
เจธเจฐเฉเจค: www.habr.com