Triển khai Rails với Capistrano, Docker, Nginx, Puma (Phần 1)

Tram Ho

1. Chuẩn bị server bằng Docker Container

a. Tạo server

Server áp dụng cho bài viết này thực chất là một container chạy trên image ubuntu thôi nhé, còn bạn nào mua server clound thì có thể bỏ qua bước này.

  • Đầu tiên chúng ta phải cài được docker

  • Khởi tại một container với image là ubuntu:

  • Kiểm tra xem container đã khởi tạo thành công chưa bằng câu lệnh phía dưới:

=> Nếu như thấy có tên container vừa tạo là chúng ta đã xong bước tạo server bằng docker rồi nhé

b. Tạo tài khoản deploy trên server

  • Ở bài viết này mình tạo 1 user với tên là deploy, mn có thể tạo tên khác tùy ý

  • Thêm user vừa tạo deploy vào sudo group

  • Truy cập vào user deploy

=> Đến đây là đã tạo xong user deploy

c. SSH giữa local vào server

a) Setup SSH

  • Ở phía local:
  • Ở phía cap_server
    • Cài đặt openssh-server:

    • Thêm ssh key vào server:

  • Thêm public key chúng ta vừa cat ở trên vào server cap_server:
    • Mở file ~/.ssh/authorized_keys

    • Copy paste public key vào file ~/.ssh/authorized_keys
    • Save và thoát file

b) Kết nối với cap_server bằng ssh

  • Để kết nối được với cap_server chúng ta phải biết được địa chỉ IP của server đó, bài viết này chúng ta dùng container để tạo server thì cách lấy thông tin IP của server mn làm như dưới nhé:

Và địa chỉ IP server của mình là 172.17.0.2, các bạn nhớ địa chỉ IP server của máy mình để phục vụ cho việc deploy phía dưới nhé

  • Thử ssh vào cap_server

-> Trường hợp mà bạn dùng public key khác thì có thể thêm option -i vào nhé:

Hôm nay mình dừng lại ở đây nhé. Bài sau mình sẽ tiếp tục phần deploy bằng capistrano.
Mn có vấn đề gì trong các bước ở trên thì cmt vào để cùng thảo luận nhé.
Happy coding!

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo