非常粗糙的DerbyJS安装方法
简而言之
尝试使用DerbyJS框架进行实时协作。在安装MongoDB和Redis之后,确保主体(示例)可以正常运行。
-
- DerbyJS(Official)
- Tutorial
安装
There is only one option for paraphrasing the English phrase “前提” natively in Chinese:
條件
- CentOS7(x64)
安装软件
-
- nvm 0.12.7 => Node.js & npm
-
- MongoDB 2.6
-
- Redis 2.4
- DerbyJS 0.6 alpha alpha版であるが、安定しているらしい。
如果下面的内容可能有误,请您告知我,因为它可能是过时的。
MongoDB的安装 ※官方
- How to Install MongoDB on CentOS 7
$ sudo vim /etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
$ ls -l /etc/yum.repos.d/
:
-rw-r--r--. 1 root root 122 7月 5 01:49 mongodb.repo #<=インストール確認
$ sudo yum -y update
$ sudo yum -y install mongodb-org mongodb-org-server
:
インストール:
mongodb-org.x86_64 0:2.6.10-1 mongodb-org-server.x86_64 0:2.6.10-1
:
完了しました!
$ sudo systemctl start mongod
$ sudo systemctl status mongod
:
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
:
Active: active (running) since 火 2015-07-07 15:36:15 EDT; 7s ago
:
# 常駐起動設定(CentOS7のネイティブデーモンではないため、chkconfigを使用する。)
$ sudo chkconfig mongod on
# リッスンポート確認
$ sudo ss -nlp|grep mongod
u_str LISTEN 0 128 /tmp/mongodb-27017.sock 54410 * 0 users:(("mongod",4967,9))
tcp LISTEN 0 128 127.0.0.1:27017 *:* users:(("mongod",4967,8))
安装 Redis。
- How to install redis server on CentOS 7 / RHEL 7
# wget インストール
$ sudo yum install wget
# EPEL インストール
$ sudo wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/e/
$ sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-*.rpm
$ ls -l /etc/yum.repos.d/
:
-rw-r--r--. 1 root root 957 11月 25 2014 epel.repo #<=インストール確認
:
$ sudo yum -y install redis
:
インストール:
redis.x86_64 0:2.8.19-2.el7
:
完了しました!
$ sudo systemctl start redis.service
$ sudo systemctl status redis.service
redis.service - Redis persistent key-value database
:
Active: active (running) since 火 2015-07-07 16:14:53 EDT; 18s ago
:
# 設定ファイル
# 1. /etc/redis.conf
# 2. /etc/redis-sentinel.conf
# 通信確認
$ redis-cli ping
PONG
# 常駐起動設定
$ sudo systemctl enable redis.service
# リッスンポート確認
$ sudo ss -nlp|grep redis
tcp LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",5207,4))
请通过样本进行操作确认。
# npmがインストールされていない場合
$ sudo yum -y install npm
:
インストール:
npm.noarch 0:1.3.6-5.el7
:
# Githubからサンプルダウンロード
$ cd ~
$ git clone https://github.com/derbyjs/derby-examples.git
Cloning into 'derby-examples'...
remote: Counting objects: 15138, done.
remote: Total 15138 (delta 0), reused 0 (delta 0), pack-reused 15138
Receiving objects: 100% (15138/15138), 23.49 MiB | 734.00 KiB/s, done.
Resolving deltas: 100% (4504/4504), done.
$ cd ~/derby-examples
$ npm install
# 実行
$ cd ~/derby-examples/directory
$ node server.js
Master pid 18817
18819 listening. Go to: http://localhost:8004/
# 【Appendix】SELinux無効
# 外部から閲覧できない場合は下記を実行する。
$ sudo getenforce
Enforcing
$ sudo setenforce 0
$ sudo getenforce
Permissive
$ sudo vi /etc/sysconfig/selinux
SELINUX=disabled #<=システム起動時にSELinuxを無効化
# ファイアウォール無効化
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld
$ sudo systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead) <=停止確認
:
习以为常
安装Forever(=将Node.js脚本守护化的工具)。
手动启动
# foreverをインストール
$ sudo npm install -g forever
# Derbyを起動(起動迄若干時間がかかる。)
$ forever start /vagrant/derby-examples/directory/server.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: server.js
# 起動確認
$ forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] NZVZ /usr/bin/node server.js 7315 7646 /home/vagrant/.forever/NZVZ.log 0:0:0:3.599
# 停止
$ forever stop 0
info: Forever stopped process:
uid command script forever pid id logfile uptime
[0] NZVZ /usr/bin/node server.js 7315 8142 /home/vagrant/.forever/NZVZ.log 0:0:0:5.376
# 停止確認
[vagrant@localhost directory]$ forever list
info: No forever processes running
开机时自动启动
# ▪︎普通のLinux環境の場合
$ sudo vi /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
#Derby Demostration
forever start /vagrant/derby-examples/directory/server.js
流浪者的情况
在中國境內,只需要一個選項,將以下內容以中文母語進行改寫:
Derby安裝(驗證功能)
リアルタイムデータ同期が可能なNode用MVCフレームワークのDerbyを導入する
# install derby
npm install -g derby@~0.6 -S
npm install -g derby-starter -S
# install yeoman
$ sudo npm install -g yo
# install the generator
$ sudo npm install -g generator-derby
# プロジェクトの新規作成&動作確認
$ mkdir myapp
$ cd myapp
# create a javascript based app:
$ yo derby
# or create a coffeescript based app:
$ yo derby --coffee
$ npm start