在Cloud9上搭建Rails(postgresql + postgis)的开发环境
简而言之
我设置了Cloud9,以便在紧急情况下使用开发环境,现在介绍一下。
建立的环境
以下是大致的情况:
* Ruby 2.3.1
* Rails
* PostgreSQL + PostGIS
操作程序
程序的更新和安装
由于各种程序版本的过时或未安装,需要进行更新和安装。
请更新apt-get。
sudo apt-get update
升级Ruby
通过运行 ruby –version 命令,我发现版本是2.3.0,所以稍微更新了一下。
rvm upgrade 2.3.0 2.3.1
安装PostgreSQL和PostGIS。
sudo apt-get install postgresql libpq-dev language-pack-ja
sudo apt-get install -y postgis postgresql-9.3-postgis-2.1
- postgresql を起動する。
sudo service postgresql start
克隆现有的存储库
克隆Bitbucket上管理的代码库。
参考:克隆Bitbucket存储库。
git clone https://xxxxx@bitbucket.org/yyyyy/zzzzz.git
关于Rails的配置
根据database.yml的要求进行PostgreSQL的配置
- 対象となるdatabase.ymlの記述例は以下の通り
development:
host: db
database: database_dev
encoding: utf8
username: appuser
password: apppass
adapter: postgis
pool: 4
timeout: 7000
添加主机名称
- ホスト名 dbでpostgresqlにアクセスできる用にする。listen_addressに db を追加する
------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost,db' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
- ホスト名がdbの時、localhostと同じIPにアクセスできるようにする。ただし、 インスタンスが作り直される時に消えてしまうので、その都度入れ直す必要あり。
127.0.0.1 localhost
127.0.0.1 db
将数据库添加到PostgreSQL。
- postgresqlを起動し、ユーザーを追加する
sudo -u postgres psql
# CREATE USER appuser WITH PASSWORD 'apppass';
# ALTER ROLE appuser SUPERUSER;
# CREATE DATABASE 'database_dev' encoding 'UTF-8' TEMPLATE template0 owner appuser;
# ALTER ROLE appuser WITH CREATEDB;
Ctrl-D
在 PostgreSQL 中添加 PostGIS 适配器
sudo -u postgres psql -d database_dev
# CREATE EXTENSION postgis;
Ctrl-D
将UTF-8编码注册到PostgreSQL中
# CREATE COLLATION "ja_JP.utf8" (LOCALE = 'ja_JP.UTF-8');
在git中注册信息
注册用户名和电子邮件用于Git。(参考:强制在每个仓库中设置user.name和user.email的配置)
git config user.name "username"
git config user.email "user@email.com"
启动Rails
- ふつうにgem入れたりmigrationしたりseedを入れたりする。
gem install bundler
bundle install
rake db:migrate
rake db:seed
rails server -b $IP -p $PORT
当事情不顺利时
- postgresqlを起動、再起動する
sudo service postgresql start
或者 (huò zhě)
sudo service postgresql restart
-
- cloud 9を再起動する
- Cloud9 再起動する方法
以上