Ruby on rails nginx和乘客don';不处理静态资产
我让rails应用程序与helpfull nginx和passenger一起运行,我想添加静态页面(conteins代码覆盖率分析工具-simplecov)。 在本地,这可以正常工作(没有乘客),但在服务器上不起作用。 My nginx.conf:Ruby on rails nginx和乘客don';不处理静态资产,ruby-on-rails,nginx,passenger,Ruby On Rails,Nginx,Passenger,我让rails应用程序与helpfull nginx和passenger一起运行,我想添加静态页面(conteins代码覆盖率分析工具-simplecov)。 在本地,这可以正常工作(没有乘客),但在服务器上不起作用。 My nginx.conf: #user nobody; worker_processes 1; events { worker_connections 1024; #speed up for linux 2.6+ use epoll;
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
#speed up for linux 2.6+
use epoll;
}
http {
passenger_root /home/demo/.rvm/gems/ruby-1.9.3-p0@gm/gems/passenger-3.0.9;
passenger_ruby /home/demo/.rvm/wrappers/ruby-1.9.3-p0@gm/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name *.dev.mysite.com;
root /var/www/projects/mysite/qa/current/public;
passenger_enabled on;
rails_env qa;
charset utf-8;
error_log /var/www/projects/mysite/qa/shared/log/host.error.log;
}
#Coverage code tool (SimpleCov gem)
server {
listen 4444;
server_name coverage.mysite.com;
location / {
root /var/lib/jenkins/jobs/WebForms/workspace/coverage;
index index.html index.htm;
}
}
#Yard server
server {
listen 5555;
server_name yard.mysite.com;
location / {
proxy_pass http://127.0.0.1:8808;
}}}
当我尝试访问coverage.mysite.com:4444时,没有收到任何消息。我记得在我的一个rails应用程序中遇到类似的情况 您是否尝试过注释和取消注释下面的行
# in config/environments/production.rb
# Specifies the header that your server uses for sending files
#config.action_dispatch.x_sendfile_header = "X-Sendfile"
# For nginx:
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
它应该靠近顶部,在第12到16行附近
试试看,然后在浏览器中重新部署和测试