2014-09-01 68 views
0

我在本地的本地Linux Debian 6上創建了這個網站,路徑爲/HOME/ADMIN/WWW/WEBSTUDIO,我需要將它發佈到我的虛擬服務器上。如何將Ruby on Rails網站預編譯爲生產模式?

是「預編譯」的實際單詞嗎?我知道命令'rails server',但這顯然不是一樣的,因爲它不會對PUBLIC文件夾進行任何更改。

我想我必須先將我的目錄結構轉移到服務器(已經有Apache2和ISPCONFIG3),並且我已經做了所有事情,至於它如何是described here,但它並沒有告訴如何將您的網站放入並預編譯爲產品模式。

那麼程序是什麼?只有基本的步驟。

+1

在服務器終端,從項目的根目錄運行'RAILS_ENV =生產耙資產:precompile' – RAJ 2014-09-01 11:53:17

+0

真的?而已???謝謝!我會嘗試的!任何文件需要任何改動?就像我現在不記得的某些文件上的mode = PRODUCTION一樣。 – 2014-09-01 12:20:14

+0

不,只需運行命令http://stackoverflow.com/a/25606016/1047207 – RAJ 2014-09-01 12:38:29

回答

0

當您爲您的短期運行開始或rails serverrails s軌道服務器

precompilation不是代碼,它是爲資產(css,js,字體,圖像等),rails將所有cssjs編譯成一個文件,以減少加載網站所需的http請求數量。

此外,如果您正在使用scssless或任何需要處理的文件將在預編譯過程中完成,並且如果任何gem包含資產,它將被複制到公用文件夾。

的預編譯命令在其他的答案/評論提到是

rake assets:precompile 
+0

嗨,感謝您的信息!所以在文件夾PUBLIC下不會有(例如)index.html文件。最終是否必須運行'rails server'命令?所以基本上我只需要做別的事情,但運行服務器,讓它成爲? – 2014-09-01 14:41:07

+0

好的,我按照上面的寫法做了,但現在我的網站只能在www.web-studio.fi:3000上獲得,也就是說,我需要定義端口號,但是如何使我的網站直接可用www.web-studio.fi?所以人們不必定義端口號3000?我的網站是否仍然處於發展模式?如果是這樣,我該如何改變? – 2014-09-01 14:44:40

+0

好吧,我檢查了現場,你似乎使用Apache是​​,所以你可以看看乘客模塊,https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html – 2014-09-01 14:48:07

0

在服務器端,從項目的根目錄,運行:

RAILS_ENV=production rake assets:precompile 
+0

好的,我剛剛做了這個,然後運行'rails server',但現在我的網站只能在www.web-studio.fi:3000上獲得,也就是說,我需要定義端口但是我怎樣才能使我的網站直接在www.web-studio.fi後面?所以我們不需要定義端口號3000?我的網站是否仍然處於開發模式?如果是的話,我該如何改變它? 我會盡快接受答案;) – 2014-09-01 14:48:14

+0

@TommiTiihonen這與您的服務器(nginx/apache)設置有關。關閉這個問題後,你應該添加另一個問題與它的相關細節... – RAJ 2014-09-01 15:15:29