资讯专栏INFORMATION COLUMN

centOS7安装node+mongoDB+redis+express(forerver)+ngin

xinhaip / 2421人阅读

摘要:安装开机自启操作工具用一在安装参考安装登录完一般在新服务器创建后,先升级一下安装编译器安装如提示则解压编译源代码,这个步骤花的时间会很长到这里,就基本上完成了安装过程,可以通过指令查看及版本二安装参考详解切换目录下载安

centOS7安装node+mongoDB+redis+express(开机自启forerver)+nginx+https(Let’s Encrypt)

操作工具用xshell

一、在 centOS 7 安装node.js
参考:centos7安装node

root登录完xshell
1、一般在新服务器创建后,先升级一下centOS:

yum -y update

2.安装gcc g++编译器

yum install gcc-c++

3.安装node

cd /usr/local/src
wget http://nodejs.org/dist/v6.11.0/node-v6.11.0.tar.gz

如提示:-bash: wget: command not found
则:[root@host src]#

yum -y install wget

4.解压

tar -xzvf node-v6.11.0.tar.gz
cd node-v6.11.0
./configure

5.编译源代码,这个步骤花的时间会很长:

make
make install
npm -g install express forever

到这里,node.js 就基本上完成了安装过程,可以通过指令查看node及npm版本:

node -v

npm -v

二、安装mongoDB

参考:mongodb
Mongodb详解

1.切换目录

cd /usr/local/src

2.下载安装包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.4.tgz

3.解压:

tar -xzvf mongodb-linux-x86_64-rhel62-3.4.4.tgz

4.重命名:

mv mongodb-linux-x86_64-rhel62-3.4.4/ mongodb

5.删除安装包:

rm -rf mongodb-linux-x86_64-rhel62-3.4.4.tgz

6、创建数据库:

cd mongodb
mkdir dbs
touch logs
cd bin
./mongod --dbpath=/usr/local/src/mongodb/dbs/ --logpath=/usr/local/src/mongodb/logs –fork

7、设置开机启动:

vi mongodb.conf
添加以下代码:

port=27017
dbpath=/usr/local/src/mongodb/dbs
logappend=true
fork=true
logpath=/usr/local/src /mongodb/logs
nohttpinterface=true

8、测试:

cd /usr/local/src/mongodb/bin
./mongod -f mongodb.conf

9、开机自动启动mongodb:

vi /etc/rc.d/rc.local
添加下面一行:
/usr/local/src /mongodb/bin/mongod --config /usr/local/src /mongodb/bin/mongodb.conf

三、centos7下安装redis

参考: redis

问题处理

1、切换相应目录,下安装包并解压

cd /usr/local/src/
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz

2、安装并启动

[root@host src]# cd ./redis-3.2.8

[root@host redis-3.2.8]# make MALLOC=libc
[root@host redis-3.2.8]# cd src
[root@host src]# make install
[root@host src]# ./redis-server

以上启动成功,按ctrl+c退出
3、改成后台启动

[root@host src]# cd ../

[root@host redis-3.2.8]# vi redis.conf
daemonize no 改yes
已改成后台启动
cd ./src
[root@host src]# ps -aux | grep redis
查看进程
[root@host src]# kill -9 723
注:723为实际的进程数
[root@host src]# cd /etc
[root@host etc]# mkdir redis
[root@host etc]# cp /usr/local/src/redis-3.2.8/redis.conf /etc/redis/6379.conf

[root@host etc]# cp /usr/local/src/redis-3.2.8/utils/redis_init_script /etc/init.d/redisd
[root@host etc]# cd /etc/init.d
[root@host init.d]# chkconfig redisd on

报错:service redisd does not support chkconfig

[root@host init.d]# vi redisd
在第一行加入如下两行注释,保存退出
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

redis-server和redis-cli路径改成自己的
如:usr/local/src/redis-3.2.8/src/redis-server
如:usr/local/src/redis-3.2.8/src/redis-cli
再次执行

[root@host init.d]# chkconfig redisd on
[root@host init.d]# service redisd start

报错/var/run/redis_6379.pid exists, process is already running or crashed

[root@host init.d]# redis-server /etc/redis/6379.conf
[root@host init.d]# shutdown -r now
重新连接一下
[root@host ~]# service redisd start

四、centos7 express开机自启forerver
参考 Forever

1、在etc/init.d新建node文件并打开

[root@host bin]# cd /etc/init.d
[root@host init.d]# touch node
[root@host init.d]# vi node

文件内容 为:

#!/bin/bash
#
# node      Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/usr/local/bin
DEAMON=/var/www/expresswai/index.js
LOG=/tmp/hosts_log
PID=/tmp/forever.pid

case "$1" in
    start)
        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
        ;;
    stop)
        forever stop --pidFile $PID $DEAMON
        ;;
    stopall)
        forever stopall --pidFile $PID
        ;;
    restartall)
        forever restartall --pidFile $PID
        ;;
    reload|restart)
        forever restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
        ;;
    list)
        forever list
        ;;
    *)
        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
        exit 1
        ;;
esac
exit 0

2、配置启动

[root@host init.d]# chkconfig --add node
[root@host init.d]# service node start

以下为另一篇调试中出现的问题解决办法
报错 env: /etc/init.d/nodeForever: Permission denied

[root@host init.d]# chmod a+x /etc/init.d/node
[root@host init.d]# service node start

报错/usr/bin/env: node: No such file or directory

[root@host bin]# ln -s /usr/local/bin/node /usr/bin/node

五、centos7 nginx

参考:安装Nginx

1、下安装包

# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.11.5.tar.gz

2、安装依赖并解压安装

# yum install gcc-c++
# yum install pcre
# yum install pcre-devel
# yum install zlib 
# yum install zlib-devel
# yum install openssl
# yum install openssl-devel

# tar -zxvf nginx-1.11.5.tar.gz
# cd /usr/local/src/nginx-1.11.5/
# ./configure
# make
# make install

默认安装位置为/usr/local/nginx,之前的/usr/local/src/nginx-1.11.5/可以删除掉了
3、配置自启

# cd /lib/systemd/system/
# vim nginx.service

文件内容 :

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

4、启动

# systemctl enable nginx.service

systemctl start nginx.service    启动nginx
systemctl stop nginx.service    结束nginx
systemctl restart nginx.service    重启nginx

六、centos7 https Let’s Encrypt

cd /usr/local/src
yum install git-all
[root@host src]# git clone https://github.com/letsencrypt/letsencrypt
[root@host src]# cd letsencrypt
[root@host letsencrypt]# ./letsencrypt-auto

后台服务要停掉

#  service expresswai stop

设置域名及关联的邮箱

[root@host letsencrypt]# ./letsencrypt-auto certonly --standalone --email 123456789@qq.com -d www.domain.com

文件位置/etc/letsencrypt/live/www.domain.com/privkey.pem

[root@host www.domain.com]# cp /etc/letsencrypt/live/www.domain.com/cert.pem /var/www/expresswai/ssl
[root@host ssl]# cp /etc/letsencrypt/live/www.domain.com/chain.pem /var/www/expresswai/ssl
[root@host ssl]# cp /etc/letsencrypt/live/www.domain.com/fullchain.pem /var/www/expresswai/ssl
[root@host ssl]# cp /etc/letsencrypt/live/www.domain.com/privkey.pem /var/www/expresswai/ssl

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19375.html

相关文章

  • 服务器小白的我,是如何成功将 node+mongodb 项目部署在服务器上并进行性能优化的

    摘要:前言本文讲解的是做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将项目部署在阿里云的服务器上,并进行性能优化,达到页面秒内看到,秒内看到首屏内容的。搭建的项目是采用了主流的前后端分离思想的,这里只讲服务器环境搭建与性能优化。 showImg(https://segmentfault.com/img/remote/1460000017143281); 前言 本文讲解的是:做为前...

    zsy888 评论0 收藏0
  • Linux 下配置 node + mongodb 环境

    摘要:证书下载解压后,有两个文件,一个是后缀,一个是后缀。文件然后启动服务器就可以了,不过这样的启动方式,一旦关闭命令窗口就结束进程了。 1、下载node、解压、添加到全局变量 下载 wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-x64.msi 解压 tar -jxv -f node-v8.11.2-x64 把node、和npm添加到全局...

    xietao3 评论0 收藏0
  • CentOS7之常用服务

    摘要:开发者工具安装选择安装相关库的头文件源命令行需要源磁盘大小查看内存,实用磁盘使用网络需要源语言安装安装然后你需要把以下内容粘贴到文件中安装安装然后你需要把以下内容粘贴到文件中文件传输安 开发者工具 # 安装gcc, g++, make, git, svn yum clean all yum groups mark install Development Tools yum groups...

    fevin 评论0 收藏0
  • node中的session

    摘要:当会话过期或被放弃后,服务器将终止该会话。原来中间件生成的是一个对象,里面包含了信息。这个有一个过期时间,比如,上面代码中设置的是小时。也就是说,小时后,这个在浏览器中会自动消失。 前言 在上一篇中node中的cookie,对cookie进行了相关介绍,本篇将继续前行,对session进行说明。 session是什么 session不就是会话嘛,那什么是会话呢?会话是一个比连接粒度更大...

    yankeys 评论0 收藏0

发表评论

0条评论

xinhaip

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<