- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我刚刚将 Capistrano 部署到带有 Linux Server (14.04)、Nginx、PHP5-FPM(用于 phpMyAdmin)、MySQL、Passenger 的服务器上。
一切正常,但是当我尝试从浏览器访问 Rails 应用程序时出现错误。我去检查了 Log Nginx,我得到了以下信息:
App 15973 stdout:
App 15973 stderr: [passenger_native_support.so] trying to compile for the current user (deploy) and Ruby interpreter...
App 15973 stderr: (set PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0 to disable)
App 15973 stderr: Warning: compilation didn't succeed. To learn why, read this file:
App 15973 stderr: /tmp/passenger_native_support-a97tab.log
App 15973 stderr: [passenger_native_support.so] not downloading because passenger wasn't installed from a release package
App 15973 stderr: [passenger_native_support.so] will not be used (can't compile or download)
App 15973 stderr: --> Passenger will still operate normally.
App 16021 stdout:
然后:
$cat /tmp/passenger_native_support-a97tab.log
# current user is: deploy
# mkdir -p /usr/lib/buildout/ruby/ruby-2.2.1-x86_64-linux
Encountered permission error, trying a different directory...
-------------------------------
# mkdir -p /home/deploy/.passenger/native_support/5.0.26/ruby-2.2.1-x86_64-linux
# cd /home/deploy/.passenger/native_support/5.0.26/ruby-2.2.1-x86_64-linux
# /home/deploy/.rbenv/versions/2.2.1/bin/ruby /usr/lib/src/ruby_native_extension/extconf.rb
/home/deploy/.rbenv/versions/2.2.1/bin/ruby: No such file or directory -- /usr/lib/src/ruby_native_extension/extconf.rb (LoadError)
这是怎么回事?
这是我的 Nginx 默认文件:
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
# root /usr/share/nginx/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.php index.nginx-debian.html;
server_name _;
passenger_enabled on;
rails_env development;
root /home/deploy/highschool/current/public;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
还有我的 Nginx.conf
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Phusion Passenger config
##
# Uncomment it if you installed passenger or passenger-enterprise
##
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /home/deploy/.rbenv/shims/ruby;
# passenger_ruby /usr/bin/passenger_free_ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
我将 RBENV 用于 Ruby 版本。
对不起我的英语。
最佳答案
我找到了解决方案。
在我的服务器中,我将以下命令运行到我的 Rails 应用程序中:$ passenger-config build-native-support
。编译正确并向我展示了 ruby_native_extension/extconf.rb
或 ruby_native_extension
目录的真实路径。
我只创建一个从/usr/lib/src/
到ruby_native_extension
目录的符号链接(symbolic link),然后重启Nginx。
当我这样做时,错误消失了,但是登录(设计)不起作用,总是出现 404 错误。因此,(如果发生任何情况)我专门为路线 sign_in 添加了一些行。
在我的 Nginx 默认文件中,我添加了以下内容:
location /users/sign_in {
passenger_enabled on
}
并编辑:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
passenger_enabled on
try_files $uri $uri/ =404;
}
通过这些更改,我的 Rails 应用程序正在运行。
关于ruby-on-rails - Nginx/Passenger 的 Rails 应用程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858696/
sanitize 是什么意思在 Rails 中是什么意思? 我正在阅读 CanCanCan 的文档.它说: When using strong_parameters or Rails 4+, you
在过去的几个月里,我感觉自己对 Ruby on Rails (RoR) 开发的了解达到了极限。我为大/小客户和 friend /爱好项目开发了大大小小的应用程序。我知道如何开发这些应用程序,但开始感觉
我昨天参加了一个关于扩展 Rails 的聚会,其中一个主题是 Hexagonal Rails。然而,我只做了一年的 Rails,对 MVC 结构非常满意(也许太舒服了),所以我不太了解适配器和消息队列
我使用多个 Rails 应用程序,一些在 Rails 3.2/Ruby 2.0 上,一些在 Rails 2.3/Ruby 1.8.7 上。 他们的共同点是,随着他们的成长和添加更多的依赖项/ gem
这个问题在这里已经有了答案: Using Rails-UJS in JS modules (Rails 6 with webpacker) (5 个答案) 关闭 3 年前。 我正在尝试使用 UJS
我正在开发一个当前使用 Rails 1.2 的 Rails 应用程序,所以我现在离最新的稳定版本(Rails 2.3)还有很长的路要走。 我应该如何进行迁移到更新版本的 Rails 的过程? 我应该一
尝试按照 Ryan Bates Backbone.js 教程构建抽奖应用程序,但我已经遇到了第一段代码的问题。在 application.js 的 init 函数中,他初始化了 Raffler 路由的
我正在使用 Rails 3.2 并且我有一个数据库表,我想在其中找到符合以下条件的所有行: a = true and b = true and ( 0 true, :b =>
我有一个用户类和一个联系人,其中联系人是用户的子类。这两个类都存储在用户表中。 我的联系人可能有也可能没有电子邮件地址,而我的用户需要一个电子邮件地址(我的用户模型定义中有 validates_pre
我正在编写一个教程,我在其中演示了一些 rails 命令。在我的机器上 rails和 script/rails两者都同样有效。有“首选”形式吗?两者中哪一个更普遍? 最佳答案 当您运行 rails 时
我正在寻找有关通过我的应用程序前进的最佳方式的建议,这是我首次开始集成Elasticsearch。我是一名初学者,但是热衷于深入研究,以便原谅任何明显的错误! 我遵循了http://www.sitep
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我有 Rails 4,这是我的默认版本(我仍然希望它是)。但我不想在我的电脑上添加 rails 3.2。在以下命令中:gem install rails -v 3.2.16 我有这个警告: railt
您好,我想使用 Sheevaplug 构建一个“Rails Brick”来自 Marvell(操作系统是开箱即用的 Ubuntu,但您可以在其上安装其他发行版)。它将成为家庭服务器和静音、低成本(99
我需要能够从 Rails 控制台发送我的 Rails 应用程序的 Postgres 数据库中所有未接受的邀请。 (我有一个名为 Invitations 的表,其中包含一个名为 accepted 的 b
validate :cannot_modify_if_locked, on: :update def cannot_modify_if_locked if self.locked erro
我正在学习教程(学习 Rails 播客),需要更改以下路由语法,以便它与 Rails 3.0 兼容。谁能帮忙? map.view_page ':name', :controller => 'viewe
我是一名优秀的程序员,十分优秀!