Hexo with Nginx on CentOS

deploy hexo by nginx on centos

  • create some dirs and enter pkgs dir
    1
    mkdir /home/packages && cd /home/packages
  • download npm compiled source code and unzip it
    1
    2
    wget https://nodejs.org/dist/v11.9.0/node-v11.9.0-linux-x64.tar.xz
    tar -xvf node-v11.9.0-linux-x64.tar.xz -C /usr/share/
  • create soft link
    1
    2
    3
    mv /usr/share/node-v11.9.0-linux-x64 /usr/share/nodejs
    ln -s /usr/share/nodejs/bin/node /usr/local/bin/
    ln -s /usr/share/nodejs/bin/npm /usr/local/bin/
  • install hexo
    1
    2
    npm install -g hexo-cli
    ln -s /usr/share/nodejs/bin/hexo /usr/local/bin/

install nginx

  • configure yum repo
    1
    vi /etc/yum.repos.d/my.repo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key

    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
  • install nginx and start it
    1
    2
    yum install -y nginx
    systemctl start nginx && systemctl enable nginx

  • init hexo project
    1
    mkdir /home/website && cd /home/website && hexo init && hexo g
  • refer to hexo public dir
    1
    vi /etc/nginx/conf.d/default.conf
    1
    2
    3
    4
    location / {                    
    root /home/website/public;
    index index.html index.htm;
    }
    1
    systemctl restart nginx


Now, you can access your blog by your IP address.