Debian 7 中的 Passenger Nginx Rails 无法正常工作

Debian 7 中的 Passenger Nginx Rails 无法正常工作

我已经按照官方文档安装了 Phusion Passenger:

https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#install_on_debian_ubuntu

执行以下步骤:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https ca-certificates
sudo touch /etc/apt/sources.list.d/passenger.list
sudo vi /etc/apt/sources.list.d/passenger.list

添加了这个:

deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main

进而

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update

sudo apt-get 安装 nginx-extras 乘客-y

复制的路径返回/usr/bin/passenger-config --root 并附加passenger_root/etc/nginx/nginx.conf

sudo service nginx restart
sudo gem install passenger
sudo passenger-install-nginx-module

sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults

然后重新启动nginx。

我有我的 rails 应用程序/opt/www/app.co/app(使用 mina 部署)。并在 中添加了app.co符号/etc/nginx/sites-available链接sites-enabled,并配置了服务器块(/etc/nginx/sites-available/app.co),如下所示:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    root /opt/www/app.co/app/public;
    passenger_enabled on;
    server_name localhost;
}

/opt/nginx/conf/nginx.conf看起来像这样:>

worker_processes 1;
事件 {
worker_connections 1024;
}

http {
passenger_root /var/lib/gems/1.91./gems/passenger-4.0.53;passenger_ruby
/home/deployer/.rvm/rubies/ruby-2.1.5/bin/ruby;
包括 mime_types;
default_type application/octet-stream;
sendfile on;
keepalive-timeout 65;

服务器 {
             听80;
             服务器名称本地主机;
             根/opt/www/app.co/app/public;
             乘客已启用;
      }
  }

尽管进行了这些配置,但始终会加载默认的 nginx 页面

尝试编辑位于的 nginx 默认页面

/opt/nginx/html/index.html /usr/share/nginx/www/index.html>

但没有区别,始终是默认页面。

sudo 乘客状态显示:

版本 :4.0.53
日期 :2014-12-11 04:43:20 -0600
实例:22618
----------- 一般信息 -----------
最大池大小 :6
进程 :0
顶层队列中的请求 :0

----------- 应用组 -----------

sudo 乘客记忆统计显示:

------------- Apache 进程 -------------
警告:找不到 Apache 可执行文件。
请将 APXS2 环境变量设置为“apxs2”可执行文件的文件名,或将
HTTPD 环境变量设置为“httpd”或“apache2”可执行文件的文件名。

---------- Nginx 进程 -----------
PID PPID VMSize 私有名称
--------------------------------------
22618 1 112.0 MB 0.2 MB nginx:主进程 /usr/sbin/nginx
22620 22618 112.3 MB 0.5 MB nginx:工作进程
22621 22618 112.3 MB 0.5 MB nginx:工作进程
22623 22618 112.3 MB 0.5 MB nginx:工作进程
22624 22618 112.3 MB 0.5 MB nginx:工作进程
进程数:5
总私有脏 RSS:2.09 MB

----- 乘客进程 -----
PID VMSize 私人名称
-------------------------------
22600 25.6 MB 0.3 MB PassengerWatchdog
22603 109.3 MB 0.3 MB PassengerHelperAgent
22612 145.0 MB 0.9 MB PassengerLoggingAgent
进程:3
总计私人脏 RSS:1.54 MB

使用以下命令停止 nginx:sudo service nginx stop

但仍然是默认页面。我这里遗漏了什么吗?!

请给我一些意见,告诉我如何纠正这个问题并配置我的 rails 应用程序。

答案1

应该root指向你的 Rails 应用程序的public目录,而不是它的app目录。

    root /opt/www/app.co/public;

相关内容