日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RubyOnRails终极部署

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RubyOnRails终极部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近寫了好多個ror的項目,學校的博物館主頁,招生就業處的網站,學生公寓管理中心的網站,還有一個fancy book項目,在線書籍編輯平臺,fancy hit,是工大的類fancy平臺,叫二手實在是太土了。geek云集的地方,彼此交流是必要的嘛。

但是,這么多項目,在我的服務器上只能用端口形式,不是很憋屈嗎。于是我開了多個二級域名。打算將他們都部署起來。無奈passenger是個很難整的組件,好在現在我解決了。

passenger怎么實現的我是不清楚。

總之 需要先 gem install passenger 安裝passenger的組件

之后是?passenger-install-nginx-module 安裝nginx

但是,平時開發是在development的環境下的。。passenger只能部署項目的production版本

于是我們需要在 在 config/database.yml 添加下production版本的配置


之后需要

bundle exec rake RAILS_ENV=production db:create

bundle exec rake RAILS_ENV=production db:migrate

將production的數據庫創建,并改變表結構


這是其實production的配置已經完成了


說下nginx 下server的配置項,在/path/nginx/conf/nginx.conf 中修改配置文件,添加如下:

? ?server {
? ? ? listen 80;
? ? ? server_name mrpeach.me;
? ? ? root /home/cain/bookwiki/public; ? # <--- be sure to point to 'public'!
? ? ? passenger_enabled on;
? ?}

這里我是將我的bookwiki項目給部署了。所以有注釋那行的路徑大家應該能看懂。


之后改下.bash_profile 添加

# restart nginx
alias startnginx='sudo /home/cain/nginx/sbin/nginx'
alias killnginx='sudo kill `cat /home/cain/nginx/logs/nginx.pid`'
alias restartnginx='killnginx; startnginx'

這樣以后在console里就能 用 restartnginx 快速重啟nginx了。是不是很high。alias是命令重寫,可以簡單組合bash代碼變成一條新命令,很方便的


這時訪問我的域名 mrpeach.me 會出現something wrong的錯誤。

于是我去看了下位于 bookwiki/log/production.log 的log文件,發現說

ActionView::Template::Error (application.css isn't precompiled):

這是因為此時,rails已經不全是運行時加載了。里面的全局設置項,類似于全局css文件,都是編譯過的了。

所以我將 config/environments/production.rb 里的配置項

config.assets.compile = true 改成如上那樣,意思就是字面意思。

保存后運行

bundle exec rake assets:precompile 就ok啦

這時終端下 restartnginx重啟 nginx。。再訪問就沒有問題了。


關于用passenger部署,我折騰了好久才搞明白。其實它就是不能部署development。要是早發現這點,就不用妄廢我那么多時間精力了。

總結

以上是生活随笔為你收集整理的RubyOnRails终极部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。