rails部署

production中key缺失問題

#該問題在部署nginx的時(shí)候會呈現(xiàn)出如下的表現(xiàn)形式
Incomplete response received from application

rails secret RAILS_ENV=production #生成key
#復(fù)制上面的值纽什,粘貼到config/secret.yml中相應(yīng)的production位置

production環(huán)境下樣式缺失問題

#config/initializers/assets.rb中添加/app/assets/中所有的js和css樣式,包括其他格式
#例子:
Rails.application.config.assets.precompile += %w( 
application.css article.scss  )

mac下進(jìn)行passenger和nginx部署

#步驟1:相關(guān)軟件和依賴
ruby2.3.0;rvm;xcode;rails5.0.0
#新建一個(gè)項(xiàng)目nginx_demo,并且啟動
rails new nginx_demo
rails s

#步驟2:安裝passenger和nginx
passenger是一個(gè)app server置尔,支持基于Rack框架的 Ruby app(包括 Rails)
因?yàn)镹ginx不支持動態(tài)module載入趋惨,所以需要通過Passenger來自動下載,編譯酷宵,安裝由Passenger修改版的Nginx

gem install passenger #gem 安裝 passenger
passenger-install-nginx-module #安裝nginx
安裝nginx注意兩個(gè)問題
1.選擇步驟1
2.填寫路徑:/usr/local/nginx

將nginx命令行程序連接到/usr/local/bin
sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin

#步驟3:配置Nginx + Passenger + Rails
修改hosts文件亥贸,給你的項(xiàng)目一個(gè)本地域名, 比如nginx_demo
$ sudo vim /etc/hosts
127.0.0.1 nginx_demo

測試hosts
$ ping nginx_demo


配置Nginx, 這里我給出一個(gè)最小可運(yùn)行的Nginx配置文件
$ vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events { worker_connections 1024;}
http { 
  passenger_root /Users/jayzen/.rvm/gems/ruby-2.3.0-p290/gems/passenger-3.0.10; 
  passenger_ruby /Users/jayzen/.rvm/wrappers/ruby-2.3.0-p290/ruby; 

  include mime.types; 
  default_type application/octet-stream; sendfile on; 
  keepalive_timeout 65; 
  
  server { 
    listen 80; 
    server_name nginx_demo; 
    root /Users/jayzen/workshop/nginx/public; 
    passenger_enabled on;
    rails_env development; }
}


測試Nginx的配置文件語法是否正確
$ sudo nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

啟動Nginx
$ sudo nginx

如何在修改Nginx的配置文件后,讓Nginx載入新配置
$ sudo nginx -s reload

如何停止Nginx
$ sudo nginx -s stop

如何在不停Nginx的情況下浇垦,重新啟動Passenger
$ cd workshop/nginx_demo
$ touch tmp/restart.txt

#訪問
http://nginx_demo

阿里云遠(yuǎn)程連接ubuntu

獨(dú)立IP地址是:120.26.141.56
mac(linux)登錄ubuntu方式:ssh root@120.26.141.56

window登錄ubuntu方式:使用putty軟件:
ip如上所示炕置,端口號是22,登錄方式是ssh,登錄的用戶名是root

阿里云中安裝nginx和運(yùn)行

登錄
#更新軟件源
apt-get update
#安裝nginx
apt-get -y install nginx
#查看nginx的運(yùn)行狀態(tài)
service service status

#查看nginx運(yùn)行文件存放位置
vim /etc/nginx/sites-enabled/default
可知存放文件在此位置:root /usr/share/nginx/html #將需要運(yùn)行的文件放置此位置

ubuntu14.04使用passenger和nginx部署rails

第一步:安裝rvm ruby2.3.0 rails5.0.0
注意的問題是.bashrc中添加相關(guān)代碼以啟動rvm

第二步:安裝passenger和nginx
#導(dǎo)入passenger密匙
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
#安裝 apt 插件以支持 https 傳輸:
sudo apt-get install apt-transport-https ca-certificates
#添加 apt 源(對應(yīng) Ubuntu 14.04 LTS):
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
#安裝 Passenger 的包:
sudo apt-get install nginx-extras passenger

第三步:修改配置文件
#/etc/nginx/nginx.conf中添加下面兩行到http中
#這會打開 Passenger 支持男韧,并且指定使用之前用 rvm 安裝的 ruby 版本
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /home/deploy/.rvm/wrappers/default/ruby;

#刪除和新建配置
rm /etc/nginx/sites-enabled/default
touch /etc/nginx/sites-enabled/example.com.conf

#example.com.conf添加如下代碼
server {
    listen 80 default;
    server_name example.com; # 這里填寫你真實(shí)域名
    root /var/www/example.com/current/public; #current是項(xiàng)目名稱
    passenger_enabled on;
    passenger_app_env production;#模式就是production,這里可以省略
}

#current項(xiàng)目需要進(jìn)行如下操作
bundle install
#生成production環(huán)境下的數(shù)據(jù)庫
RAILS_ENV=production rake db:create db:migrate
#樣式編譯
rake assets:precompile
#添加key到config/sercret.yml的production中
rails secret RAILS_ENV=production

第四步:添加root路由和重啟nginx
#config/routes.rb
root to: 'homes/index'
#重啟nginx
sudo service nginx restart
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朴摊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子此虑,更是在濱河造成了極大的恐慌甚纲,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寡壮,死亡現(xiàn)場離奇詭異贩疙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)况既,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門这溅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人棒仍,你說我怎么就攤上這事悲靴。” “怎么了莫其?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵癞尚,是天一觀的道長。 經(jīng)常有香客問我乱陡,道長浇揩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任憨颠,我火速辦了婚禮胳徽,結(jié)果婚禮上积锅,老公的妹妹穿的比我還像新娘。我一直安慰自己养盗,他們只是感情好缚陷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著往核,像睡著了一般箫爷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上聂儒,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天虎锚,我揣著相機(jī)與錄音,去河邊找鬼薄货。 笑死翁都,一個(gè)胖子當(dāng)著我的面吹牛碍论,可吹牛的內(nèi)容都是我干的谅猾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼鳍悠,長吁一口氣:“原來是場噩夢啊……” “哼税娜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起藏研,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤敬矩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蠢挡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弧岳,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年业踏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了禽炬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡勤家,死狀恐怖腹尖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伐脖,我是刑警寧澤热幔,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站讼庇,受9級特大地震影響绎巨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蠕啄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一场勤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦却嗡、人聲如沸舶沛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽如庭。三九已至,卻和暖如春撼港,著一層夾襖步出監(jiān)牢的瞬間坪它,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工帝牡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留往毡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓靶溜,卻偏偏與公主長得像开瞭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子罩息,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容