首页 > 经验 > 关键词  > VPS主机最新资讯  > 正文

VPS主机搭建Ghost环境:Nginx Node.js MariaDB

2015-06-25 15:19 · 稿源: 免费资源部落

Ghost是一款个人博客系统,它是使用Node.js语言和MySQL数据库开发的,同时支持MySQL、MariaDB、SQLite和PostgreSQL。用户可以在支持Node.js的服务器上使用自己的博客。它是由两位WordPress前工程师开发,特点就是轻 快 高效,并原生支持Markdown语法。

在WordPress变得越来越强大,同时又越来越臃肿的今天,Ghost的出现,无疑为博客系统界带来一股清风。 虽然如此,Ghost目前的使用者还局限于有一定代码基础的Geek,工程师们,它并不完善。如果您想尝试一下Ghost博客的轻便快速,不妨跟随本文来进行一番尝试。

本文使用的环境如下: CentOS 6.6 x86_64纯净系统 。搭建目标如下:

1.nginx 1.9.2 编译SPDY模块 ;

2.node.js v0.12.4 ;

3.MariaDB 10.1.5(YUM快速安装) ;

4.安装并配置Ghost 0.6.3程序 。

更多的有关于博客系统搭建的信息可查看:静态博客程序使用入门

一、编译安装Nginx 1.9.2

1.首先我们去官方网站下载最新的nginx源码:

    cd /usr/local/src

    wget https://nginx.org/download/nginx-1.9.2.tar.gz

2.解压nginx源码:

tar xzvf nginx-1.9.2.tar.gz

cd nginx-1.9.2

3.编译openssl(为https准备,不需要请跳过该步骤)

yum update -y && yum install -y ncurses-devel make gcc bc  
cd /usr/local/src  
wget https://www.openssl.org/source/openssl-1.0.1h.tar.gz  
tar zxvf openssl-1.0.1h.tar.gz  
cd openssl-1.0.1h  
./config
make

4.建立makefile(此处加入了https(--with-httpsslmodule)与spdy(--with-httpspdymodule)模块,若不需要请去掉)

#安装依赖环境
yum update -y && yum install pcre-devel zlib-devel  
#编译nginx
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_spdy_module --with-openssl=/usr/local/src/openssl-1.0.1h
useradd www -g www  
make  
make install  

5.添加nginx管理脚本,设置开机启动

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"  
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {  
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -z "`grep $user /etc/passwd`" ]; then
       useradd -M -s /bin/nologin $user
   fi
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}

start() {  
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {  
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {  
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {  
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}

force_reload() {  
    restart
}

configtest() {  
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {  
    status $prog
}

rh_status_q() {  
    rh_status >/dev/null 2>&1
}

case "$1" in  
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac  

6、使用以上代码时,请注意代码的中英文字符在复制过程中是不是有变化。执行:vim /etc/init.d/nginx  。按I编辑,贴入上方脚本。按Esc,然后按:键,输入wq,回车保存。接着执行以下代码:

chkconfig --add /etc/init.d/nginx  
service nginx start  
chkconfig --level 2345 nginx on  

6.nginx有关路径:nginx:/usr/local/nginx  ,nginx.conf:/usr/local/nginx/conf/nginx.conf 

二、yum快速安装MariaDB 10.1.5

1.添加MariaDB源:

cd /etc/yum.repos.d  
vim MariaDB.repo  
#输入如下内容
[mariadb]
name = MariaDB  
baseurl = https://yum.mariadb.org/10.1.5/centos6-amd64/  
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  
gpgcheck=1  
#保存退出

2.安装启动MariaDB

yum install MariaDB-server MariaDB-client MariaDB-devel  
service mysql start  

3.更改MariaDB root密码:/usr/bin/mysqladmin -u root password '你的密码' 

4.设置MariaDB字符集:

cd /etc/my.cnf.d  
vim server.cnf  
#在[mysqld]段下加入
character-set-server=utf8  
#在[server]段上方输入
[client]
default-character-set=utf8  
#保存退出
service mysql restart  

5.编辑完后如下图:

5.建立ghost数据库

mysql -uroot -p你的密码  
#MariaDB>表示在mysql客户端中输入
MariaDB>CREATE DATABASE ghost;  
MariaDB>quit  

6.MariaDB配置文件路径:my.cnf:/etc/my.cnf  ,my.cnf引用:/etc/my.cnf.d 

三、安装node.js v0.12.4

1.下载node.js二进制源码包(这个是编译好的程序,可直接使用,只要设置环境变量即可)

cd /usr/local  
wget https://nodejs.org/dist/v0.12.4/node-v0.12.4-linux-x64.tar.gz  
tar xzvf node-v0.12.4-linux-x64.tar.gz  
cd node-v0.12.4-linux-x64  

2.设置环境变量:

vim /etc/profile  
#在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL上方加入
export NODE_HOME=/usr/local/node-v0.12.4-linux-x64  
export PATH=$NODE_HOME/bin:$PATH  
#保存退出
source /etc/profile  
node -v #查看node.js版本 

3.附图:编辑后的/etc/profile

  • 相关推荐
  • 大家在看
  • 腾讯云服务器12.12限时秒杀-1核2G首年50元

    腾讯云服务器12.12多种机型限时抢购,1核2G服务器4.17元/月,2核4G服务器6.17元/月,专业技术7*24小时在线服务,腾讯云为企业和个人提供快捷,安全,稳定的云服务!

    广告
  • Xbox One主机确认停产!微软:全力保证次世代主机供应

    据外媒报道,目前微软已经确认停止生产所有的Xbox One游戏机,静待零售商的库存售罄。据悉,早在Xbox Series X推出之初,微软就暂停了Xbox One X和数字版Xbox One S的生产。并且在2020年底之前,停止了Xbox One S的生产。Xbox官方人员表示,这是为了专注于Xbox Series X/S的生产”。值得玩味的是,微软的这篇声明适逢索尼宣布重启PS4的生产。索尼官方表示将在2022年重启PS4的生产线,以每年100万台PS4游戏机的产能来缓解PS5产量不?

  • 消息称索尼今年不会停产 PlayStation 4 游戏主机

    微软早在2020年就已经停产了 Xbox One X 和 Xbox One S,Xbox 高级总监 Cindy Walker 表示,停产旧设备是为了专注于新的 Xbox Series X / Series S 的生产...尽管索尼的 PlayStation5已经推出一段时间,并曾经计划在2021年停产 PlayStation4,但由于目前 PlayStation5仍处于缺货状态,彭博消息指出,至少在2022年,索尼仍会继续生产 PlayStation4,产量目标也达一百万台来应付需求......

  • Faker.js作者删库,拒绝被“白嫖”

    ​知名工具库 Faker.js 创建者 Marak 近日被发现已将项目仓库的所有代码清空,并在 commit 信息写下"endgame",还在 README 中写道:“What really happened with Aaron Swartz?。”(点此查看 Aaron Swartz 生平介绍)

  • faker.js与colors.js开源库遭开发者恶意破坏 波及大量项目

    BleepingComputer报道称:近日一位开发者似乎故意破坏了GitHub和软件注册npm上的一对开源库...尽管color.js看似已更新到新版本,但faker.js可能还需再等待一段时间,着急的朋友可尝试降级到先前的5.5.3版本...此外BleepingComputer发现这两个库的开发者向colors.js引入了恶意提交,添加了所谓的Americanflag模块,并推出了可触发同样破坏性事件的6.6.6版faker.js库...更奇怪的是,faker.js的自述文件,也被改成了亚伦·斯沃茨的名字...由于faker.js在npm上的每周下载量接近250万、colors.js亦有约2240万,本次破坏事件还是给开源项目敲响了安全警钟...

  • 神策数据:六大环节,教你如何从 0 到 1 搭建一场 A/B 测试

    因为市面上对于 A/B 测试搭建的信息都比较碎片化,没有成体系化的梳理,且缺少标准化、规范化的 A/B 测试工具,所以,神策数据结合数百场 A/B 测试的服务及交付经验,总结、沉淀出了建立假设、确定评价指标、设计试验、运行试验并获取数据、结果分析、最终决策六大环节,帮助企业顺利落地 A/B 测试,为客户带来价值...样本量计算背后的统计学逻辑较为复杂,计算公式如下:...也可以简单理解为总体数据有 95% 的可能性在这个范围内......

  • Terra超过了Binance智能链成为第二大DeFi金融协议

    去中心化支付网络Terra现在是去中心化金融(DeFi)协议在总价值锁定(TVL)方面的第二大区块链,这一支撑了以太坊的协议本周已经超越了现在已经落到第三的Binance智能链(BSC)。分析工具DeFiLlama的数据显示,在Terra上,13个项目锁定了超过182亿美元的价值。这意味着每个协议平均超过14亿美元,而BSC上每个协议平均为7300万美元,BSC上有225个协议锁定了165亿美元。与2020年12月相比,这些数字增加了近42000%,当时Terra上的DeFi

  • NGINX联合创始人Igor Sysoev宣布回归家庭并追求个人发展

    本周二,F5 Networks 旗下 NGINX, Inc. 通过官方博客宣布:联合创始人 Igor Sysoev 已选择退出 NGINX 和 F5,以便有更多时间陪伴家人和追求个人发展...接着他找到了一份系统管理员工作,同时继续编写代码,最终于 1999 年发布了首个汇编语言程序 —— 一款能够抵御当时最常见的 10 种计算机病毒的反病毒软件...最终在 Igor 的带领下,该公司自成立以来不断改进其开源产品(发布了 140 多个版本),并为当今数以亿计的网站提供着支持......

  • Bing与Yandex率先采纳IndexNow协议 可分享即时URL更新

    首批宣布采用该协议的搜索引擎,包括了微软旗下的必应(Bing)、以及深耕俄罗斯市场的 Yandex...此前 IndexNow 一直在缓慢增长,但微软希望通过允许 Bing、Yandex 和其它参与者的搜索引擎,共享从 IndexNow 提交的 URL 来大举促进新协议的采用...目前 IndexNow 已被“多个搜索引擎”采纳,但微软尚未披露更多细节...至于这项新协议能够对搜索行业产生多大的积极影响,仍有待时间去检验......

  • 最高支持12代酷睿处理器!华擎发布新一代DeskMini迷你主机

    今天,华擎正式发布了新一代DeskMini B660,该产品搭载Intel B660主板,并最高支持Intel 12代酷睿处理器。视频输出上,DeskMini B660支持同时为三个屏幕输出视频信号,帮助用户高效处理多任务作业,同时配备DisplayPort 1.4接口,允许最高8K的视频输出,满足娱乐需求。而在存储空间上,DeskMini B660提供了两个M.2 SSD插槽,其中一个插槽将支持最新的PCI Express 5.0标准,存在不低的拓展上限。此外,DeskMini B660配备了USB 3.2 G

  • UINO优锘将发布拓扑编辑器TopoBuilder:快速打造活的2D数字孪生场景

    在UINO优锘科技的IMAGINATION|2021ThingJS开发者大会上, TopoBuilder产品负责人王维成向在线的开发者们展示了「如何用TopoBuilder打造2D数字孪生应用」。2D可视化 VS 3D可视化平时我们用ThingJS的工具和API通常是做一些3D可视化的开发,在描绘真实的物理世界时,3D的场景确实能给人更加直观的感受。然而在数字孪生的应用中,除了描绘物理世界,很多时候我们也需要去描绘逻辑世界,去表达对象之间的逻辑拓扑关系,比如组态工艺流?

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天