使用 nginx 在 Linux 本地部署 Httpresponder
Deploying Httpresponder locally in Linux using nginx
我对 Rails 上的 Ruby 很陌生。我被要求从 git(没有 Heroku)在本地部署 httpresponder。
这是 git 存储库的 link:
https://github.com/aaronlerch/respond-to-it
我按照这里的教程来指导我:
以下文字是我在testapp.config文件中插入的内容:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/respond-to-it-master/public
RailsEnv development
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/rails/testapp/public">
Options FollowSymLinks
Require all granted
</Directory>
当我重新启动 Apache 时,出现以下错误:
cannot load such file -- bundler/setup (LoadError)
/usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Error ID
769d7537
看来问题出在我安装的 Ruby 上。
我找到了解决问题的办法。我必须将 gemfiles 更新为正确的 ruby 和 json 版本。
然后我必须进行捆绑安装。
以下是我遵循的步骤:
导航到源代码所在位置:
cd /var/www/html/respond-to-it-master/
需要将Gemfile中的ruby版本改为电脑安装的版本:
sudo nano Gemfile
更新版本号如下:
ruby '2.3.0'
保存文件(CTRL+X、Y、ENTER)。
现在更新ruby实现的json版本:
sudo nano Gemfile.lock
更新版本号如下:
json (1.8.3)
运行 以下命令安装整个包:
sudo bundle install
现在网络应用程序将 运行 在本地。
我对 Rails 上的 Ruby 很陌生。我被要求从 git(没有 Heroku)在本地部署 httpresponder。
这是 git 存储库的 link: https://github.com/aaronlerch/respond-to-it
我按照这里的教程来指导我:
以下文字是我在testapp.config文件中插入的内容:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/respond-to-it-master/public
RailsEnv development
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/rails/testapp/public">
Options FollowSymLinks
Require all granted
</Directory>
当我重新启动 Apache 时,出现以下错误:
cannot load such file -- bundler/setup (LoadError)
/usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Error ID
769d7537
看来问题出在我安装的 Ruby 上。
我找到了解决问题的办法。我必须将 gemfiles 更新为正确的 ruby 和 json 版本。 然后我必须进行捆绑安装。
以下是我遵循的步骤:
导航到源代码所在位置:
cd /var/www/html/respond-to-it-master/
需要将Gemfile中的ruby版本改为电脑安装的版本:
sudo nano Gemfile
更新版本号如下:
ruby '2.3.0'
保存文件(CTRL+X、Y、ENTER)。 现在更新ruby实现的json版本:
sudo nano Gemfile.lock
更新版本号如下:
json (1.8.3)
运行 以下命令安装整个包:
sudo bundle install
现在网络应用程序将 运行 在本地。