centos 7 redisとMongoDBをインストールしspringmvcでredisを統合
前編で振り回されたjs、今回はRedisとMongodbを振り回して、nodejsの開発環境を基本的にインストールしました.
Redis
CentOSでRedisをインストールするのも簡単で、手順に従って一歩一歩の操作で、ほとんど間違いはありません.
1、
/usr/src
ディレクトリに切り替え(別のディレクトリにインストールする場合は、後でいくつかのパスも変更することに注意)、Redisをダウンロードします.現在の最新バージョンは2.8.13です. cd /usr/src
wget http://download.redis.io/releases/redis-2.8.13.tar.gz
2、解凍、目次切り替え
tar xzf redis-2.8.13.tar.gz
cd redis-2.8.13
3、コンパイル
make
make install
4、
redis.conf
を開いてプロファイルを修正します.最も重要なのは以下の行です.その他の設定は公式ドキュメントを参照してください. daemonize yes
loglevel notice
logfile /var/log/redis.log
dir ./
5、システムのovercommitを設定するmemory,実行
vi /etc/sysctl.conf
ファイルに行を追加して保存:
vm.overcommit_memory = 1
実行:
sysctl vm.overcommit_memory=1
6、起動スクリプトを追加し、実行する:
vi /etc/init.d/redis
次のコードを書き込み、保存します.
#!/bin/sh
#
# redis Startup script for Redis Server
#
# chkconfig: - 90 10
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/src/redis-2.8.13/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
権限の設定と起動:
chmod +x /etc/init.d/redis
chkconfig --add redis
chkconfig redis on
OK、今すぐインストールします.起動redisは
service redis start
または/etc/init.d/redis start
を使用し、redisを停止するコマンドservice redis stop
または/etc/init.d/redis stop
を使用し、windowsシステムの下でredisを使用するとこの文章を参照することができます.参考記事:
http://hi.baidu.com/cxc0378/item/40f4b70e7fda603af3eafcbb
http://www.saltwebsites.com/2012/install-redis-245-service-centos-6
http://chenjinglys.blog.163.com/blog/static/16657571620127133616965
Redis-2.8.17インストールの構成手順とエラー
Redisのインストール手順:
正常な前の3ステップは問題ないはずですが、主な問題はmakeを実行するときに異常が発生したことです.
異常一:make[2]:cc:Command not found異常原因:gccソリューションがインストールされていない:yum install gcc-c++異常二:zmalloc.h:51:31: error: jemalloc/jemalloc.h:No such file or directory異常原因:一部のコンパイル依存または元のコンパイルに残された問題解決策:make distclean.片付けてからmake.
makeが成功した後、make testが必要です.make testに異常が発生しました.異常1:couldn't execute"tclsh 8.5":no such file or directory異常原因:tclソリューションがインストールされていません:yum install-y tcl.
メモリ割り当てポリシーの設定(オプション、サーバの実際の状況に応じて設定)/proc/sys/vm/overcommit_memoryオプション:0、1、2.0は、カーネルが使用可能なメモリ供給用プロセスが十分に使用されているかどうかを確認することを示します.十分なメモリがある場合は、メモリ申請が許可されます.そうでない場合、メモリ申請に失敗し、エラーを適用プロセスに返します.1は、カーネルが現在のメモリの状態にかかわらず、すべての物理メモリを割り当てることができることを示します.2は、カーネルがすべての物理メモリとスワップ領域の合計を超えるメモリの割り当てを許可していることを示します.
注意すべき点は、redisはdumpデータの場合、forkがサブプロセスを作り出し、理論的にはchildプロセスが占有するメモリはparentと同じである.例えばparentが占有するメモリは8 Gであり、この場合も同様に8 Gのメモリをchildに割り当てなければならない.メモリが負荷できないと、redisサーバのdown機やIO負荷が高すぎて効率が低下することが多い.したがって、ここで最適化されたメモリ割り当てポリシーは1に設定する必要があります(現在のメモリステータスにかかわらず、カーネルがすべての物理メモリを割り当てることを許可していることを示します).
vim/etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
service iptables restart
redis/redisを変更します.conf,redisプロセスをバックグラウンドデーモンに設定する:daemonize yes
このプロファイルを変更すると、redisといえば問題が発生する可能性があるが、一般的にはredisである.confプロファイルにエラーが発生した場合は、ネット上で適切なものを見つけたり、以下のようにコピーしたりすることができます.
redis.conf構成:daemonize yes pidfile/usr/local/redis/var/redis.pid port 6379 timeout 300 loglevel debug logfile/usr/local/redis/var/redis.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir/usr/local/redis/var/appendonly no appendfsync always glueoutputbuf yes shareobjects no shareobjectspoolsize 1024
$ redis-server redis.conf
[root@Architect redis-2.8.17]# ps -ef | grep redis root 401 29222 0 18:06 pts/3 00:00:00 grep redis root 29258 1 0 16:23 ? 00:00:00 redis-server/etc/redis.conf
$ redis-cli redis> set foo jiu OK redis> get foo"jiu"
これで完成です.
MongoDB
1、以下にMongoDBをインストールして、先にダウンロードする:
cd /usr/src
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz
2、解凍して、目次に入る:
tar -zxvf mongodb-linux-x86_64-2.6.4.tgz -C /usr/src
cd mongodb-linux-x86_64-2.6.4
3、データベースとログのディレクトリを作成する:
mkdir log
mkdir db
4、バックグラウンド運転方式で起動する:
./bin/mongod --dbpath=./db --logpath=./log/mongodb.log --fork --auth
次のように表示されます.
about to fork child process, waiting until server is ready for connections.
forked process: 4623
child process started successfully, parent exiting
5、起動の設定:
echo "/usr/src/mongodb-linux-x86_64-2.6.4/bin/mongod --dbpath=/usr/src/mongodb-linux-x86_64-2.6.4/db --logpath=/usr/src/mongodb-linux-x86_64-2.6.4/log/mongodb.log --fork --auth" >> /etc/rc.local
OK、できました.ポート
netstat -nalupt | grep mongo
を参照してください.tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 4623/./bin/mongod