Làm cách nào để thay đổi ứng dụng Rails của tôi chạy ở chế độ sản xuất? Có một tập tin cấu hình, environment.rb ví dụ, để làm điều đó?Thay đổi ứng dụng Rails thành sản xuất
Trả lời
Nếu mipadi's suggestion không hoạt động, thêm video này vào config/environment.rb
# force Rails into production mode when
# you don't control web/app server and can't set it the proper way
ENV['RAILS_ENV'] ||= 'production'
Cảm ơn bạn !!! Giúp tôi rất nhiều. –
Còn các dịch vụ đám mây như Heroku thì sao? Có thể 'ENV ['RAILS_ENV'] || = 'production'' cũng được áp dụng cho chúng? – Green
nó không hoạt động trên đường ray 4 – franzlorenzon
Bạn cũng có thể vượt qua môi trường để script/server:
$ script/server -e production
Nếu bạn đang chạy trên Passenger, sau đó mặc định là chạy trong sản xuất, trong confache của bạn conf:
<VirtualHost *:80>
ServerName application_name.rails.local
DocumentRoot "/Users/rails/application_name/public"
RailsEnv production ## This is the default
</VirtualHost>
Nếu bạn chỉ cần chạy một máy chủ địa phương với thú lai hoặc webrick, bạn có thể làm:
./script/server -e production
hoặc trong bash:
RAILS_ENV=production ./script/server
thực sự trọng hằng RAILS_ENV trong enviornment.rb có lẽ nên được phương sách cuối cùng của bạn, vì nó có lẽ sẽ không ở lại định sẵn (xem another answer tôi cung cấp trên đó)
tại Đây sẽ là
rails server -e production
Hoặc, nhỏ gọn hơn
rails s -e production
Nó hoạt động cho đường ray 3+ dự án.
hoặc phiên bản ngắn 'đường ray s -e production' –
Còn các dịch vụ đám mây như Heroku thì sao? Làm thế nào để chạy 'server -e production' trên chúng? – Green
Dịch vụ đám mây thường có các tùy chọn để chỉ định môi trường, nhưng trong đó 'sản xuất' luôn luôn là mặc định. –
Trong Rails 3
Thêm Rails.env = ActiveSupport::StringInquirer.new('production')
vào application.rb và rails s
sẽ làm việc giống như rails server -e production
module BlacklistAdmin
class Application < Rails::Application
config.encoding = "utf-8"
Rails.env = ActiveSupport::StringInquirer.new('production')
config.filter_parameters += [:password]
end
end
Nó không phải là một cách tốt để chạy đường ray máy chủ trong môi trường sản xuất bởi "rails server -e production", bởi vì các đường ray chạy dưới dạng một ứng dụng đơn luồng và chỉ có thể phản hồi một yêu cầu HTTP tại một thời điểm.
Các bài viết hay nhất về môi trường sản xuất cho đường ray là Production Environments - Rails 3
Liên kết thối ... có sẵn trên máy mặc định: [link] (http://web.archive.org/web/20121022083645/http:// ofps.oreilly.com/titles/9780596521424/production_id35801033.html) – rosuav
$> export RAILS_ENV=production
Hãy chắc chắn rằng bạn đã làm dưới đây trong tập tin environment.rb của bạn.
ENV [ 'RAILS_ENV'] || = 'sản xuất'
Nếu bạn ứng dụng chạy trong môi trường lưu trữ chia sẻ hoặc phushion hành khách, bạn có thể cần phải cần thực hiện thay đổi trong .httaccess (bên trong thư mục công cộng) và đặt chế độ làm sản xuất.
cho máy chủ mặc định: đường ray s -e production
cho cổng máy chủ costum: rails s -p [port] -e production, ví dụ: ray s -p 3002 -e sản xuất
rails s -e production
Điều này sẽ chạy máy chủ với RAILS_ENV
= 'production'
.
Ngoài ra bạn cần phải thiết lập đường dẫn tài sản trong production.rb
config.serve_static_assets = true
Nếu không có tài sản này của bạn sẽ không được nạp.
Xin lỗi ... đã bỏ phiếu xuống khi có nghĩa là để upvote. Thực hiện chỉnh sửa nhỏ để sửa lỗi và upvote. – tomd
Như những người khác đã viết bài: rails server -e production
Hoặc, fave cá nhân của tôi: RAILS_ENV=production
rails s
RAILS_ENV=production rails s
HOẶC
rails s -e production
By môi trường mặc định là Phát triển.
- 1. Nên raise_delivery_errors được đặt thành true trong ứng dụng Rails sản xuất?
- 2. Ứng dụng Rails không phân phối tài sản trong môi trường sản xuất
- 3. Rails 3/PhoneGap: Chuyển đổi ứng dụng Rails thành ứng dụng Phonegap iOS?
- 4. Thay đổi ngẫu nhiên các sự cố với Rails 3.1 trong sản xuất
- 5. Rails javascript_include_tag 4 tạo "/ javascript /" thay vì "/ tài sản" trong sản xuất
- 6. Định cấu hình ứng dụng Rails 4 để sản xuất trong thư mục con theo Apache
- 7. Sequelize: Thay đổi sơ đồ mô hình về sản xuất
- 8. Gỡ lỗi trên máy chủ sản xuất trong Rails
- 9. Giám sát các ứng dụng dựa trên web sản xuất
- 10. Chạy trang web Rails: phát triển vs sản xuất
- 11. Xô S3 khác nhau cho ứng dụng dàn dựng và ứng dụng sản xuất
- 12. Cordova/Phonegap thay đổi www thành ứng dụng
- 13. Bàn điều khiển Rails sản xuất sẽ không bắt đầu
- 14. Rails môi trường sản xuất phá vỡ với chu kỳ
- 15. Gỡ lỗi một ứng dụng trong sản xuất
- 16. Corona SDK sản xuất iPhone kích thước ứng dụng
- 17. Tôi nên đăng nhập vào ứng dụng sản xuất
- 18. Tài sản không tải trong sản xuất cho ứng dụng đường ray
- 19. DAT.gui - sản xuất sẵn sàng thay thế
- 20. Thay đổi tên ứng dụng trong Eclipse
- 21. Heroku tự động thay đổi các biến RAILS_ENV và RACK_ENV thành "sản xuất" trên mỗi lần triển khai
- 22. Rails 3 http_basic_authenticate_with chỉ trong môi trường sản xuất?
- 23. Cách thay đổi ứng dụng bảng điều khiển thành ứng dụng biểu mẫu cửa sổ?
- 24. Đề xuất dịch vụ thuế cho ứng dụng Rails?
- 25. Rails: phân biệt dàn dựng từ sản xuất
- 26. Logging trong Ruby on Rails trong sản xuất Chế độ
- 27. Tách các ứng dụng Angularjs và Rails thành các thành phần độc lập
- 28. Thay đổi Tab Hiện tại trong Rails
- 29. Bạn thay đổi dữ liệu ứng dụng Rails của mình như thế nào?
- 30. Làm việc trên ứng dụng Rails cũ
Dường như câu trả lời thứ hai có nhiều phiếu bầu hơn, bạn có sẵn sàng cho đánh giá nhanh này và chấp nhận câu trả lời thứ hai trừ khi bạn có bất kỳ vấn đề nào với nó. Sẽ chỉ giúp khách truy cập trong tương lai. Thx :) – Evolve