質問するログイン新規登録

回答編集履歴

3

追記

2019/03/29 01:02

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -16,8 +16,14 @@
16
16
  Passenger を使うのであれば、 `rails s -e production` は、実行する必要ありません。
17
17
  Rails のファイルをディレクトリにデプロイして、Passenger の設定をした apache を再起動するだけで、OKです。
18
18
 
19
- Apacheの設定ですが、3行のコードというのは、Load_Module 等のことだと思いますが、それ以外に Rails アプリに対応するドメインの設定で、下記の設定が必要です。
19
+ Apacheの設定ですが、3行のコードというのは、下記の Load_Module 等のことだと思いますが、
20
20
  ```
21
+ LoadModule passenger_module /usr/local/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
22
+ PassengerRoot /usr/local/gems/passenger-5.1.8
23
+ PassengerDefaultRuby /usr/local/bin/ruby
24
+ ```
25
+ それ以外に Rails アプリに対応するドメインの設定で、下記の設定が必要です。
26
+ ```
21
27
  DocumentRoot "/var/www/rails-app/public"
22
28
  <IfModule mod_passenger.c>
23
29
  PassengerEnabled on
@@ -32,4 +38,17 @@
32
38
  ```
33
39
  RemoveHandler .cgi .php
34
40
  ```
35
- も必要かもしれません。
41
+ も必要かもしれません。
42
+
43
+ ----
44
+
45
+ Apache を起動する際に ログファイルで、Passenger の起動メッセージが出ていることを確認して、Passenger が有効になっているか確認してください。(日付等省略)
46
+
47
+ ```
48
+ Starting Passenger core...
49
+ Passenger core running in multi-application mode.
50
+ Passenger core online, PID 13300
51
+ Starting Passenger UstRouter...
52
+ Passenger UstRouter online, PID 13311
53
+ [pid 13216] AH00163: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 SVN/1.7.14 PHP/7.2.15 Phusion_Passenger/5.1.8 configured -- resuming normal operations
54
+ ```

2

Passenger 周りを追加

2019/03/29 01:02

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -2,4 +2,34 @@
2
2
 
3
3
  Apache の mod_proxy をインストールして `ProxyPass ` や `ProxyPassReverse ` を設定をして、リバースプロキシで接続するか Passenger を入れる等の方法で、 Apache と Rails を接続する必要があります。
4
4
 
5
- [Apache モジュール mod_proxy](https://httpd.apache.org/docs/2.4/ja/mod/mod_proxy.html)
5
+ [Apache モジュール mod_proxy](https://httpd.apache.org/docs/2.4/ja/mod/mod_proxy.html)
6
+
7
+ ----
8
+
9
+ > 回答ありがとうございます。passengerのインストールは済んでいます。
10
+ > $ passenger-install-apache2-moduleのコマンドを実行して その中のコード3行を /etc/httpd/conf.d/passenger.conf にコピーした所まで設定は完了しています。
11
+ > その後 $ rails s -e production としてもなにもかわりませんでした。
12
+ > ApacheとRailsを接続する設定をどこで設定すればいいのでしょうか?
13
+
14
+ Passenger をインストール済みなんですね。
15
+
16
+ Passenger を使うのであれば、 `rails s -e production` は、実行する必要ありません。
17
+ Rails のファイルをディレクトリにデプロイして、Passenger の設定をした apache を再起動するだけで、OKです。
18
+
19
+ Apacheの設定ですが、3行のコードというのは、Load_Module 等のことだと思いますが、それ以外に Rails アプリに対応するドメインの設定で、下記の設定が必要です。
20
+ ```
21
+ DocumentRoot "/var/www/rails-app/public"
22
+ <IfModule mod_passenger.c>
23
+ PassengerEnabled on
24
+ RailsEnv production
25
+ RailsBaseURI /
26
+ </IfModule>
27
+ ```
28
+ 特に `PassengerEnabled on` を記載しないと Passenger は動きません。
29
+
30
+
31
+ また、設定の状況によっては、
32
+ ```
33
+ RemoveHandler .cgi .php
34
+ ```
35
+ も必要かもしれません。

1

追記

2019/03/29 00:51

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -1,3 +1,5 @@
1
1
  Rails が `http://0.0.0.0:3000` で、起動していて、apache は、80 で待ち受けているですが、Apache と Rails の間がつながっていないですね。
2
2
 
3
- Apache の mod_proxy をインストールして `ProxyPass ` や `ProxyPassReverse ` を設定をして、リバースプロキシで接続するか Passenger を入れる等の方法で、 Apache と Rails を接続する必要があります。
3
+ Apache の mod_proxy をインストールして `ProxyPass ` や `ProxyPassReverse ` を設定をして、リバースプロキシで接続するか Passenger を入れる等の方法で、 Apache と Rails を接続する必要があります。
4
+
5
+ [Apache モジュール mod_proxy](https://httpd.apache.org/docs/2.4/ja/mod/mod_proxy.html)