安装RVM,Ruby,Rails;布暑 passenger + nginx
本文仅为作者本人经验之谈,可供参考。安装过程中,有问题可以加qq1403126229,我尽量回答(有空,并且我懂的话)
本文可能不断更新,转载请注明出处www.cnblogs.com/kelby。谢谢。
=====================================================================================================
1. 你现在运行的是root 用户,我们需要新增一个用户,运行 sudo useradd -d /home/username -m -s /bin/bash –G sudo username
把username换成你自己的用户名。
2. 它会提示输入密码,确认密码-‘输入它们’,提示输入一些其它信息,忽略它们。直接‘回车’
3. 如果没有出现第2步,别担心。跟着做下面的,运行 passwd username 输入密码。运行 gpasswd –a username sudo
运行 cd /home && mkdir username
运行 chown username /home/username
切换到普通用户 su - username
=====================================================================================================
4. 到网上找ubuntu版本相同的下载源,更改下载源,运行sudo vi /etc/apt/sources.list
5. 运行 sudo apt-get update ,使我们的资源最新的。
6. 安装一些基本包,运行sudo apt-get install build-essential git-core curl
7. 准备安装RVM,运行 sudo bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
8. 安装RVM,运行sudo bash < <(curl -sk https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
9. 第8步进行后仔细看一下终端,会提示你安装RVM的一些依赖的包。运行 sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1gzlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
10. 关闭终端,重新打开。运行 source .bash_profile
11. 运行 type rvm | head -1
如果显示 “rvm is a function”,表示安装成功了。为确保安全我们把username加入RVM组,运行 sudo usermod -a -G rvm username
12. 再次查看RVM需要的依赖,运行 rvm requirements 在终端会看到结果,这和第9步差不多,用sudo apt-get XXX 安装它们。
13. 要安装ruby 运行 rvm install1.9.2(可能需要一段时间)
14. 使用ruby 运行 rvm use1.9.2
15. 查看ruby的版本,运行 ruby -v
16. 将ruby1.9.2成为默认ruby版本(如果你现在或将来安装多个版本,推荐使用),运行 rvm use 1.9.2 --default
ok,现在我们有必要升级一下,运行 gem update –system
(注意:安装RVM,Ruby 失败的可以参考官网https://rvm.beginrescueend.com/rvm/install/ 并且现在你可以安装Ruby 1.9.3 )
17. 安装rails, 运行 gem install rails (如果不成功,尝试VPN,SSH代理或者等待)
=====================================================================================================
18. 安装 passenger ,运行 gem install passenger
19. 安装好后,运行 passenger-install-nginx-module 它会一些说明的东西,看一下后直接按‘回车’
20. 它会问你安装nginx的模式,仔细看看。或者直接输入1,然后 按‘回车’
21. 1.如果安装缺少必备的东西,它会有提示!比如SSH的问题… …
用sudo apt-get XXX 安装它们。
22. 2.如果不缺少东西,它会让你选择nginx的安装目录。直接‘回车’,它会提示你‘没有权限’,输入/home/username… ….它会提示你安装不了。出了什么问题了?!
- 解决办法,运行sudo chgrp rvm /opt/nginx;
sudo chown username /opt/nginx
再运行 passenger-install-nginx-module ‘回车’再‘回车’,OK,到此为止,你安装好了。
=====================================================================================================
24. 运行 su – username 切换回普通用户。
25. 运行 sudo vi /opt/nginx/conf/nginx.conf 按照你上网找到的更改数据。在这里啰嗦一句,如果你的 root 选择在 /var/www 目录里,你得给username权限,运行 sudo chown –R username /var/www ;如果你的root 选择在 username目录下则可以省去这一步。
26. 创建启动脚本,运行 sudo vi /etc/init.d/nginx 复制你在网上找到的代码(找正式网站上的,如果你不懂里面代码什么意思的话)
27. 写你的rails 项目,把它放到25所对应的目录里。(相信你在网上已经看过这步怎么做了)
28. 修改rails 的环境,到/config/environments/production.rb文件,将config.assets.compile = false 改为 true
29. Rails切换到生产模式,运行 rake db:migrate RAILS_ENV="production"
css, js可能要预编译,我们运行 RAILS_ENV=production bundle exec rails assets:precompile
=====================================================================================================
30. 如果网站运行情况不对(对,就不用看了),看看80端口使用情况,运行 netstat –ntpl ,可能是apache 占用了端口,运行 sudo /etc/init.d/apache2 stop
或者直接删除apache,运行 sudo apt-get remove apache2
31. 使用过程中你可能需要停止nginx的运行,命令为 sudo killall -9 nginx
32. 重新启动nginx用命令sudo /opt/nginx/sbin/nginx
(一些基本的gem ,比如mysql,sqlite3, Postgresql… …等等包,你自己应该会下载的,我就不多写了)