[英]do I have to restart apache after updating ruby in order to make passenger restart?
[英]Why do I have to restart apache to properly refresh a Ruby on Rails view in the browser?
我正在尝试学习一些Ruby。 我已经在Ubuntu机器上安装了Ruby,并且正在使用apache。 一切正常,除了刷新视图外,我必须在控制台中重新启动apache,然后按ctrl-r,仅按ctrl-r不会刷新浏览器。
显然有一些缓存正在进行,但是是否一定要这样,即Ruby on Rails是否固有? 我尝试对此进行谷歌搜索,但似乎唯一的答案是安装一些冗长的例程。 对于开发而言,这似乎是很乏味的方法。
Apache是开发的绝佳选择。
只需安装旅客(mod_rails)...并按照说明进行操作...
我为每个站点设置了它,以便/ etc / hosts包含
127.0.0.1 myapp
我在这样的条目中使用Apache虚拟主机-在/ etc / apache2 / sites-available / myapp中
<VirtualHost *:80>
ServerName myapp
DocumentRoot /path/to/myapp/public
RailsEnv development
RailsAllowModRewrite off
<directory "/path/to/myapp/public">
Order allow,deny
Allow from all
</directory>
</VirtualHost>
启用并重新启动
sudo a2ensite myapp
sudo /etc/init.d/apache2 restart
这样,就没有正在运行的脚本/服务器...它始终以开发人员模式运行-只需将浏览器指向http:// myapp
不要将apache用于开发模式。 使用脚本/服务器并安装mongrel gem(sudo gem install mongrel)。 Mongrel比WEBrick快,并将开发日志转储到运行它的控制台中。 它使发展得体。
在诸如Rails这样的情况下,Apache并不是一个很好的开发选择,因为您确实需要在每次更改代码时都重新启动服务器。 Rails附带了自己的开发服务器,您可以通过执行(IIRC)脚本/服务器来启动。 它更适合于开发,因为它不需要每次更改后都重新启动。
我将Apache与Passenger(aka modrails)一起用于开发目的,在这里工作正常。 只需通过在httpd.conf中设置“ RailsEnv开发”来确保在开发模式下使用Rails。
我将Apache与mod_fcgid一起使用。 我发现
$ touch ${MYAPP}/tmp/restart.txt
每次我希望重新加载应用程序时,对我来说都是有效的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.