我很新,所以这就是我所做的:
我开发了我的 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>