嘟嘟社区

小内存服务器如何搭建纯静态博客站点


本帖最后由 uu123654789 于 2021-12-8 14:10 编辑

WordPress、Typecho等博客程序已经玩腻了,发现了一个有趣的博客程序,那就是Gridea

常规的建站方式太过“臃肿”,安装各种建站环境Apache、Nginx、PHP,站点均为动态网站,服务器的负荷随之也加大了,网站加载不如静态网站快,正如官方所言,写博客的那个劲儿又回来了。

这个博客程序,感觉还蛮适合内存小的服务器。

它是一款静态博客写作的客户端,采用Markdown写作,所有的文件都在本地,构建了更快更安全的静态网站,无需数据库,客户端有Window、MacOS、Linux。

需要注意的是,部署到自己的服务器上,下载时并不是下载Linux,而是Window客户端,一开始我还傻傻呼呼直接在官网下载Linux版本到服务器上,折腾了一会,才折腾明白。

目前,Gridea有三种远程连接配置,分别是Github Pages、Conding Pages、SFTP,因为自己手里有服务器,就选择把它部署在腾讯云轻量应用服务器上,所用的就是Gridea的SFTP了,网上貌似还没有 Gridea×SFTP 的部署流程,基本上都是Github或Conding的教程,因为SFTP是Gridea新出的一个功能,连接到自己的服务器,而不是通过第三方平台来部署。

自己折腾了一遍,写下了这篇文章,方法其实很简单,希望能给到一些想部署到自己服务器上的MJJ的一些帮助。

【一】下载Gridea客户端

首先,第一步就是将Gridea下载回来到自己的电脑上,打开并安装它,在这里官网提供了两个下载源Github和Gitee。

安装完成后打开它,点击左下角【浏览】,即可打开静态站点,不过此时还是本地地址*localhost:4000*

在这里,要弄清楚的一点是:Gridea是下载到本地的,下载到自己的Windows电脑上!创作博客内容打开软件即可,而不是像Wordpress、Typecho程序在站点上写作发布,Gridea工作原理是在本地创作之后同步到你的远程仓库,而这里说的Linux服务器,就是我们的远程仓库,来存放站点数据,从而实现网站的访问。

【二】设置服务器STFP

1.连接到 Linux-CentOS 服务器,输入:

  1. groupadd sftp

复制代码

  1. cat /etc/group

复制代码

然后会在最后一行发现这样子的一段代码:sfrp:x:100X:

2.创建用户senyu,并禁止SSH登录,不创建家目录。

  1. useradd -s /sbin/nologin -M senyu

复制代码

3.设置senyu用户密码。

  1. passwd senyu

复制代码

4.创建senyu根目录。

  1. mkdir /senyu

复制代码

5.设置目录权限,目录的权限设定有两个要点:

目录开始一直往上到系统根目录为止的目录拥有者都只能是root
目录开始一直往上到系统根目录为止都不可以具有群组写入权限

  1. chown root:root /senyu

复制代码

  1. chmod 755 /senyu

复制代码

6.进入senyu目录,再次创建文件夹。

  1. cd /senyu

复制代码

  1. mkdir sen-yu

复制代码

7.设置sen-yu目录权限。

  1. chown root:sftpuser /senyu/sen-yu

复制代码

  1. chmod 755 /senyu/sen-yu

复制代码

8.配置sshd_config文件。

  1. vi /etc/ssh/sshd_config

复制代码

修改如下内容,并保存退出

        #注释掉这行

        # Subsystem sftp /usr/libexec/openssh/sftp-server

9.重启sshd服务器。

  1. systemctl restart sshd.service

复制代码

【三】连接STFP并检查

在电脑上打开Gridea客户端,使用远程STFP连接,填写信息。

域名

网站访问的网址,直接添加解析到服务器IP即可。

Port

端口默认填写 22 即可。

Server

这里填写服务器的IP。

Username

填写服务器账号,一般都是Root。

Type

选择到Password,然后在下面输入Root的密码,也就是SSH登录密码。

Remote Path

填写刚刚创建的目录,也就是SFTP路径,我这里是/senyu/sen-yu。

检查是否连接成功

在完成以上步骤后,点击左下角【检查远程连接】,点击后很快就显示远程连接成功,如果很久才显示,基本上是连接失败的。

当STFP连接成功后,我们可以点击【同步】,同步成功后在SSH终端再次检查一遍。

进入STFP目录,/senyu/sen-yu,然后输入ls指令,检查文件是否有同步到服务器上。

【四】编译安装Nginx

当Gridea已成功连接到Linux服务器之后,这个时候我们需要安装一个Web服务器,这里可以选择Apache或者Nginx,而作为静态页面网站,更推荐安装Nginx。

到Nginx官网下载页面选择一个稳定的版本,目前稳定版本为 1.20.1,然后获取它的下载直链。

http://nginx.org/en/download.html (下载页面)

http://nginx.org/download/nginx-1.20.1.tar.gz(Nginx-1.20.1.tar.gz 下载直链)

使用wget下载安装包

  1. wget http://nginx.org/download/nginx-1.20.1.tar.gz

复制代码

解压安装包

  1. tar zxvf nginx-1.20.1.tar.gz

复制代码

设置安装路径

在解压完成后,进入到安装包目录:

  1. cd nginx-1.20.1

复制代码

然后输入:

  1. ./configure –prefix=/usr/local/nginx

复制代码

可能会遇到这样的额外错误

        error:the HTTP gzip module requires the zlib library

直接yum安装相应的软件就能解决问题。

  1. yum install -y zlib-devel

复制代码

还可能遇到的是关于pcre的问题,同样yum解决。

  1. yum install pcre pcre-devel

复制代码

随后再次进行:./configure –prefix=/usr/local/nginx 即可

编译安装

  1. make&make install

复制代码

成功!!!

启动Nginx

1.进入到nginx安装目录

  1. cd /usr/local/nginx/

复制代码

然后输入ls,在该目录下会有四个文件夹*conf、html、logs、sbin*,进入到sbin目录。

  1. cd sbin

复制代码

再次输入ls,我们可以看到nginx的启动文件,输入./nginx启动即可。

  1. ./nginx

复制代码

到这里如果没有报错,则Nginx编译安装成功,我们在浏览器访问服务器的IP地址:

【五】更改Nginx根目录

最后一步了,需要把Nginx默认根目录修改为STFP目录,也就是/senyu/sen-yu。

  1. vi /usr/local/nginx/conf/nginx.conf

复制代码

修改完后,随后重启Nginx即可(进入Nginx的sbin文件夹,输入重启命令)。

  1. cd /usr/local/nginx/sbin

复制代码

  1. ./nginx -s reload

复制代码

此时,输入域名就可以访问了。

【Tip】写文打开Gridea客户端即可,然后同步到服务器,网站就更新了。

技术贴顶一下
之前用过。还可以直接连github

风轻 发表于 2021-12-8 14:12
之前用过。还可以直接连github

对 这个是直接连接服务器

买个1G内存的VPS就行了,也就十刀,已经很便宜了
支持一下。
这个同步有点问题,我现在暂时用回hexo,直接用GitHub 或者cloudflare pages,省下买鸡鸡的钱

爱发卡 发表于 2021-12-8 14:15
买个1G内存的VPS就行了,也就十刀,已经很便宜了

我还差台电脑安装Windows,再下载软件

看了一眼 release,好久没更新了
小内存的话nginx可以也省以下,如果只需要http,不需要https服务的,可以这么做
替换掉楼主的第四步
python3 -m http.server -b 你的域名(非必须) -d 文件目录  (端口号,默认8000)
给个例子
python3 -m http.server -d /senyu/sen-yu 80