尝试在 CentOS 6.8 上使用 Apache 和 Passenger 设置 Rails 5 应用程序

尝试在 CentOS 6.8 上使用 Apache 和 Passenger 设置 Rails 5 应用程序

我很新,所以这就是我所做的:

我开发了我的 Rails 应用程序,如果我使用rails s命令运行它,它可以正常工作,但我想从我的局域网中的其他设备访问我的应用程序(或者甚至在我家外面时),apache 服务器正在使用我已经运行的旧笔记本“运行”,24/7我已经将其用作ssh服务器,因此我遵循了以下指南:http://www.rabblemedia.net/blog/installing-rvm-ruby-on-rails-and-passenger-on-centos-6/

我不知道我是否做错了什么,根据我的说法,我只是按照指南中的方法做了,但是当我尝试通过我的 CentOS 的 IP 从另一台设备访问我的 Web 应用程序时,我只得到了Err_Connection_Timed_Out,我不知道应该放什么信息所以我会放一些我认为重要的信息:

  • 我的CentOS的本地IP是192.168.0.53

  • 主机名是:vmcentos

  • 我的应用程序的路线是/var/www/calendar

  • service httpd status返回:httpd (pid 1196) is running...

除此之外:

/etc/httpd/conf.d/passenger.conf文件的内容如下:

        PassengerRoot /home/patricio/.rvm/gems/ruby-2.3.3@calendar/gems/passenger-5.0.30
        PassengerDefaultRuby /home/patricio/.rvm/gems/ruby-2.3.3@calendar/wrappers/ruby
</IfModule>
### End automatically installed Phusion Passenger config snippet ###

# Deploying a web application: an example

# Suppose you have a web application in /somewhere. Add a virtual host to
# your Apache configuration file and set its DocumentRoot to /somewhere/public:
#
#    <VirtualHost *:80>
#       ServerName www.yourhost.com
#       # Be sure to point to 'public'!
#       DocumentRoot /somewhere/public
#       <Directory /somewhere/public>
#          # Relax Apache security settings
#          AllowOverride all
#          # MultiViews must be turned off
#          Options -MultiViews
#       </Directory>
#    </VirtualHost>

我的项目的配置文件位于此路由和文件中,/etc/httpd/sites-enabled/calendar.conf并包含以下内容:

<VirtualHost *:80>
        ServerName vmcentos
        DocumentRoot /var/www/calendar/public
        ErrorLog /var/log/httpd/calendar/error.log
        CustomLog /var/log/httpd/calendar/access.log common

        <Directory /var/www/calendar/public>
                AllowOverride all
                Options -MultiViews
                Require all granted
        </Directory>
</VirtualHost>

最后/etc/httpd/conf/httpd.conf我补充道:

Include sites-enabled/*.conf
  • netstat -tulpn | less返回:

在此处输入图片描述

  • passenger-status返回:

在此处输入图片描述

我不确定可能是什么问题,但我的应用程序没有加载,欢迎任何形式的帮助或评论!!!

答案1

抱歉,我还没有完全理解这一点,我最近才开始学习 ruby​​。但文档根目录不应该是项目的根目录,而目录不应该指向公共目录吗?就像

 DocumentRoot /var/www/calendar/

 <Directory /var/www/calendar/public>
            AllowOverride all
            Options -MultiViews
            Require all granted
    </Directory>

我在另一个网站上找到了这个配置,在 ubuntu/debian 系统上使用 Passenger 和 apache2

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /home/rails/testapp/public
RailsEnv development
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/rails/testapp/public">
    Options FollowSymLinks
    Require all granted
</Directory>

相关内容