• CentOS 部署 NodeBB


    0x00 前言

    NodeBB 是基于 NodeJS 的开源 BBS 系统,可以搭配 redis 或 mongodb 数据库,本文中由于使用 NodeBB 配置中默认的 npm 安装会引起不知原因的 503:Too many open connections 错误,所以使用yarn手动安装

    0x01 切换国内源并添加 mongodb 源

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

    备份 CentOS-Base.repo

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    下载阿里云源到 yum 源配置目录并重命名为CentOS-Base.repo

    yum -y install epel-release vim

    安装 epel 源及 vim

    vim /etc/yum.repos.d/mongodb-org-3.4.repo

    创建 mongodb 源并编辑,添加如下内容

    [mongodb-org-3.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
    

    yum clean all

    清空 yum 缓存

    yum makecache

    创建 yum 缓存,可以加快软件包索引速度,一般在安装软件包的时候会自动创建

    yum update

    更新软件包

    0x02 科学上网

    yum install python-pip

    安装 pip

    pip install shadowsocks

    通过 pip 安装 ShadowSocks

    vim /etc/shadowsocks.json

    创建 shadowsocks 配置文件并编辑,目录和文件名随意,添加如下内容

    {
    	"server" : "IP地址",
    	"server_port" : "端口",
    	"local_address" : "127.0.0.1",
    	"local_port" : "1080",
    	"password" : "密码",
    	"method" : "加密方法"
    }
    

    nohup sslocal -c /etc/shadowsocks.json >/dev/null 2>&1 &

    后台运行 sslocal (ShadowSocks 的客户端),-c 后面填写配置文件位置,将该命令写入 /etc/rc.d/rc.local (旧版本或其他系统有可能在 /etc/rc.local,但要检查 /etc 下的是不是链接),并使用 chmod +x /etc/rc.local 即可使其开机自启

    yum -y install privoxy

    安装 privoxy

    vim /etc/privoxy/config

    编辑 privoxy 配置文件,在文件最底部添加如下代码,包括最后的"."

    forward-socks5 / 127.0.0.1:1080 .
    

    vim /root/.bash_profile

    配置代理地址及端口,在文件最底部添加如下代码

    export ftp_proxy=http://127.0.0.1:8118
    export http_proxy=http://127.0.0.1:8118
    export https_proxy=http://127.0.0.1:8118
    

    source /root/.bash_profile

    使配置生效

    systemctl start privoxy

    启动 privoxy

    systemctl enable privoxy

    允许 privoxy 开机自启

    curl google.com

    测试配置是否成功,如果成功则会输出类似如下代码

    <HTML>
    <HEAD>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <TITLE>302 Moved</TITLE>
    </HEAD>
    <BODY>
        <H1>302 Moved</H1>
        The document has moved
        <A HREF="http://www.google.com.hk/url?sa=p&hl=zh-CN&pref=hkredirect&pval=yes&q=http://www.google.com.hk/&ust=1379402837567135amp;usg=AFQjCNF3o7umf3jyJpNDPuF7KTibavE4aA">here</A>.
    </BODY>
    </HTML>
    

    0x03 安装 mongodb 并配置用户

    yum install mongodb-org

    安装 mongodb

    systemctl stop firewalld

    停止 firewall 防火墙

    systemctl disable firewalld

    禁止 firewall 防火墙自启

    systemctl start mongod

    开启 mongodb

    systemctl enable mongod

    允许 mongodb 自启

    mongo admin --eval "db.createUser({user:'root',pwd:'123456',roles:[{role:'root',db:'admin'}]});"

    使用 admin 数据库并新建用户,用户名:root,密码:123456,权限:超级管理员

    mongo nodebb --eval "db.createUser({user:'nodebb',pwd:'123456',roles:[{role:'readWrite',db:'nodebb'},{ role: 'clusterMonitor', db: 'admin' }]});"

    使用 nodebb 数据库(如果不存在则新建数据库)并新建用户,用户名:nodebb,密码:123456,权限1:nodebb 数据库中可读写,权限2:admin 数据库中集群管理员

    0x04 安装 Node 环境并配置 NodeBB

    yum -y groupinstall "Development Tools"

    安装开发工具包

    yum -y install git ImageMagick

    安装 git ImageMagick

    curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

    下载 nvm 源码并安装

    source /root/.bash_profile

    使 nvm 配置生效

    export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
    export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs

    修改 nvm 镜像为淘宝镜像

    nvm install --lts

    安装最新的 LTS 版 NodeJS

    yum -y install yarn

    安装 yarn

    mkdir -p /var/www/html

    创建网站根目录

    git clone -b v1.10.x https://github.com/NodeBB/NodeBB.git /var/www/html

    下载 NodeBB 源码到网站根目录

    cd /var/www/html/ | yarn install

    NodeBB 目录执行 yarn install

    /var/www/html/nodebb setup

    执行 NodeBB 初始化设置

    设置中域名要填访问域名,例如要在域名为 https://www.leviatan.cn 的80端口上访问 NodeBB,则域名填 https://www.leviatan.cn:80 ,后面不要加"/",否则在访问某些功能时会出现类似 https://www.leviatan.cn// 的情况

    所有填写的配置会保存在 NodeBB 目录下的 config.json 中,随时可以修改

  • 相关阅读:
    (笔试题)关于C++的虚函数和多态性
    (笔试题)只用逻辑运算实现乘法运算
    (笔试题)只用逻辑运算实现加法运算
    (C++)浅谈多态基类析构函数声明为虚函数
    (C++)C++多态性中的静态绑定和动态绑定
    (C++)C++类继承中的构造函数和析构函数
    (C++)浅谈using namespace std
    (笔试题)不用除法操作符,实现两个整数的除法
    (笔试题)不用除法操作符,实现两个正整数的除法
    当你学会专注,人生才算真正成熟
  • 原文地址:https://www.cnblogs.com/leviatan/p/9428183.html
Copyright © 2020-2023  润新知