0

我的rails 3.2.8应用程序正在使用ruby1.8.7并且运行良好。最近,我将ruby版本升级到1.9.3,导致服务器崩溃。我更新了所有 gem 以与 ruby​​ 的最新版本兼容。但从那时起,apache 就不再运行我的应用程序了。如果我运行 rails webrick 服务器,则可以使用 IP 地址和端口访问站点。但是使用域名无法访问它,因为 Apache 的配置似乎不正确。之前挺好的,没换什么的。我刚刚升级了Ruby。有人知道我在这里缺少什么吗?请帮忙。

apache配置文件如下。

apache2.conf

LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
  StartServers          5
  MinSpareServers       5
  MaxSpareServers      10
  MaxClients          150
  MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_worker_module>
  StartServers          2
  MinSpareThreads      25
  MaxSpareThreads      75 
  ThreadLimit          64
  ThreadsPerChild      25
  MaxClients          150
  MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_event_module>
  StartServers          2
  MinSpareThreads      25
  MaxSpareThreads      75 
  ThreadLimit          64
  ThreadsPerChild      25
  MaxClients          150
  MaxRequestsPerChild   0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
  Order allow,deny
  Deny from all
  Satisfy all
</Files>
DefaultType None
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
Include mods-enabled/*.load
Include mods-enabled/*.conf
Include httpd.conf
Include ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r..

test.myapplication.com

<VirtualHost *:80>

  ServerName test.myapplication.com

  ServerAlias XX.XX.XX.X/mytest

  DocumentRoot /home/XXXX/public_html/public 

  ErrorLog /var/log/apache2/XXXXX_errors.log

  LogLevel warn

  CustomLog /var/log/apache2/XXXXX_access.log combined

  SetEnv RAILS_ENV production

  <Directory /home/XXXXX/public_html/public>

    Allow from all

    Options -MultiViews

  </Directory>

</VirtualHost>
4

1 回答 1

1

我猜你需要更新 apache 配置才能使用新的 ruby​​。

所以在你的 apache conf 中你应该有这样的东西:

LoadModule passenger_module /usr/lib/ruby/gems/1.9.2@rails3/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2
PassengerRuby /usr/bin/ruby1.9.2

你应该只需要修复路径..

于 2013-03-04T15:27:42.697 回答