最近刚撸了个阿里云ECS服务器来折腾,先搭个Hexo博客耍耍,这里记录一下操作步骤。

撸主选的是最便宜的阿里云ECS,应付日常小撸妥妥的,具体配置如下:

1
2
3
4
CPU:1
内存:1024MB
操作系统:CentOS 7.2 64
带宽:1Mbps

下面是具体的步骤:

  • 连接服务器
1
$ ssh root@xx.xx.xx.xx
  • 安装Nodejs环境

    • 更新软件源
    1
    $ yum -y update
    • 下载Node.js
    1
    2
    $ cd /usr/local/src
    $ wget http://nodejs.org/dist/node-latest.tar.gz
    • 解压
    1
    2
    $ tar zxf node-latest.tar.gz
    $ cd node-v*.*.*
    • 编译安装
    1
    2
    $ ./configure
    $ make && make install
    • 确认安装成功
    1
    2
    $ node -v
    $ npm -v
  • 安装Hexo

1
2
3
4
$ npm install -g hexo-cli
$ hexo init blog
$ cd blog
$ npm install
  • 启动Hexo
1
2
$ hexo server //普通启动
$ hexo server & //静默启动

启动成功后就可以通过服务器的ip地址xx.xx.xx.xx:4000访问到页面了,然后把4000转到80上,通常做法是用Nginx做反向代理,这里先用iptables防火墙简单做一下转发处理。

  • 转到80端口

编辑iptables文件

1
$ vi /etc/sysconfig/iptables

加上下面这段

1
2
3
4
5
6
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4000 -j ACCEPT
*nat
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4000
COMMIT

重启iptables服务

1
$ service iptables restart

这时发现报错了

1
Failed to restart iptables.service: Unit iptables.service failed to load: No such file or directory.

查了一下原来是CentOS 7中的防火墙改成了firewalld,这里先换回iptables。

1
2
3
4
5
$ systemctl stop firewalld
$ systemctl mask firewalld
$ yum install iptables-services
$ systemctl enable iptables
$ service start iptables

这样就可以通过ip地址xx.xx.xx.xx直接访问网站了。

  • 域名解析

再撸个域名ppxu.me,把@www都解析到服务器ip地址就可以了。

  • git管理

再配置一下git环境,以后就可以通过git来管理内容了。

参考资料