Hexo建站从入门到精通:本地环境配置、初始化、写作与部署
rsync远程同步工具 服务端配置 1.安装rsync服务端。 执行以下命令安装rsync : 建立服务端的网站文件夹:mkdir -p /home/wwwroot/hexo #我习惯将网站文件存储在/home/wwwroot下,你可以更改成你自己的喜好 2.配置rsync用户。执行:adduser hexo,要求填写密码和一系列信息。完成后自动建立/home/hexo主目录以及hexo用户组。先确认一下你的S*S*H服务端配置,因为hexo的rsync部署也需要连接s*s*h,不支持使用密码登陆。 我们需要生成一对密钥: vim /etc/s*sh/s*shd_config#Debian系系统可用,其他系统参考自己的路径。检查这三行是否被注释以及值是否正确: 如果不正确进行修改,重启s*s*h:service s*sh restart#服务名不同发行版不同,这是Debian系的名称。然后生成一对s*s*h认证密钥: 在生成密钥时,会要求你输入一个加密密码,可以不填写,实现无密码登陆。生成完成后,.s*s*h目录下有id_rsa和id_rsa.pub两个文件,其中.pub文件是公钥文件,存放于服务器,另一个是私钥文件,存放于客户端。两者都是文本文件,可以直接用cat命令读取。将id_rsa下载回本地保存好。之后配置需要用到。 将公钥id_rsa.pub重命名并授予正确的权限: 3.nginx。执行以下命令下载nginx源码: 编译cloudflare patch过的openssl(如果你不使用HTTPS可以跳过本步骤) 编译安装nginx: 执行nginx -V测试是否安装成功,之后进行nginx配置。首先建立虚拟主机配置文件夹:mkdir /usr/local/nginx/conf/vhost。修改主配置文件:vim /usr/local/nginx/conf/nginx.conf: 修改后文件内容如上,…代表省略内容。然后建立虚拟主机配置文件: 一个最基本的Hexo配置如下: 加入缓存配置: 本站是全站HTTPS,使用Let’s encrypt证书,对HTTPS有大量配置,下面是本站的配置文件: 保存你的配置文件,执行以下命令建立nginx服务并设置开机启动: 完成之后,执行:service nginx start,即可启动nginx。 本地配置 1.本地S*S*H配置。 本地s*s*h命令也依靠一个配置文件。用户定义配置文件的路径是~/.s*sh/config(PS:这一路径对Windows是可用的,如果你使用Git Bash,这就是为什么我强烈推荐Git Bash的原因)。建立文件夹: 编辑config文件,写入如下配置: 然后执行以下命令,如果连接成功就说明用户配置成功了。注意,这种方式需要用户具有访问bash的权限,因此请注意自己服务器的权限控制: 2.配置部署选项。 执行以下命令安装hexo rsync部署模块 : PS:此节中home代指Hexo站点目录。编辑home/_config.yml文件,找到deploy项目,修改如下: 以root登陆VPS,执行以下命令来开放_config.yml中配置的rsync端口,如果没有iptables可以跳过这一步: 保存,进入home目录,执行以下命令即可将静态文件发布到服务端了。 至此,一切(woc终于结束了)搭建步骤完成,快访问你的域名看看效果吧~(解析请自行完成) 五、TroubleShooting 如果各位在阅读本文过程中有任何不理解的问题,或者任何步骤出错,解决方法如下:
由@咖啡费德克士 提出的问题:我的博客中既有http又有https,然后浏览器就给拦截了部分js,有什么解决方法吗? 出于安全策略,浏览器默认不会加载HTTPS网页中的HTTP脚本文件。如果网站有HTTP和HTTPS版本,建议先对自己网站的访客做一个统计,看一下他们的软件版本。如果兼容性不是太大的问题,建议切换到全站HTTPS,禁用HTTP。 如果是引用了一些公共库,比如jQuery之类,建议直接谷歌搜索:公共库名+HTTPS+CDN,即可找到对应公共库支持HTTPS的CDN。PS:目前主流浏览器支持自适应协议栈,即写链接时省略协议栈,写成//domian.com,浏览器会根据当前页面的协议自动选择HTTP/HTTPS 另外,也可以使用一些简单粗暴的办法。比如直接将HTTP资源下载到本地,然后引用本地的链接。如果是多说评论头像之类,可以尝试反¥代评论头像。 注:相关网站建设技巧阅读请移步到建站教程频道。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |