上一篇文章中,我将博客部署在了github/gitee上,由于当时的网络环境特殊,github.io此类域名可以正常使用,之后发现github.io此类域名会被DNS污染(127.0.0.1),而同为git pages项目的gitee.io虽然可以正常使用,但在每次hexo deploy
后仍需进入到仓库页面重新更新Gitee Pages服务(付费用户可以自动更新),多有不便,于是便趁着阿里云云翼计划的优惠入手了一台轻量应用服务器用于部署个人博客,现在本博客有三个部署地址:github.io、gitee.io以及阿里云服务器。在此对在服务器上搭建博客进行一点小小的补充。
服务器上的环境搭建
一开始时个人选择了阿里云的LAMP镜像,后来又重置成了CentOS7.3的系统镜像,自己配置安装博客搭建所需的东西。首先为了远程管理服务器,个人选择了使用账号密码进行连接的方式,设置了root账号密码进行SSH连接以及SFTP连接。SSH连接所用软件为微软商店下载的Windows Terminal及Win10自带的OpenSSH client功能。SFTP连接所用软件为WinSCP。通过SSH及SFTP连接上服务器后准备工作就完成了。
- 首先,我们部署的hexo博客是基于Node环境的,所以服务器上也少不了Node环境。SSH终端输入
yum install nodejs
下载Node.js。 - 然后就是进行Nginx部署了,由于我们部署的hexo博客为静态博客,直接使用Nginx驱动博客根目录下的
index.html
文件即可。而Nginx的安装需要三个前置依赖:openssl库、zlib库和pcre库用于支持Nginx的ssl功能、gzip模块和rewrite模块。如果不清楚服务器上是否原生安装有这三个库可以使用rpm -qa|grep openssl
、rpm -qa|grep zlib
、rpm -qa|grep pcre
进行查询。安装方法同Node.js,直接使用包管理器进行下载:yum install openssl
、yum install zlib
、yum install pcre
。全部下载安装完成之后就可以安装部署Nginx了:yum install nginx
。
至此,驱动hexo博客的环境就已搭建完成,接下来就是配置文件的更改及博客上传了。
博客上传及驱动
为了管理方便,本人直接在/root
目录下创建了workspace文件夹、并在/root/workspace
下创建了myblog文件夹,后续博客上传直接将hexo generate
生成的public文件夹上传到myblog文件夹下即可。多层文件夹嵌套创建可以使用一行命令cd /root && mkdir workspace && cd workspace/ && mkdir myblog
完成。然后去SFTP软件里将本地生成的public文件夹上传到/root/workspace/myblog
路径下并修改Nginx配置文件驱动该文件夹根目录。
如果在安装Nginx时未手动指定目录,默认安装位置为yum包管理器同级目录下即/etc/nginx
。直接输入vim /etc/nginx/nginx.conf
使用vim编辑器打开Nginx的配置文件或者从SFTP软件中找到该文件打开。
修改此处的user为root避免出现权限问题。error_log是发生错误时日志文件的保存路径,有需要可以自行改动。
修改http下server的监听端口,默认为80端口(使用80端口需要备案),此处我改成了4000端口。修改完成之后就可以通过公网ip:端口
直接访问服务器上Nginx驱动的网页了,绑定域名后也可使用域名:端口
的形式来访问。同时,修改server的root目录,即Nginx的驱动目录,此处我改为了博客文件的存放目录/root/workspace/myblog/public
,注意,此目录即为index.html文件的完整路径,如果你是直接将hexo generate
生成的public文件夹中的文件复制到myblog文件夹下,则为/root/workspace/myblog
。
如果是使用vim编辑器打开的配置文件,需要按一下Insert
键才可开始修改文本,再按一下则是正常的Insert功能。需要退出时按Esc
再输入:wq
,此处w为write即写入保存的意思,而q为quit为退出。
然后直接在SSH终端输入nginx
启动Nginx服务,此时我们就可以访问到我们的个人博客了。
每次博客改动时需要手动上传文件的操作也比较繁琐,可以通过创建shell脚本完成:
1 | scp -r localfolder user@host:remotefolder |
此处localfolder
为本地博客生成的静态文件路径,即public文件夹的完整路径,如/d:/MyBlog/public/。user
为远程登录服务器的用户,host
为服务器的ip地址,默认使用22端口进行scp连接,如果服务器开放scp的端口不为22端口可以使用-p
指定端口号。remotefolder
为远程存放博客文件的目录路径,即Nginx所驱动的目录的上层目录,如/root/workspace/myblog/
。
发布时间: 2021-02-05
最后更新: 2021-04-10
本文标题: 博客搭建的补充
本文链接: https://cloudflare.luhawxem.com/2021/02/05/AppendOfBlogBuilding/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!