繁体   English   中英

从同一Nginx和乘客处提供rails,php和static

[英]serving rails, php and static from the same nginx and passenger

我想从同一个nginx中提供rails,php和static html,如下所示:

  • example.com-点击php
  • example.com/app-触手可及
  • example.com/static-达到静态

这种情况可能是暂时的(有时可能会拆分到多个服务器),所以我想避免更改代码(将范围或名称空间添加到Rails路由-我希望Rails将“ example.com/app”视为根)。

我的nginx.conf应该是什么样的?

将乘客文档中的页面用作参考,并尝试了以下操作:

server {
  server_name example.com;
  listen 80;

  root /var/www/php;

  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;

  location ~ ^/app(/.*|$) {
    alias /var/www/rails/current/public$1;

    access_log    /var/www/rails/current/log/access.log;
    error_log     /var/www/rails/current/log/error.log;

    passenger_base_uri /app;
    passenger_app_root /var/www/rails;
    passenger_document_root /var/www/rails/currnet/public;
    passenger_enabled on;
    passenger_app_env production;
    passenger_friendly_error_pages on;
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.5@app/wrappers/ruby;

    client_max_body_size 4G;
    keepalive_timeout 10;
  }
}

但我得到“找不到”

我差点说对了。 我输入了错误的passenger_base_uri。 这终于对我有用:

server {
  server_name example.com;
  listen 80;

  root var/www/php;

  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;

  location ~^/app(/.*|$) {
    alias /var/www/rails/current/public$1;

    access_log    /var/www/rails/current/log/access.log;
    error_log     /var/www/rails/current/log/error.log;

    passenger_base_uri /app;
    passenger_app_root /var/www/rails/current;
    passenger_enabled on;
    passenger_app_env production;
    passenger_friendly_error_pages on;
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.5@app/wrappers/ruby;
  }

  client_max_body_size 4G;
  keepalive_timeout 10;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM