#1 楼 @shinefine 不是的,这个 monthly 是指月报,有很多其它的统计指标关联着,所以 monthly 还是要保留的。,月报下面还有周报 weekly,weekly 下面有个人周报 personal_weekly,personal_weekly 下面有 overtimes(加班明细)。 当然你说直接建立 monthly_overtimes,增加一个 month 的字段去标记是哪个月,也是可以的。但即使是直接关联,不用 nest_attributes, 好像我还是想不到怎样在一个页面一个表格中,批量修改同一个 model 的 N 行数据。糊涂了。你有哪些资料可以推荐一下吗? 谢谢了:)
#1 楼 @hz_qiuyuanxin #2 楼 @flowerwrong #3 楼 @bestjane #18 楼 @jimrokliu 终于解决啦,谢谢各位:)
#13 楼 @flowerwrong #18 楼 @jimrokliu 额,我手动把 database.yml 复制到 shared 下了…… 是复制不是移动,因为 rails 本身好像是会回到原来的 config 位置找的,另外设置貌似也有点复制,我就先让它同时存在了,这样好吗?
#13 楼 @flowerwrong #18 楼 @jimrokliu 现在执行的命令应该是
cap production deploy:check:linked_files
提示的是:
file /var/www/weekly.com/shared/config/database.yml does not exist
我手动复制过去好吗?还是说应该在哪里设置一下的?
#13 楼 @flowerwrong
另外,my_property: :my_value,这句是干什么的?
我不知道从哪抄了句:
server 'xxx.xxx.xxx.xxx', user: 'root', roles: %w{web app db}, primary: true
但我也不知道 primary: true 是干什么的……
#13 楼 @flowerwrong 终于前进了一点点。 现在发现之前的两三个小问题,一个是
set :rvm_custom_path, '/usr/local/rvm' # only needed if not detected
而我本来的地址可能写的不对,写了"/usr/local/rvm/bin/rvm"
另一个是
set :rvm_ruby_version, '2.1.2' # Defaults to: 'default'
我原来写的是 '2.1.2p95'
现在提示的新问题是:
ERRORlinked file /var/www/weekly.com/shared/config/database.yml does not exist on xxx.xxx.xxx.xxx
cap aborted!
但哪个放在 share 难道不应该是 capinstrano 自己搞的吗?我要自己复制过去?
#13 楼 @flowerwrong 终于前进了一点点。 现在发现之前的两三个小问题,一个是
set :rvm_custom_path, '/usr/local/rvm' # only needed if not detected
而我本来的地址可能写的不对,写了"/usr/local/rvm/bin/rvm"
另一个是
set :rvm_ruby_version, '2.1.2' # Defaults to: 'default'
我原来写的是 '2.1.2p95'
现在提示的新问题是:
ERRORlinked file /var/www/weekly.com/shared/config/database.yml does not exist on xxx.xxx.xxx.xxx
cap aborted!
但哪个放在 share 难道不应该是 capinstrano 自己搞的吗?我要自己复制过去?
#13 楼 @flowerwrong 终于前进了一点点。 现在发现之前的两三个小问题,一个是
set :rvm_custom_path, '/usr/local/rvm' # only needed if not detected
而我本来的地址可能写的不对,写了"/usr/local/rvm/bin/rvm"
另一个是
set :rvm_ruby_version, '2.1.2' # Defaults to: 'default'
我原来写的是 '2.1.2p95'
现在提示的新问题是:
ERRORlinked file /var/www/weekly.com/shared/config/database.yml does not exist on xxx.xxx.xxx.xxx
cap aborted!
但哪个放在 share 难道不应该是 capinstrano 自己搞的吗?我要自己复制过去?
#10 楼 @flowerwrong 请教一下,deploy/production.rb 中
server 'xxx.xxx.xxx.xxx',
user: 'root',
roles: %w{web app},
ssh_options: {
user: 'root', # overrides user setting above
keys: %w(/Users/yebiying/.ssh/yby),
forward_agent: false,
auth_methods: %w(publickey password)
# password: 'please use keys'
}
那个 keys , 是写的本机的私钥的地址,还是服务器中 publickey 的地址?
是 capfile 吧?加了的
# Load DSL and Setup Up Stages
require 'capistrano/setup'
# Includes default deployment tasks
require 'capistrano/deploy'
# Includes tasks from other gems included in your Gemfile
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano/passenger'
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
但 deploy.rb 中,
# set :rvm_type, :system # Defaults to: :auto
set :rvm_ruby_version, '2.1.2p95'
set :rvm_roles, [:app, :web, :db]
在 deploy/production.rb 中
server 'xxx.xxx.xxx.xxx',
user: 'root',
roles: %w{web app},
ssh_options: {
user: 'root', # overrides user setting above
keys: %w(/Users/yebiying/.ssh/yby),
forward_agent: false,
auth_methods: %w(publickey password)
# password: 'please use keys'
}
主要我还是没看出是哪里有错,
SSHKit::Runner::ExecuteError: Exception while executing on host xxx.xxx.xxx.xxx: ruby exit status: 2
好像都 google 不到 status:2 是指什么……
#8 楼 @flowerwrong 不懂怎么玩啊。反正我现在按说服务器里刚已经 git pull , 并 bundle install,已经用了 cap 3 了。我还 touch tmp/restart.txt,如果平时手动更新也就这么个步骤了吧?
但还是同样出错。
$ cap production deploy:check --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke rvm:hook (first_time)
** Execute rvm:hook
DEBUG[e614ad80] Running /usr/bin/env [ -d ~/.rvm ] on xxx.xxx.xxx.xxx
DEBUG[e614ad80] Command: [ -d ~/.rvm ]
DEBUG[e614ad80] Finished in 5.743 seconds with exit status 1 (failed).
DEBUG[ad2818c3] Running /usr/bin/env [ -d /usr/local/rvm ] on xxx.xxx.xxx.xxx
DEBUG[ad2818c3] Command: [ -d /usr/local/rvm ]
DEBUG[ad2818c3] Finished in 1.495 seconds with exit status 0 (successful).
** Invoke rvm:check (first_time)
** Execute rvm:check
DEBUG[88e3ae89] Running /usr/local/rvm/bin/rvm version on xxx.xxx.xxx.xxx
DEBUG[88e3ae89] Command: /usr/local/rvm/bin/rvm version
DEBUG[88e3ae89] rvm 1.25.34 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
DEBUG[88e3ae89] Finished in 1.899 seconds with exit status 0 (successful).
rvm 1.25.34 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
DEBUG[ef7d1ca6] Running /usr/local/rvm/bin/rvm current on xxx.xxx.xxx.xxx
DEBUG[ef7d1ca6] Command: /usr/local/rvm/bin/rvm current
DEBUG[ef7d1ca6] ruby-2.1.2
DEBUG[ef7d1ca6] Finished in 1.519 seconds with exit status 0 (successful).
ruby-2.1.2
DEBUG[8e5f9ffa] Running /usr/local/rvm/bin/rvm 2.1.2p95 do ruby --version on xxx.xxx.xxx.xxx
DEBUG[8e5f9ffa] Command: /usr/local/rvm/bin/rvm 2.1.2p95 do ruby --version
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host xxx.xxx.xxx.xxx: ruby exit status: 2
ruby stdout: Nothing written
ruby stderr: Nothing written
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/command.rb:97:in `exit_status='
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:148:in `block (5 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `call'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `do_request'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:561:in `channel_request'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:269:in `wait'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:170:in `block (3 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `call'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:545:in `channel_open_confirmation'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:172:in `block (2 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:186:in `with_ssh'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:131:in `block in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:128:in `tap'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:128:in `_execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:77:in `capture'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:11:in `block (3 levels) in <top (required)>'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
SSHKit::Command::Failed: ruby exit status: 2
ruby stdout: Nothing written
ruby stderr: Nothing written
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/command.rb:97:in `exit_status='
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:148:in `block (5 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `call'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:551:in `do_request'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:561:in `channel_request'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:269:in `wait'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:170:in `block (3 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `call'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:545:in `channel_open_confirmation'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in `preprocess'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:in `process'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `block in loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in `loop'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:172:in `block (2 levels) in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:186:in `with_ssh'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:131:in `block in _execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:128:in `tap'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:128:in `_execute'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:77:in `capture'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:11:in `block (3 levels) in <top (required)>'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/yebiying/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/sshkit-1.5.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => rvm:check
#6 楼 @flowerwrong 我本机的已经是 cap 3 了。服务器的我这两天 commit 的没有更新,那看来我在第一次用 cap 之前,还是得先手动更新下次? 我现在进服务器手动 git pull 最新代码了。
#3 楼 @bestjane #2 楼 @flowerwrong 已经在服务器加上我本机的 SSH KEY,因为我现在输入 ssh [email protected],不用密码就能直接进入服务器了。 可是,运行
cap production deploy:check
会出现
DEBUG[9b8c96d0] Running /usr/bin/env [ -d ~/.rvm ] on xxx.xxx.xxx.xxx
DEBUG[9b8c96d0] Command: [ -d ~/.rvm ]
DEBUG[9b8c96d0] Finished in 25.961 seconds with exit status 1 (failed).
DEBUG[2447555d] Running /usr/bin/env [ -d /usr/local/rvm ] on xxx.xxx.xxx.xxx
DEBUG[2447555d] Command: [ -d /usr/local/rvm ]
DEBUG[2447555d] Finished in 6.133 seconds with exit status 0 (successful).
DEBUG[7985b73b] Running /usr/local/rvm/bin/rvm version on xxx.xxx.xxx.xxx
DEBUG[7985b73b] Command: /usr/local/rvm/bin/rvm version
DEBUG[7985b73b] rvm 1.25.34 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
DEBUG[7985b73b] Finished in 7.365 seconds with exit status 0 (successful).
rvm 1.25.34 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
DEBUG[dcd2a0bb] Running /usr/local/rvm/bin/rvm current on xxx.xxx.xxx.xxx
DEBUG[dcd2a0bb] Command: /usr/local/rvm/bin/rvm current
DEBUG[dcd2a0bb] ruby-2.1.2
DEBUG[dcd2a0bb] Finished in 7.068 seconds with exit status 0 (successful).
ruby-2.1.2
DEBUG[b8c3e406] Running /usr/local/rvm/bin/rvm 2.1.2p95 do ruby --version on xxx.xxx.xxx.xxx
DEBUG[b8c3e406] Command: /usr/local/rvm/bin/rvm 2.1.2p95 do ruby --version
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host xxx.xxx.xxx.xxx: ruby exit status: 2
ruby stdout: Nothing written
ruby stderr: Nothing written
SSHKit::Command::Failed: ruby exit status: 2
ruby stdout: Nothing written
ruby stderr: Nothing written
Tasks: TOP => rvm:check
没看懂这是哪里出错了……
牛!简洁清晰易懂,赞!
#2 楼 @flowerwrong 我平时 push 代码到 github,bitbucket 都是用 SSH 的。服务器之前 pull 代码也是用 SSH 通过验证的。不过我没试过从自己机子到服务器用 SSH,我折腾下……
#1 楼 @serco #2 楼 @flowerwrong 谢谢:)
看标题就感觉好牛 X 了!
哥们开玩笑吧?周四下午,谁有时间去啊?为什么不是周末啊? 本来挺感兴趣的,一看这时间,O 了……
封面不好,但内页更清晰更清新,明显又是移动优先的设计了。https://rubygems.org/gems/capistrano
#20 楼 @hanluner 不能在原有 nginx 上加 module,你看这段
Nginx is a different from other web servers in that it does not support loadable modules. The only way to extend Nginx is to recompile it entirely from source. Since Phusion Passenger consists of some external executables plus an Nginx module, you must recompile Nginx when first installing Phusion Passenger, but also when upgrading Nginx itself or when upgrading the Phusion Passenger version.
If you’ve already installed Nginx before, but without Phusion Passenger support, then you should uninstall it first. You don’t have to, because you can also install another Nginx with Phusion Passenger support, in parallel to the existing Nginx. We merely recommend uninstalling the existing in order to avoid user confusion, but the choice is yours.
#1 楼 @although2013 #2 楼 @kungs #4 楼 @floger #11 楼 @Rei #17 楼 @cassiuschen
解决啦,谢谢各位:)