Hexo 一个开源的博客框架,本文记录了一下在树莓派上搭建 Hexo 博客的过程。

上一篇介绍了 Hexo 的配置,现在网站已经能在本地访问了,也能通过 hexo generate 命令生成静态界面

当然,为了让别人可以访问到我们的站点,pi 还需要一个 Web 服务器,这边呢就选择 nginx。

同时把静态页面上传到我们的 pi 还需要在 pi 上安装 ftp 服务器,这里就选择 vsftpd。

一、安装与配置 nginx

直接通过镜像源安装,输入一下命令 nginx version: nginx/1.2.1

sudo apt-get install nginx

安装很快就完成了,首先我们来测试配置文件准确性( nginx 自带):

pi@raspberrypi:~/blog $ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然后就启动 nginx(注意要使用 sudo,Linux 只有 root 用户可以使用 1024 以下的端口)

sudo nginx

浏览器输入树莓派的 IP 地址:192.168.0.202,出现下面页面就成功啦!

接下来就对 nginx 进行一些配置,nginx 默认配置文件路径为 /etc/nginx/sites-available/default

  1. 配置网页文件夹路径

    在配置文件中我们看到默认网页路径被设置为:
/usr/share/nginx/www

把这段内容修改为我们自己的静态页面文件夹,修改为如下:

/home/pi/lo_www
  1. 配置Nginx 支持 python 脚本

  2. 最后记住下面两个命令,就可以自由地控制 nginx 了:

sudo nginx -s stop         # 快速关闭nginx
sudo nginx -s reload # 重载配置文件

二、安装与配置 vsftpd

输入如下命令安装 ftp 服务:

sudo apt-get install vsftpd

此时系统将自动创建 ftp 用户和 ftp 组,并建立 "/srv/ftp" 文件夹作为 ftp 用户的 HOME 目录。(如果想把FTP的目录放在 "/home/ftp",可修改 "/etc/passwd" 文件中 ftp 用户的 HOME 目录位置。)

修改下面的文件配置 ftp:

sudo vim /etc/vsftpd.conf

由于服务器只有我一个人使用和维护,所以不需要建立 vsftpd 虚拟用户,直接使用系统帐户登录(即SSH登录名密码来登录)FTP,那么配置文件中只需要开启如下几项即可。

listen=YES
# 关闭匿名访问
anonymous_enable=NO
# 允许本地账号登陆和写:
local_enable=YES
write_enable=YES
local_umask=022
local_root=/var/www
max_clients=3
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
idle_session_timeout=600
data_connection_timeout=120
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

其余配置参数全部用 “#” 注释掉,值得一提的是上述:

local_root=/var/www
max_clients=3

是原配置文件中没有,我额外添加的两项,第一项是将 FTP 客户端登录固定到 /var/www 目录,第二项是客户端连接最大数。

最后记住以下几个命令:

sudo /etc/init.d/vsftpd stop     # 关闭ftp
sudo /etc/init.d/vsftpd restart # 启动ftp

使用 FileZilla 去连接的时候出现错误:** vsftpd 不安全的服务器,不支持 FTP over TLS。**

解决办法:在 FileZilla 中配置不使用 TLS:

接下来就可以把我们的静态文件上传到树莓派服务器啦~

欢迎浏览本网站~

树莓派搭建 Hexo 博客(二)的更多相关文章

  1. 树莓派搭建 Hexo 博客(一)

    Hexo 一个开源的博客框架,本文记录了一下在树莓派上搭建 Hexo 博客的过程. 什么是 Hexo? Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或其他渲染引擎)解 ...

  2. 史上最详细“截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  3. 史上最详细“截图”搭建Hexo博客——For Windows

    http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...

  4. 阿里云VPS搭建Hexo博客

    最近买了一个阿里云服务器,准备写自己的网站,和将自己的作品放在上面:开始的时候,感觉就一个服务器应该很简单,但是从申请域名到备案,再到服务器搭建,没想到一波三折:闲话不多说,只是记录我在搭建时,最简单 ...

  5. 在vps上搭建hexo博客

    最近更换了服务器,需要把自己的Hexo Next重新部署到新服务器上,本文记录一下在vps上搭建hexo博客的过程. 在vps上搭建hexo博客需要下面这些工具: Nginx: 用于博客展示 SSH: ...

  6. 利用Serverless应用搭建Hexo博客

    本文将介绍如何使用火爆的Serverless应用,15分钟快速搭建Hexo博客.以腾讯云提供的Serverless应用–云开发为例: 步骤1:安装 CloudBase CLI 以及本地部署 Hexo ...

  7. 搭建hexo博客遇到的问题

    搭建hexo博客遇到的问题 常用命令 hexo clean 清除hexo缓存 hexo generate 生成文章 hexo deploy 部署 hexo new post name 新建文章名 he ...

  8. Termux搭建hexo博客并部署到GitHub

    Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...

  9. [Node.js] 3、搭建hexo博客

      一.安装新版本的nodejs和npm 安装n模块: npm install -g n 升级node.js到最新稳定版 n stable   二.安装hexo note: 参考github,不要去其 ...

随机推荐

  1. 任务学习-ucos

    1.任务(task)也称作一个线程: 2.一个任务有5种状态:休眠,就绪,运行,挂起,被中断 休眠:任务驻留在程序空间中,还没有交给ucos管理,把任务交给ucos 是通过调用OSTaskCreate ...

  2. Java 加密Excel文件(打开时需输入密码)

    收集:author: lifq package com.XXX.XXX.utils; import java.io.IOException; import com.jxcell.CellExcepti ...

  3. mysql数据去重复distinct、group by

    使用distinct 和group by都可以实现数据去重. select distinct 字段 group by 一般放在where条件后

  4. JavaScript js调用堆栈(一)

    本文主要介绍JavaScript程序内部的执行机制 首先先了解什么是执行上下文 执行上下文就是当前JavaScript代码被解析和执行是所在环境的抽象概念,JavaScript中运行任何的代码都是在执 ...

  5. Vue node.js商城-购物车模块

      一.渲染购物车列表页面 新建src/views/Cart.vue获取cartList购物车列表数据就可以在页面中渲染出该用户的购物车列表数据 data(){   return {      car ...

  6. RPAD()和LPAD()函数进行字符串的填充

    RPAD()函数从右边对字符串使用指定的字符进行填充. 格式:RPAD(string,padded_length,[pad_string]) string 表示:被填充的字符串. padded_len ...

  7. JavaScript 基础(六) 数组方法 闭包

    在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...

  8. windows下openresty中使用lua做接口转发、二次封装等

    需求:根据客户需求,可以在ngx下 通过lua做接口二次封装再次转发给用户或第三方 场景:对返回值有要求的.接口屏蔽字段.或做一些业务上的验证等 1.windows直接下载openresty 解压即可 ...

  9. winform窗体传值和动态添加控件

    1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...

  10. Cacti 学习笔记

    Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdto ...