Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ubuntu12環境下Thin+rails(4)+ruby(2)+nginx+mysql配置
?
1.????????前提條件:已經正確安裝了ubuntu12并且更行了源。
2.????????安裝過程:
? 2.1 安裝ruby前的準備:
1.1修改 /etc/apt/sources.list文件改為mirrors.163.com
??? 保存退出
??? 執行命令:? sudo apt-get update 更新源
1.2 安裝curl
????????????? 執行命令:sudoapt-get install curl
1.3 安裝rvm版本管理工具(ruby版本)
????????????? 執行命令:curl-L https://get.rvm.io | bash -s stable
????????????? 等待安裝結束
????????????? 配置rvm環境執行命令:source~/.rvm/scripts/rvm
????? 安裝所有rubyon rails 環境需要的包
????? 執行命令:rvmrequirements
????? 等待…… 安裝結束(走運的情況下)
?
??????????????????????? 2.2安裝ruby
??????????????????????????????????? ?
2.2.1 執行命令:rvminstall ruby 將會安裝當前對應系統環境下最新版本的ruby。
2.2.2 執行ruby –v
???? 如果系統里有多個ruby版本選擇自己需要的版本設置為默認版本,例: rvmuse ruby 2.0.0 --default
2.2.3 設置結束后執行命令:rvmrubygems current
?
??????????????????????? 2.3安裝rails
??????????????????????????????????????????????? 修改ruby的鏡像地址,改為淘寶的。這樣會快些。
??????????????????????????????????????????????? 參考:http://ruby.taobao.org 即可。
??????????????????????????????????????????????? 執行命令:gem install rails –V
??????????????????????????????????????????????? 這個時間可能過長,請耐心等待。
??????????????????????????????????????????????? 運氣好的話,應該可以安裝上。
??????????????????????????????????? 測試一下rubyon rails 環境。
??????????????????????????????????? 找個目錄,執行命令:railsnew HelloRails (這里就在~路徑下)
??????????????????????????????????? 創建一個叫HelloRails的rails工程。說明配置正常。
??????????????????????????????????? 進入HelloRails目錄
??????????????????????????????????? 修改Gemfile文件,
????????? 在最后面加上如下兩行(如果文件里有就不用加了):
??????????????????????????????????????????????????????????? gem'therubyracer'
??????????????????????????????????????????????????????????? gem'execjs'
??????????????????????????????????? 保存退出:執行bundleinstall 構建包
3. 安裝mysql
??????????? 3.1 執行命令:sudo apt-get? install mysql-server
??????? 等待安裝結束即可。
??????????????????????? 輸入 mysql–u root –p
??????????????????????? 再輸入密碼
??????????????????????? 看mysql是否已經安裝成功!
?
4. 安裝nginx
??????????????????????? 4.1執行命令:sudo apt-get install nginx
??????????????????????????????????????????????? 等待安裝結束即可。
??????????????????????????????????????????????? 輸入 sudoservie nginx restart
??????????????????????????????????????????????? 啟動nginx
??????????????????????????????????????????????? 訪問localhost 看會不會出來nginx的歡迎界面(nginx默認端口為80).
??????????????????????????????????????????????? 如果走運,應該可以訪問了。
?
?
5、安裝thin
???????????????????????????????????
???????????????????????????????????
rails默認的服務器不是thin,我們這里用thin來做生產環境的web容器。
安裝thin
?? 修改HelloRails/Gemfile
?? 在文件最后面加上gem ‘thin’
??????????????????????????????????????????????? 保存退出:執行bundleinstall 構建包
??????????????????????????????????? 若一切走運,就執行:thin start 啟動thin服務
?
?
6 配置nginx反響代理+動靜分離(這里就以這個HelloRails工程為例)
??
6.1. 配置nginx.conf文件
??? ? 進入nginx目錄:? cd /etc/ng? inx
??? ? 打開nginx.conf文件:? sudo vim nginx.conf
???? 找到 include /etc/nginx/conf.d/*.conf;
??????????????????????????? 和
??????????????????????????? include/etc/nginx/sites-enabled/*;
???? 注釋掉這兩行,添加一行新的include:
??????????????? include/etc/nginx/sites-available/hellorails.com
??? ? 保存退出。(這個hellorails.com是我們一會兒要配置的這個項目的nginx配置文件)
?
6.2 生成并配置 hellorails.com文件。
??? ?? 執行:cd /etc/nginx/sites-available
????? 創建hellorails.com文件: sudo vim hellorails.com
????? 講default文件里的內容拷貝到hellorails.com文件里(或者直接cp個default文件改名字)
????? ??? 將server{} 代碼塊注釋掉
?????? 加入如下server代碼塊:
upstream ad{? //代理服務器配置(thin服務器)
??????? server 127.0.0.1:3000;
}
server {
???? ???listen 80;
??????? server_name 10.0.2.15;
??????? root ~/ HelloRails/public;
??????? try_files $uri @ad;
??????? location ~ ^/(assets)/ {
??????????????? root ~/ HelloRails/public;
??????????????????????????????????????? ? gzip_static on;
??????????????? expires max;
??????????????? add_header Cache-Controlpublic;
??????? }
??????? location ~*\.(jpeg|jpg|png|gif|bmp|ico|css|js|swf)$ {
??????????????? root ~/ HelloRails/public;
??????? }
??????? location @ad {
??????????????? proxy_set_header ?X-Real-IP ?$remote_addr;
???????????????proxy_set_header? X-Forwarded-For $proxy_add_x_forwarded_for;?
??????????????? proxy_set_header ?Host ?$http_host;
??????????????? proxy_redirect ?off;
??????????????? proxy_pass ?http://ad;
??????? }
??????? access_log/home/panguixiang/nginxLog/access.log;?
??????? error_log/home/panguixiang/nginxLog/error.log;
????? //這個/home/panguixiang/nginxLog目錄是自己創建的可以改
?
}
???????????????
?保存退出。
?
6.3 讓剛才的配置文件在nginx里起作用,執行如下命令:
??? sudo ln –s/etc/nginx/sites-available/hellorails.com/etc/nginx/sites-enabled/hellorails.com
6.4
??????????????????????? 重啟nginx,搞定。
?????
?
?
?
?
?
另外,附上生產環境里的一些命令和需要配置注意的地方。
????
??????????? ? 配置工程production.rb文件
打開~/HelloRails/config/environments/production.rb
修改如下幾行:
?config.assets.compile 修改為true
?如果有:
?config.serve_static_assets 修改為false
?假如如下行:
?config.action_dispatch.x_sendfile_header = ‘X-Accel-Redirect’
?
創建生產環境的數據庫命令:
RAILS_ENV=productionrake db:create db:schema:load
以生產環境方式啟動rails:
thin方式:thinstart –e production –p 3000 (不帶-p就是默認3000端口)
rails默認方式:rails server –e production –p 3000
在生產環境里要先編譯assets里面的資源,執行如下命令:
RAILS_ENV=productionbundle exec rake assets:precompile is the exact rake task????
或者 rake assets:precompile
可能里面還有些不正確的地方。請高手們貼磚,小弟改進。
?
以下是參考文獻:
?
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-12-04-lts-precise-pangolin-with-rvm?安裝ruby on rails
https://rvm.io/rvm/install 安裝rvm
http://www.cnblogs.com/zj1111184556/archive/2013/09/13/3318807.html?卸載rvm
http://www.cyberciti.biz/faq/uninstall-mysql-ubuntu-linux-command/?Ubuntu卸載 mysql-server
?
轉載于:https://blog.51cto.com/3131854/1597476
總結
以上是生活随笔為你收集整理的Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle RAC Failover
- 下一篇: centos不能挂在ntfs