nginx快速搭建静态博客

1.安装配置Hexo

在mac上安装Node/Npm,使用homebrew安装

brew update
brew install node

安装Hexo

npm install hexo -g

2.配置Hexo文件夹

hexo init blog
cd blog
npm install
#本地调试
hexo s 

现在博客就已经生成了,访问http://localhost:4000 可以看效果。

hexo的基本命令

  • hexo g 生成public静态文件
  • hexo d 部署网站
  • hexo s 本地调试
  • hexo new 'title' 生成新的文章

配置文件

在根目录下有_config.yml文件,里面有一些比较重要的配置内容:

  • title:网站名称
  • author:网站作者
  • language:默认为英文,zh-Hans为简体中文
    推送设置:
deploy:
type: git 
message: update
#例如:[email protected]:/root/blog/blog.git,master
repo: username@ip:'git仓库路径','分支名master' 

3.服务器生成git仓库

可以在服务器建立私人git仓库,服务器不需要做任何操作就能发布新文章。

创建空的git仓库

cd /root/blog
git init --bare blog.git

配置ssh key

首先在本地生成一个公钥,生成公钥的时候会让你输入两次密码,直接回车跳过代表密码为空。

cd ~/.ssh
ssh-keygen
#打印公钥
cat ~/.ssh/id_rsa.pub

复制公钥到服务器

复制上面打印的公钥内容,在服务器中找到authorized_keys文件,拷贝进去后保存,现在就可以从本地拉取服务器代码了

cd ~/.ssh
vim authorized_keys
#拷贝公钥后保存

本地项目中运行hexo,并推送代码到服务器

hexo g
hexo d
#上一步可能会出现ERROR Deployer not found: git错误提示,输入下面命令之后重新输入hexo d
npm install --save hexo-deployer-git

4.服务器克隆代码,并建立git hooks自动拉取代码

在服务器某个目录中克隆代码

cd /home/www/blog
git clone /root/blog/blog.git

建立git hooks自动拉取客户端提交的代码

#编辑post-receive,在客户端提交代码的时候会触发
vim /root/blog/blog.git/hooks/post-receive
#输入以下内容
#!/bin/sh
unset GIT_DIR
DeployPath=/home/www/blog

cd $DeployPath
git pull origin master

5.配置nginx

如果未安装nginx服务器的同学,自行百度安装吧,我就不在这阐述了。

vim /etc/nginx/nginx.conf
#root代表项目的根目录
server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /home/www/blog;
    include /etc/nginx/default.d/*.conf;

    location / {
        index  index.html;
    }
}
#编辑完保存后重启nginx
nginx -s reload

到目前整体的博客就配置完毕了,你现在访问你的服务器就能够打开博客,如果有需要还可以买个域名,映射到当前服务器,你就可以通过域名访问你的博客了。

6.发布新文章

现在发布新文章就非常简单了

首先生成一个新文章

hexo new [title]

在根目录下-source-_posts会生成一个新的markdown文件,打开并编辑好你想要发送的内容。你也可以本地预览,预览没有问题就可以编译推送了。

hexo g
hexo d

你可能感兴趣的:(nginx快速搭建静态博客)