![](/img/trans.png)
[英]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.