Fedora + Apache + Phusion passenger + Rails 显示默认的 apache 页面(总是)

Fedora + Apache + Phusion passenger + Rails shows default apache page (always)

尽管有大量关于此主题的信息,但我仍然停留在服务器显示的 apache 默认页面 上。更糟糕的是一切似乎都正常工作。

我已经使用 dnf 安装了所有东西,甚至 ruby gems

我正在使用

我安装的软件包

# dnf install nodejs ruby rubygem-rails ruby-devel rubygem-json rubygem-debug_inspector rubygem-byebug rubygem-sqlite3 httpd mod_passenger

乘客配置文件(在@bobomoreno 回答后编辑)

$ cat /etc/httpd/conf.d/passenger.conf
<IfModule mod_passenger.c>
   PassengerRoot /usr/share/passenger//phusion_passenger/locations.ini
   PassengerRuby /usr/bin/ruby
   PassengerEnable on

   <VirtualHost *:80>
       ServerName 10.10.15.219
       ServerAdmin los_true@gmail.com

       DocumentRoot /var/www/html/los_true/public

       ErrorLog /var/log/httpd/tsc-error.log
       CustomLog /var/log/httpd/tsc-access.log common

       RackEnv development

       <Directory /var/www/html/los_true/public>
           Allow from all
           Options -MultiViews
           Require all granted
       </Directory>
   </VirtualHost>
</IfModule>

防火墙工作正常

# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client http https mdns ssh
  ports:
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

SELinux permissive(直到一切正常,然后我将其更改为enforcing)

$ sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      29

Apache 服务器运行出现错误

$ systemctl status -l httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since sáb 2015-11-28 20:41:05 CLT; 24min ago
 Main PID: 25649 (httpd)
   Status: "Total requests: 1; Idle/Busy workers 100/0;Requests/sec: 0.00068; Bytes served/sec:   3 B/sec"
   CGroup: /system.slice/httpd.service
           ├─25649 /usr/sbin/httpd -DFOREGROUND
           ├─25650 /usr/libexec/nss_pcache 1802248 off /etc/httpd/alias
           ├─25671 PassengerWatchdog
           ├─25674 PassengerHelperAgent
           ├─25679 PassengerLoggingAgent
           ├─25689 /usr/sbin/httpd -DFOREGROUND
           ├─25690 /usr/sbin/httpd -DFOREGROUND
           ├─25691 /usr/sbin/httpd -DFOREGROUND
           ├─25692 /usr/sbin/httpd -DFOREGROUND
           ├─25693 /usr/sbin/httpd -DFOREGROUND
           └─25705 /usr/sbin/httpd -DFOREGROUND

nov 28 20:41:04 ip210.15.priv.inf.utfsm.cl systemd[1]: Starting The Apache HTTP Server...
nov 28 20:41:05 ip210.15.priv.inf.utfsm.cl systemd[1]: Started The Apache HTTP Server.

乘客开始并且运行没有列出错误

# cat /var/log/httpd/error_log | grep 'Phusion\|Passenger'
[ 2015-11-28 21:43:34.3687 26203/7f416653f740 agents/HelperAgent/Main.cpp:650 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.26198/generation-0/request
[ 2015-11-28 21:43:34.3807 26209/7ff9a135b840 agents/LoggingAgent/Main.cpp:321 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.26198/generation-0/logging
[ 2015-11-28 21:43:34.3817 26200/7fdd4c2bf740 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
[ 2015-11-28 21:43:34.4808 26223/7fb79dc8d740 agents/HelperAgent/Main.cpp:650 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.26198/generation-1/request
[ 2015-11-28 21:43:34.4912 26229/7f643095a840 agents/LoggingAgent/Main.cpp:321 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.26198/generation-1/logging
[ 2015-11-28 21:43:34.4916 26220/7efd30072740 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
[Sat Nov 28 21:43:34.498645 2015] [mpm_prefork:notice] [pid 26198] AH00163: Apache/2.4.17 (Fedora) mod_auth_gssapi/1.3.0 mod_nss/2.4.16 NSS/3.19.3 Basic ECC mod_wsgi/4.4.8 Python/2.7.10 Phusion_Passenger/4.0.53 configured -- resuming normal operations

# cat /var/log/httpd/tsc-error.log
#

Rails 应用程序正常运行(在本地机器上测试过,运行良好)

$ cd /var/www/html/los_true
$ ./bin/bundle install
Using rake 10.4.2
Using i18n 0.7.0
...
Using web-console 2.2.1
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
$ ./bin/rake db:migrate
$

所以我真的不知道我做错了什么。关于 passenger 只有一件奇怪的事情,它说那不是 运行 但它可以很好地重定向 public 文件夹(我可以看到 *.html 文件位于 public文件夹,如果我把它们放在 URL,例如 http://10.10.15.219/404.html

$ passenger-status 
ERROR: Phusion Passenger doesn't seem to be running.

所以,如果有人知道这里的问题是什么,请帮助我 :c 因为我真的不知道还能做什么

看来你不见了

passenger_enabled on;

在您的虚拟主机定义中

终于找到了这个问题link :'D

原来是autoindex模块的万恶之源。如果您注释行

...
LoadModule autoindex_module modules/mod_autoindex.so
...

/etc/httpd/conf.modules.d/00-base.conf 中并删除文件 autoindex.conf

# mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.conf.bak

您将使轨道视图正常工作:')