第 0 步:购买 VPS
推荐购买 DigitalOcean 的 VPS,价格很便宜,适合初学者
第 1 步:使用 Root 登录 VPS
假设你的VPS IP 地址为:
198.199.119.188
$ ssh root@198.199.119.188
输入 root
密码登录。
注意: 如果是第一次登录服务器,SSH 会输出类似这样的提示:
The authenticity of host '198.199.119.188 (198.199.119.188)' can't be established. RSA key fingerprint is ff:5c:ac:af:de:c1:fc:f3:13:4f:c1:bc:fc:7b:8e:c1. Are you sure you want to continue connecting (yes/no)?
这时候输入 yes
就可以了。
第 2 步:添加 deploy 用户
由于 root
拥有最大的权限,很容易出现误操作(导致系统损坏),所以我们推荐使用普通用户来部署 Rails 项目。
添加一个新用户的方法如下:
$ adduser deploy
按照提示,输入该用户的密码,然后一直按回车就行了(其他的信息留空即可)。
然后把 deploy
用户添加到 sudo
用户组:
这样 deploy
用户就可以安装所需要的软件包了
第 3 步:切换到 deploy 用户
$ su -l deploy
-l
(小写的L)选项,用于模拟完整的登录(Simulate a full login)。
第 4 步:安装基础软件
首先更新软源:
$ sudo apt-get update
然后安装 curl
, wget
, git-core
$ sudo apt-get install curl wget git-core
第 5 步:使用 RVM 安装 ruby
首先安装 RVM
:
$ curl -L https://get.rvm.io | bash -s stable $ source ~/.rvm/scripts/rvm
然后安装 ruby 1.9.3
:
$ rvm install 1.9.3
第 6 步:安装 MySQL
$ sudo apt-get install mysql-server-5.5 libmysqlclient-dev
第 7 步:安装 Nginx / Node.js
$ sudo apt-get install nginx nodejs
第 8 步:下载 项目源码 以:Rails Weekly 源代码
$ cd $HOME $ mkdir sites $ cd ./sites $ git clone git://github.com/daqing/rails_weekly.git
注意:github地址我们选择 Git read-only的地址
第 9 步:安装所需的 Gem
$ cd rails_weekly $ bundle install --without development test
第 10 步:创建数据库
$ cp config/database.yml.example config/database.yml
我们要进入database.yml,修改数据库密码和用户名:
production: adapter: mysql2 encoding: utf8 reconnect: false database: testm_production pool: 5 username: root password: root socket: /var/run/mysqld/mysqld.sock
我们只修改production下的内容就可以
然后我们在终端内输入
mysql_config --socket
用返回的地址替换掉socket:后面的路径
然后执行以下命令:
$ RAILS_ENV=production rake db:create
第 11 步:预编译 assets
$ RAILS_ENV=production rake assets:precompile
第 12 步:编写Unicorn.rb、Nginx.conf
大家可以去google搜索一下如何编写Unicorn.rb、Nginx.conf。
第 13 步:启动 Unicorn
$ chmod a+w ./tmp/* $ bundle exec unicorn -c `pwd`/config/unicorn.rb -E production -D
他会提示我们缺少
tmp/pids/unicorn.pid not writable (ArgumentError)
解决方法在shell下执行
$ mkdir -p tmp/pids $ touch tmp/pids/unicorn.pid $ cat config/unicorn.rb
查看unicorn端口:ps aux|grep unico
第 14 步:配置 Nginx
$ sudo cp config/nginx-example.conf /etc/nginx/conf.d/rails_weekly.conf
然后启动 Nginx:
$ sudo /etc/init.d/nginx start
相关推荐
docker-rails-nginx-unicorn Docker Rails + Nginx + Unicorn(来自Ubuntu 16.04和Ruby 2.4.0) 易于使用的docker导轨。 较少的配置,负担得起的生产。 包括什么 独角兽,nginx,领班 mysql,PostgreSQL库 用法 在...
通过以上步骤,你就成功地在Linux系统上配置了Nginx、Ruby on Rails和MySQL的环境,可以开始开发和部署你的Rails应用了。记得在实际生产环境中,还需要考虑安全、日志管理和性能优化等更多细节。
标题中的“利用Unicorn和Nginx部署Redmine”指的是在服务器上安装并配置Redmine项目管理工具,通过Unicorn作为应用服务器,Nginx作为反向代理和负载均衡器,来提供高效、稳定的服务。这是一个常见的Web应用程序部署...
在构建高性能、高可用性的Web应用环境中,"基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0"的方案是一个常见的选择。这个方案结合了多种强大的工具和技术,以确保应用程序的稳定运行和高效管理。以下是这些关键...
4. **数据库部署**:讨论MySQL、PostgreSQL等数据库的安装与配置,以及数据迁移策略,包括Rails的数据库迁移工具`db:migrate`。 5. **环境变量与配置**:讲解如何管理生产环境中的敏感信息,如API密钥、数据库连接...
数据库:MySQL 计划任务:whenever 备份:backup 文件上传:qiniu 编辑器:simditor 缓存:Memcached + redis 任务队列:sidekiq 服务器和站点监控:New relic + monit + god 部署:Capistrano3 邮件发送:sendcloud...
5. **Web服务器**:Rails提供了内置的Webrick服务器用于开发,但在生产环境中,推荐使用如Puma、Unicorn或Nginx+Passenger等高性能服务器。 6. **开发工具**:如TextMate、Sublime Text、VS Code或Atom等文本编辑器...
标题 "rails web server deploy guide" 暗示了本文将关注如何部署Rails应用程序到Web服务器。Rails是Ruby on Rails的简称,是一个流行的开源Web开发框架,用于构建动态、数据驱动的网站。部署Rails应用通常涉及将...
您可以注册最方便的日期顶部屏幕新注册画面个人资料图片预览实现登入画面讲师列表画面讲师注册画面讲师信息详细画面我的页面网站网址...Rails 5.0.7.2 MySQl 5.3 AWS EC2 x S3服务器部署Nginx x Capistrono 数据库设计...
8. **服务器优化**:通过Nginx或Apache作为反向代理,Puma或Unicorn作为应用服务器,优化Rails应用的性能。 9. **故障排查**:学习如何处理常见的部署问题,如权限错误、依赖冲突、数据库迁移失败等。 10. **持续...
食谱包括postgres,mysql,nginx,unicorn,nodejs,redis和memcache。 它还尝试执行一些典型的任务,例如postgres备份,设置ufw防火墙规则以及安装fail2ban。入门 git clone git@github....
libevent) ruby (+ autoconf + openssl + libffi + yaml + gdbm) [tarball 或 subversion,见RUBY_SVN变量] rubygems:rack、rails、thin、unicorn、passenger、capistrano、sqlite3、mysql、pg、psych(注释掉)、...
通过以上分析,我们可以看到saleinfo_aggregation项目充分利用了Ruby on Rails的优势,结合MySQL数据库和Nginx/Unicorn服务器,构建了一个高效、可靠的讨价还价信息收集系统。对这个项目的深入研究和实践,不仅可以...
- **Nginx**: 作为反向代理服务器,处理HTTP请求,将流量转发到Rails应用的Puma或 Unicorn等Web服务器。 - **Redis**: 用于缓存、队列和其他内存对象存储,例如Sidekiq后台任务队列。 - **Node.js**: 在某些情况...
使用capistrano进行... monit (在端口2812上运行其Web界面)来管理数据库( mysql或postgres ,可配置),nginx并监视unicorn实例和所有先前服务的资源使用情况。 检查recipes/templates/monit下的每个文件以获取服
我们自己使用Phusion Passenger( mod_rails ),但您也可以使用Thin,Puma或Unicorn。 可以为Nginx或Apache安装Phusion Passenger,您可以选择最喜欢的一种。 安装因您的发行版而异,因此请查看其或。 设置Web...
Ruby / Ruby on Rails / MySQL / HTMLCSSJavaScript / GitHub / AWS(EC2,Route53) 開発環境 エディタ:Visual Studio Code 管理ツール:GitHub,trello 言語・フレームワーク:Ruby・HTMLCSSJavaScript・...
7. **部署和服务器管理**:如果 "bookers" 是生产应用,那么了解如何部署到Heroku、AWS、DigitalOcean或其他云平台,以及如何配置Nginx、 Unicorn 或Puma等服务器软件也是必要的。 8. **测试驱动开发**:Ruby 社区...
Rails 提供了丰富的库和自动化工具,使得开发者可以快速地搭建和部署应用程序。Rails 的“约定优于配置”(Convention Over Configuration)理念降低了开发过程中的复杂性,让开发者能更专注于业务逻辑。 在 Ruby ...