树莓派搭建 Hexo 博客(二)
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
- 配置网页文件夹路径
在配置文件中我们看到默认网页路径被设置为:
/usr/share/nginx/www
把这段内容修改为我们自己的静态页面文件夹,修改为如下:
/home/pi/lo_www
配置Nginx 支持 python 脚本
最后记住下面两个命令,就可以自由地控制 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 博客(二)的更多相关文章
- 树莓派搭建 Hexo 博客(一)
Hexo 一个开源的博客框架,本文记录了一下在树莓派上搭建 Hexo 博客的过程. 什么是 Hexo? Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或其他渲染引擎)解 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 史上最详细“截图”搭建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 ...
- 阿里云VPS搭建Hexo博客
最近买了一个阿里云服务器,准备写自己的网站,和将自己的作品放在上面:开始的时候,感觉就一个服务器应该很简单,但是从申请域名到备案,再到服务器搭建,没想到一波三折:闲话不多说,只是记录我在搭建时,最简单 ...
- 在vps上搭建hexo博客
最近更换了服务器,需要把自己的Hexo Next重新部署到新服务器上,本文记录一下在vps上搭建hexo博客的过程. 在vps上搭建hexo博客需要下面这些工具: Nginx: 用于博客展示 SSH: ...
- 利用Serverless应用搭建Hexo博客
本文将介绍如何使用火爆的Serverless应用,15分钟快速搭建Hexo博客.以腾讯云提供的Serverless应用–云开发为例: 步骤1:安装 CloudBase CLI 以及本地部署 Hexo ...
- 搭建hexo博客遇到的问题
搭建hexo博客遇到的问题 常用命令 hexo clean 清除hexo缓存 hexo generate 生成文章 hexo deploy 部署 hexo new post name 新建文章名 he ...
- Termux搭建hexo博客并部署到GitHub
Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...
- [Node.js] 3、搭建hexo博客
一.安装新版本的nodejs和npm 安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 二.安装hexo note: 参考github,不要去其 ...
随机推荐
- 任务学习-ucos
1.任务(task)也称作一个线程: 2.一个任务有5种状态:休眠,就绪,运行,挂起,被中断 休眠:任务驻留在程序空间中,还没有交给ucos管理,把任务交给ucos 是通过调用OSTaskCreate ...
- Java 加密Excel文件(打开时需输入密码)
收集:author: lifq package com.XXX.XXX.utils; import java.io.IOException; import com.jxcell.CellExcepti ...
- mysql数据去重复distinct、group by
使用distinct 和group by都可以实现数据去重. select distinct 字段 group by 一般放在where条件后
- JavaScript js调用堆栈(一)
本文主要介绍JavaScript程序内部的执行机制 首先先了解什么是执行上下文 执行上下文就是当前JavaScript代码被解析和执行是所在环境的抽象概念,JavaScript中运行任何的代码都是在执 ...
- Vue node.js商城-购物车模块
一.渲染购物车列表页面 新建src/views/Cart.vue获取cartList购物车列表数据就可以在页面中渲染出该用户的购物车列表数据 data(){ return { car ...
- RPAD()和LPAD()函数进行字符串的填充
RPAD()函数从右边对字符串使用指定的字符进行填充. 格式:RPAD(string,padded_length,[pad_string]) string 表示:被填充的字符串. padded_len ...
- JavaScript 基础(六) 数组方法 闭包
在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...
- windows下openresty中使用lua做接口转发、二次封装等
需求:根据客户需求,可以在ngx下 通过lua做接口二次封装再次转发给用户或第三方 场景:对返回值有要求的.接口屏蔽字段.或做一些业务上的验证等 1.windows直接下载openresty 解压即可 ...
- winform窗体传值和动态添加控件
1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...
- Cacti 学习笔记
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdto ...