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. 百度webAPI配合微信JSDK获取用户当前位子

    逻辑: ①通过微信JS-SDK 获取地理位置接口 获取经纬度 ②调用百度地图转换经纬度的API,得到百度地图的经纬度 ③调用百度地图 正/逆地址编码服务-->国际化逆地理编码 得到JSON数据, ...

  2. AngularJS显示一个简单表格

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  3. LeetCode10.正则表达式匹配 JavaScript

    给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该覆盖整个字符串 (s) ,而不 ...

  4. Docker官方文档翻译2

    转载请标明出处: https://blog.csdn.net/forezp/article/details/80158062 本文出自方志朋的博客 容器 准备工作 安装Docker,版本为1.13或者 ...

  5. HTML基础全荟

    第一讲 html概述 1.认识HTML <! DOCTYPE html> <html> <style></style> <head>< ...

  6. Educational Codeforces Round 47 (Rated for Div. 2) :D. Relatively Prime Graph

    题目链接:http://codeforces.com/contest/1009/problem/D 解题心得: 题意就是给你n个点编号1-n,要你建立m条无向边在两个互质的点之间,最后所有点形成一个连 ...

  7. TCD产品技术参考资料

    1.Willis环 https://en.wikipedia.org/wiki/Circle_of_Willis 2.TCD仿真软件 http://www.transcranial.com/index ...

  8. react中事件冒泡之填坑

    今天在写个组件,大致代码是这样的: class Switch extends React.Component { handlerChange = (e) => { const {onChange ...

  9. flask与javascript及ajax

    flask与javascript及ajax 1.      flask+js 1.1.    最简单的 最简单的元素信息改变. {% block content %} <h1>我的第一张网 ...

  10. DATAGUARD实施文档

    DATAGUARD实施文档 一.前期准备及备机安装: 通过获取到的主机信息规划备机数据库安装基础信息:(注:在安装备机时需要尽量保障与主机库信息一致,以下表格中的备机信息为根据主机信息规划的安装信息. ...