我已经按照官方文档安装了 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;