回答編集履歴
3
追記
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 等のことだと思いますが、
|
|
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 周りを追加
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
追記
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)
|