Có bao nhiêu mã ruby đề cập đến việc phân phát nội dung tĩnh ra khỏi công chúng? Liệu nó đi qua các ứng dụng đường ray ở tất cả? Nó có sử dụng Rack::Static không?Rails phân phối nội dung tĩnh ra khỏi công chúng như thế nào?
Trả lời
Đường ray không sử dụng Rack::Static
, nó có phiên bản riêng, ActionDispatch::Static
. Bạn sẽ thấy nó nếu bạn chạy rake middleware
.
Điều này chỉ được thêm vào ngăn xếp trung gian Rails if config.serve_static_assets
is true. Cài đặt này defaults to true, nhưng mặc định được tạo ra config/environments/production.rb
turns if off. Ý tưởng là trong quá trình phát triển, bạn có một quy trình đơn giản mà bạn có thể chạy và kiểm tra mọi thứ đang hoạt động và hiệu suất không phải là vấn đề, nhưng khi bạn triển khai sản xuất, bạn cấu hình máy chủ web của mình (thường là Apache hoặc Nginx) để phục vụ các tệp tĩnh vì nó tốt hơn nhiều so với Ruby.
Nếu bạn sử dụng Heroku, ngăn xếp Cedar mới nhất của chúng không sử dụng máy chủ web riêng biệt cho các tệp tĩnh, do đó, một phần của deploy process chúng tiêm Rails plugin to serve static assets. Tất cả plugin này đều được đặt serve_static_assets
thành true.
Điều đó tùy thuộc. Nếu bạn đang sử dụng một cái gì đó như phusion passenger để chạy ứng dụng của bạn, hành vi mặc định của nó là sử dụng Apache trực tiếp và bỏ qua các đường ray cho bất kỳ nội dung tĩnh nào. Nếu bạn đang sử dụng webrick (máy chủ đường ray), nó sẽ sử dụng rất nhiều đường ray/mã rack để thực hiện việc phục vụ tĩnh. Một lưu ý, nếu bạn đang sử dụng apache/nginx với hành khách: trong chế độ sản xuất, vì mặc định là để cho apache phục vụ tất cả nội dung tĩnh, bạn sẽ cần chạy rake assets:precompile
trên ứng dụng trước khi khởi chạy nó trong apache hoặc nội dung tĩnh không được đặt ở nơi cần apache để có được nó nhanh chóng và trong một hình thức sẵn sàng.
- 1. Cách phân phối nội dung tĩnh từ tomcat
- 2. Nginx phân phối nội dung tĩnh và proxy tới apache
- 3. nginx không phân phát nội dung tĩnh trong Rails 3
- 4. Lý thuyết: Có thể/khả thi để phân phối nội dung tĩnh thông qua Websockets?
- 5. Thiết lập DTAP thích hợp để Phân phối Nội dung
- 6. Bảo vệ nội dung công khai/trong ứng dụng Rails
- 7. cách tạo VirtualHost để chỉ phân phát nội dung tĩnh
- 8. Phân phối Nội dung chi tiết: được mã hóa
- 9. Xóa bộ nhớ cache khỏi đường ống nội dung Rails
- 10. Cách phân phối nội dung từ một assembly khác
- 11. Nội dung tĩnh gzip nhanh
- 12. Google phân phối kết quả nhanh như thế nào?
- 13. Làm cách nào để phân phối nội dung không bị chặn của CGI từ Apache 2?
- 14. Google nhận ra nội dung người lớn bằng tìm kiếm an toàn như thế nào?
- 15. Đường ray: Tuyến đường để phân phát nội dung tĩnh (như .jpgs, v.v?)
- 16. Gettext xử lý nội dung động như thế nào?
- 17. Cách tốt nhất để phân phối nội dung cho CDN bằng Django là gì?
- 18. Cung cấp nội dung trên tên miền phụ 'tĩnh'
- 19. Cần chi tiết về API để tùy chỉnh Phân phối nội dung Tridion
- 20. tĩnh (iPhone) thư viện, phân phối, và phụ thuộc
- 21. Nginx - tệp tĩnh phân phối nhầm lẫn với root & alias
- 22. jquery như thế nào để có được nội dung dán
- 23. Dỡ bỏ/Xóa nội dung khỏi iFrame
- 24. Rails 3.1, loại trừ các tệp JS khỏi đường ống nội dung
- 25. C# HttpWebReqest - thoát khỏi nội dung POST?
- 26. Nội dung của thư viện tĩnh
- 27. Làm cách nào để cập nhật nội dung phân đoạn khỏi hoạt động (chế độ xem)?
- 28. Các công cụ khám phá nội dung, như Zemanta và Open Calais hoạt động như thế nào?
- 29. Phân phối nội bộ - ios sdk
- 30. phân tích nội dung khỏi cấu trúc trong tệp nhị phân