看了很多搭建博客的 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下载。不过你喜欢用其他也行,只要能连接上服务器就完事。
如果你是使用的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,看你自己安装在哪儿。我的是安装到/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 --versionGitHub 添加
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配置完成。
安装
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 hexoblognpm 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
8heme: 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-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
21server {
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 /404x.html;
location = /404x.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地址应该就可以看到你的博客界面了。
