Tag: Passenger

目次

関連ページ

参考情報

基本情報

  • RailsをApache2やNginxで動かすためのモジュール。

準備

CentOS 7の場合

  • 事前に以下のものをインストールしておく。
    sudo yum -y install git sqlite sqlite-devel httpd-devel curl-devel apr-devel apr-util-devel libffi-devel openssh

インストール

  • passengerのgemをインストール
    gem install passenger
  • Apache用のモジュールをインストール
    passenger-install-apache2-module 

Tips

サブディレクトリで運用する

  • RailsBaseURIをDirectoryの前に書く必要あり?
    RailsBaseURI /foo
    <Directory /home/www/foo/public>
      allowoverride all
      options -multiviews
    </Directory>
    
    RailsBaseURI /bar
    <Directory /home/www/bar/public>
      allowoverride all
      options -multiviews
    </Directory>
    
    
  • ドキュメントルート(例えば/var/www)以下にシンボリックリンクを貼る。
    cd /var/www/html 
    ln -s /home/www/foo/public foo

サブディレクトリで運用したときにアイコンフォントが表示されない問題

複数バージョンを使い分ける

とりあえずのまとめ

  • rbenvのどれかのバージョンで以下のコマンドを実行
    $ gem install passenger
    $ passenger-install-apache2-module
  • httpd.confに、passenger-install-apache2-moduleの最後に表示された文字列をコピペする。
    LoadModule passenger_module /Users/sora/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/passenger-4.\
    0.59/buildout/apache2/mod_passenger.so
    <IfModule mod_passenger.c>
        PassengerRoot /Users/sora/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/passenger-4.0.59
        PassengerDefaultRuby /Users/sora/.rbenv/versions/2.2.1/bin/ruby
    </IfModule>
    
  • VirtualHostごとにPassengerRubyでRubyのバージョンを指定する。
    <VirtualHost *>
        PassengerRuby /Users/sora/.rbenv/versions/2.2.3/bin/ruby
        ServerName is.home.jp
        ServerAdmin webmaster@is.home.jp
        DocumentRoot /Users/sora/work/idea-stocker/public
        <Directory "/Users/sora/work/idea-stocker/public">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
        ErrorLog logs/is_error.log
        LogLevel warn
        CustomLog logs/is_acces.log combined
    </VirtualHost>
    
    <VirtualHost *>
        PassengerRuby /Users/sora/.rbenv/versions/2.2.2/bin/ruby
        ServerName milk.home.jp
        ServerAdmin webmaster@is.home.jp
        DocumentRoot /opt/home/milkode/public
        PassengerHighPerformance on
        SetEnv MILKODE_DEFAULT_DIR /opt/home/milkode/data
        <Directory "/opt/home/milkode/public">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
        ErrorLog logs/milk_error.log
        LogLevel warn
        CustomLog logs/milk_acces.log combined
    </VirtualHost>
    
    

トラブルシューティング

rails s: Could not find rake-10.4.2 in any of the sources

  • 複数バージョンのRubyをRailsアプリごとに設定しているのが原因。
  • どれかでうまくアプリが起動してないと、正常にいくほうのはずでもエラーになる模様。

OS X El Capitan+Xcode 7.3でクラッシュ

Passenger Unexpected error in mod_passenger: Cannot connect to Unix socket


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-25 (火) 22:19:48 (697d)