看了很多搭建博客的 wordpress 、ghost 、jekyllcn 、hexo 。这些都可以搭建属于自己的博客,各有各的优点,开始的时候使用了wordpress搭建了一个感觉太弱鸡了。先安装一个 宝塔 软件,然后安装wordpress没什么难度,关键定制里面的东西感觉一点都不方便,重点是界面极丑,我感觉自己把主题全部换遍了然后都没有一个我自己觉得满意的,然后我放弃了,不用这个搭建。
然后看了其他很多搭建博客的,后来选择了hexo。
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。Hexo的主题样式也有很多好看的,而且github都有star上万的。说明还是很受欢迎的。
如果有人想使用Ghost搭建的轻型博客可以去看一下如何在 CentOS 7 上搭建一个 Ghost 博客 ,朋友就是使用这个搭建的,我选择了hexo我就不去折腾了。
hexo 搭建博客可以采用
1、Hexo + Github Pages 的方案,前往https://github.com 注册一个账号。 2 、采用 CentOS 搭建在云服务器上,我的是CentOS / 7.6 x64系统,就是Linux操作系统的一个发行版本。
目录
如果直接在放在服务器上,可以不用安装git,只是需要安装node、Hexo、nginx。如果使用Github搭建,则需要按照安装。意思就是如果你想要通过git从一个地方提交到远程仓库,就需要安装。
免费的代码存储空间,先去上面的网址注册一个账号,这个账号就是作为博客的网址的前缀,注意这个是不能修改的https://xxx.github.io。由于我都使用工具在云服务器操作的,所以这儿推荐一个Mac系统软件上感觉相对好用的软件 FinalShell SSH工具简陋的官网 ,不过我喜欢,就喜欢简单而又直白的…。macOs系统版本FinalShell下载 ,windows版本FinalShell下载 。不过你喜欢用其他也行,只要能连接上服务器就完事。
一、配置Node和安装
如果你是使用的Final的话,你自己选择一个node要安装的目录,你也可以新建一个。我的是在主目录新建了一个/soft,然后在命令工具cd /soft 该目录,如果你这儿是想放在其他目录里,你自己cd到要的那个目录里,然后你直接把下载下来的node包拖到这个目录下,就会显示上传。如果你使用的其他工具请自行解决,你也可以使用服务器远程桌面连接,然后在服务上直接下载也行。
使用命令 xz -d node-v12.14.1-linux-x64.tar.xz转为 node-v12.14.1-linux-x64.tar文件 然后tar -xvf node-v10.15.1-linux-x64.tar解压,然后使用删除 rm -rf node-v12.14.1-linux-x64.tar源文件,重命文件夹 mv node-v12.14.1-linux-x64 node 后面好使用。
建立软连接,就是快捷方式就相当于一个入口相当于桌面快捷方式,前面部分就是你先前安装路径 后面是快捷方式路径。
ln -s /soft/node/bin/node /usr/local/bin/nodeln -s /soft/node/bin/npm /usr/local/bin/npm
使用 npm - v和node - v是否安装成功,如果成功会输出版本号#node -v v12.14.1 和 `#npm -v6.13.4。
找到这个 /usr/local/bin 路径会node和npm的快捷方式,带有绿色的箭头。
二、Git环境安装
选择一个目录安装Git,看你自己安装在哪儿。我的是安装到/usr/local目录下,cd /usr/local/git。
这儿查看git最新版本 或者github上查看 ,我使用的是git v2.20.0-rc0 版本,你可以直接下载下来上传到linux环境中。也可以使用命令 wget https://github.com/git/git/archive/v2.20.0-rc0.tar.gz。
下载过后然后解压和上面的步骤一样 tar -zxvf git-v2.20.0-rc0.tar.gz,然后删除rm -rf git-v2.20.0-rc0.tar.gz源文件。
安装依赖包, yum install curl-devel。
开始安装Git ./configure --prefix=/usr/local/git 这儿这个/usr/local/git 就儿这个目录是你的git安装目录,之前的解压出来目录是 /usr/local/git-v2.20.0-rc0 。
执行 make。
再执行完成过后,执行 make install。
建立软连接,和前面的意思一样快捷方式 ln -s /usr/local/git/bin/* /usr/bin/。
查看版本git --version
GitHub 添加 SSH key,先看本地是否有cd ~/.ssh 然后再执行ls,存在会显示 id_rsa、id_rsa.pub、know_hosts 三个文件,没有创建 ssh-keygen -t rsa -C "xxx邮箱",把 “xxx邮箱” 替换成你真实的注册github时的邮箱,然后回车输入两次密码。直接回车为空就行,成功后通过如下命令拷贝 SSH key 的内容 clip < ~/.ssh/id_rsa.pub不过你也可以直接打开然后再复制。然后再github新建的仓库里,用你的用户名命名。创建成功过后打开SSH and GPD Keys然后填入信息和刚才复制的 SSH keys值 ,到这儿github pages配置完成。
三、Hexo安装
安装 npm install -g hexo-cli,hexo为node的一个模块。
建立hexo 软连接 ln -s /soft/node/bin/node/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo。
cd /soft/hexo/hexoblog,然后执行 hexo init hexoblog npm install。
hexoblog目录下会多出来.deploy_git、node_modules、scaffolds、public、source、themes等一些配置文件夹,这儿public就是hexo 执行hexo g过后生成的网站根目录,source是编写的Markdown文件资源,themes是hexo博客的一些主题目录。这儿还有一个重要的目录配置文件_config.yml这个就是配置网站里的基础信息。
hexo clean、hexo generate、 hexo server、 hexo deploy 分别对应简写hexo c、 g 、s 、d,第一个清除所有生成网页文件,第二个生成静态的网页文件,第三个开始启动本地服务器 http://localhost:4000/临时时访问,第四个是生成后立即部署网站。更多指令可以前往hexo官网查看 。
这儿public目录下的_config.yml配置如果是使用github+pages 。
1 2 3 4 5 6 7 8 heme: landscape-plus ##这儿默认是landscape主题官方 # Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repository: git@github.com:xxx/xxx.github.io.git ##这儿换成你github用户名 branch: master
配置过后就可以hexo s查看hexo d发布到github了。
四、Nginx配置安装
去官网下载 最新的Nginx安装包nginx-1.14.2 。
上传到服务器 /usr/local,和前面一样的解压,然后 cd /usr/local/ngxin-1.14.2,再执行命令./configure --prefix=/usr/local/nginx-1.14.2。
执行 make ,再执行 make install。
找到安装完成过后的 /usr/local/nginx/sbin/nginx的文件,我这儿把nginx-1.14.2重命名nginx。然后修改nginx的配置。找到路径 /usr/local/nginx/conf/nginx.conf 打开这儿就是一系列的配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 server { listen 80;#可以修改成其他端口,确定该端口可用 server_name localhost;#有域名填写域名 listen 443 ssl; ssl_certificate server.crt; ssl_certificate_key server_nopwd.key; #charset koi8-r; #access_log logs/host.access.log main; location / { root /soft/hexo/nginxblog/public ; #这儿就是你要修改的hexo生成的静态网站目录 index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html error_page 500 502 503 504 404 /404 x.html; location = /404 x.html { root html; } }
然后启动nginx, /usr/local/nginx/sbin/nginx -s reload 如果有错误的话会提示错误。/usr/local/nginx/sbin/nginx -t会检查nginx配置文件是否正确。/usr/local/nginx/sbin/nginx -s stop快速停止。
如果启动出现telnet: connect to address ~ no route to host 重新关闭了重启开始出现的话,请先检查端口是否可用,可以使用指令查看 ps -ef | grep nginx 查看nginx端口是否启动成功。netstat -a 查看所有服务端口运行情况。如果还是没有解决,直接关闭防火墙iptables -F,然后再重启nginx。
到这儿如果是80端口的话,你直接在你电脑上输入服务器主ip地址应该就可以看到你的博客界面了。