概要
openEuler是一个开源免费的Linux发行版系统,通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系,openEuler同时是一个创新的系统,倡导客户在系统上提出创新想法、开拓新思路、实践新方案。为了降低 openEuler 使用门槛,促进用户推广,让大家尽快体验并使用 openEuler,本文将介绍如何将 openEuler 移植到树莓派,并在树莓派上搭建hexo博客。
本文内容参考自 openEuler-RaspberryPi。如有疑问,欢迎大家在本文提交评论或者在 openEuler-RaspberryPi 提交 issue。
安装openEuler
配置要求
- Windows10/Linux/Mac
- 树莓派 3B/3B+/4B
- 16G 以上的 Micro SD 卡
下载并安装镜像
下载适配树莓派的最新 openEuler 镜像,也可以参照 构建镜像 定制自己的 openEuler 树莓派镜像,下面以 XXX.img
表示该镜像。
当前最新的 openEuler 20.03 LTS 的内测版本镜像,下载。
该镜像的基本信息:
- 更新日志
- 发布时间:2020-05-11
- 大小:245 MiB
- 操作系统版本:openEuler 20.03 LTS
- 内核版本:4.19.90-2003.4.0.0036
- 固件来源:firmware、bluez-firmware、firmware-nonfree
- 构建文件系统的源仓库:openEuler-20.03-LTS
- 镜像内置源仓库:openEuler 20.03 LTS 源仓库
发布的镜像更新情况参见 openEuler-RaspberryPi。
格式化 SD 卡
- 下载应用:SDFormater,用于格式化 SD 卡。
- 若 SD 卡之前未安装过镜像,盘符正常只有一个,选择 SD 卡对应盘符,直接格式化即可。
写入 SD 卡
- 下载应用:Win32 Disk Imager。
- 右键选择“以管理员身份运行”,打开 Win32 Disk Imager,选择镜像 img 文件和待写入的 SD 卡,点击【写入/Write】。
- 写入完成即可。
安装nginx
安装nginx需要相关的依赖库
安装gcc gcc-c++
1 | yum install -y gcc gcc-c++ |
安装PCRE库
1 | cd /usr/local/ |
查看版本号,出现版本号说明安装成功
1 | pcre-config --version |
安装 openssl 、zlib 、 gcc 依赖
1 | yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel |
安装nginx
安装nginx一定要在local文件夹下
1 | cd /usr/local/ |
编写启动脚本
在/etc/init.d/路径下添加脚本文件,名称为nginx
1 | cd /etc/init.d/ |
写入以下内容
1 |
|
然后执行
1 | chmod +x nginx |
常用控制指令
- 启动 service nginx start
- 停止 service nginx stop
- 重启 service nginx reload
启动后,访问自己的ip,例如116.62.78.6,就可以看到nginx 默认的配置网页
安装Git和Node.js
安装Node.js
1 | curl -sL https://rpm.nodesource.com/setup_10.x | bash - |
查看版本号,是否安装成功
1 | node -v |
安装Git及配置仓库
安装git及新建git用户
1 | yum install git |
找到Allow root to run any commands anywhere
这个下面,添加git ALL=(ALL) ALL
这样一条指令,如下所示
1 | 。。。。 |
执行以下指令更改文件夹权限
1 | chmod 400 /etc/sudoers |
切换git用户并且建立密钥
1 | su git |
然后在文件这里填入本地ssh秘钥,我的位置在本地C:\Users\user\.ssh
下的id_rsa.pub
文件里,用记事本打开。
如果本地没有秘钥或者不会创建秘钥请,参考本人技术博客中,在码云Gitee配置ssh公钥一文如何创建本地秘钥的教程
然后修改权限
1 | chmod 600 ~/.ssh/authorized_keys |
创建git仓库
1 | cd ~ |
输入一下内容,保存退出
1 | git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f |
接着继续修改权限
1 | chmod +x ~/blog.git/hooks/post-receive |
以上指令都需要在su git 之后执行 如果中途断开重新连接过,需要重新执行 su git指令 进入git账户。
创建网站仓库文件夹
新建/home/www/website文件夹,在root用户下执行先su root切换为root账户,这里要输入之前设定的密码
1 | su root |
接着
1 | cd /home |
修改文件夹权限,这步很重要
1 | chmod 777 /home/www/website |
本地测试
在本地电脑cmd命令输入
1 | ssh -v git@服务器的公网ip |
例如:ssh -v git@116.62.78.6,返回如下则成功,第一次的话可能需要输入一个yes
1 | 。。。 |
修改配置文件server
这步的作用是使得nginx指向的网站,是我们上面设定的/home/www/website
中的网站
1 | cd /usr/local/nginx/conf |
将80 端口下的root项改为 /home/www/website,
主要修改以下2处,一个是location
下的root,原本应该填的是html,改为 /home/www/website ,同理在error_page
这里也有一个,修改好后保存退出
1 | 。。。 |
从本地hexo部署到服务器
修改本地配置文件,hexo下的config文件,将repo: git@这里改为服务器公网IP:/home/git/blog.git
1 | # Deployment |
重启nginx,激活网页
1 | service nginx stop |
本地执行部署命令
1 | hexo clean && hexo g && hexo deploy |
验证网页,登录自己的ip,例如116.62.78.6,就能看到自己网页了,如果不成功需要检查一下 /home/www/website 文件夹下是否有上传的内容