TRANG CHỦ
CHUYÊN MỤC
HỌC HỎI
TAG
ABOUT
Tìm kiếm
Cách triển khai Ruby on Rails với Puma
2024-09-27 19:59:57
Puma
Deploy
85 lượt xem
0 bình luận
Để triển khai Ruby on Rails với Puma, bạn có thể thực hiện theo các bước sau: ### Bước 1: Thêm Puma vào Gemfile Mở file Gemfile và thêm dòng sau: ``` gem 'puma' ``` Sau đó, chạy lệnh để cài đặt: ``` bundle install ``` ### Bước 2: Cấu hình Puma Tạo file cấu hình cho Puma: ``` touch config/puma.rb ``` Mở file `config/puma.rb` và thêm cấu hình cơ bản: ``` # số lượng worker processes workers Integer(ENV['WEB_CONCURRENCY'] || 2) # số lượng thread cho mỗi worker threads_count = Integer(ENV['MAX_THREADS'] || 5) threads threads_count, threads_count # port và môi trường port ENV.fetch("PORT") { 3000 } environment ENV.fetch("RAILS_ENV") { "development" } # preload ứng dụng preload_app! on_worker_boot do # thiết lập lại ActiveRecord cho mỗi worker ActiveRecord::Base.establish_connection if defined?(ActiveRecord) end ``` ### Bước 3: Chạy Puma Chạy server bằng lệnh sau: ``` bundle exec puma -C config/puma.rb ``` ### Bước 4: Triển khai lên Production 1. Tạo file systemd (nếu sử dụng Linux): Tạo một file service để quản lý Puma. Ví dụ, tạo file `/etc/systemd/system/puma.service`: ``` [Unit] Description=Puma HTTP Server After=network.target [Service] Type=simple User=your_user WorkingDirectory=/path/to/your/app ExecStart=/usr/local/bin/bundle exec puma -C /path/to/your/app/config/puma.rb Restart=always [Install] WantedBy=multi-user.target ``` 2. Khởi động và enable service: ``` sudo systemctl start puma sudo systemctl enable puma ``` ### Bước 5: Cấu hình Reverse Proxy (nếu cần) Nếu bạn muốn chạy Puma phía sau Nginx, bạn cần cấu hình Nginx để chuyển tiếp yêu cầu tới Puma. Ví dụ: ``` server { listen 80; server_name your_domain.com; root /path/to/your/app/public; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` ### Bước 6: Kiểm tra và Tối ưu hóa Kiểm tra xem Puma đang chạy và hoạt động bình thường. Đảm bảo tối ưu hóa số lượng worker và thread dựa trên tài nguyên của server. Với các bước này, bạn sẽ có một ứng dụng Ruby on Rails chạy trên Puma. Chúc bạn thành công.
Tag:
Ruby
Gợi ý bài viết liên quan
Tăng hiệu xuất Ruby on Rails bằng JRuby và Puma chạy trên Ubuntu
Cách triển khai Ruby on Rails với Puma