搭建网站的三种方式:家庭服务器、云服务器、serv00免费服务器

方案

网站原始内容:markdown笔记。

笔记转为网站:使用 MkDocs 将笔记转换为静态网站。

部署网站:使用 serv00 免费服务器。

域名:使用自购域名。也可以使用serv00的免费域名,但是免费域名无法CDN。

域名解析和CDN:cloudflare免费CDN。

1.领取 serv00 免费服务器

注册serv00的必要条件:

  1. 干净的ip:每个ip只能注册一次,ip不干净可以尝试不同的节点。
  2. 干净的邮箱:每个邮箱只能注册一次。

关于【邮箱不可用】解决技巧:

  • 1.用不存在的邮箱xxx@xxx​注册serv00
  • 2.serv00注册成功后再去注册邮箱:xxx@xxx
  • 3.登录serv00时,点击找回密码。serv00的密码就发到邮箱上了。

注册成功:serv00账号可登录serv00服务器,每个账号可以使用512MB内存+3GB硬盘资源。

注册教程:视频教程

注册地址:https://www.serv00.com

tips:思源笔记 用户可以使用NoteToWebsite​插件直接将笔记导出为静态网站。跳过第2、3节,直接来到第4节:部署网站到服务器。

2.安装MkDocs

可选的:创建和激活 python 虚拟环境


sudo apt update

# 安装python环境
sudo apt install python3 python3-pip python3-venv -y

# python虚拟环境
python3 -m venv .python-venv/

# 激活python虚拟环境
source .python-venv/bin/activate

# 更新虚拟环境的 pip
.python-venv/bin/pip install --upgrade pip

安装 MkDocs

pip install mkdocs-material

3.生成网站

创建 MkDocs 项目

mkdocs new ~/mkdocs/
cd ~/mkdocs

将笔记复制到项目 docs 目录下

启动预览网站

mkdocs serve

预览网站:http://127.0.0.1:8000

生成网站资源:执行mkdocs build​生成网站文件夹项目文件夹/site

mkdocs build

4.部署网站到服务器

提供三种方案,选择一种即可:

  • 全免费方案:serv00 免费服务器 +serv00 免费域名。优点是免费,缺点是网速比较慢,跨国。
  • 花点小钱方案:serv00 免费服务器 + 自购域名:优点是可以套cloudflare的免费CDN加速。
  • 花点小钱方案:自购云服务器 + 自购域名:除了可以套cloudflare的免费CDN加速以外,还具最高的自由度。

推荐购买一个域名,性价比和可玩性很高。

建站方案一:免费域名+免费服务器

此时你应该已经成功注册了serv00,收到了邮件。你获得了serv00的登录地址、账号xxx​、密码和免费域名xxx.serv00.net​。可以开始部署网站到服务器。

  1. 上传静态资源到服务器:本地计算机执行

    # 打包
    zip -r site.zip ~/mkdocs/site/
    
    # 上传到服务器
    scp site.zip user@ip:~/domains/xxx.serv00.net/
    
  2. 替换网站资源:登录serv00服务器执行

    # 切换工作目录到域名文件夹
    cd ~/domains/xxx.serv00.net/
    
    # 删除网站资源
    rm  -rf public_html/
    
    # 解包
    unzip  site.zip -d public_html/
    
    # 替换网站资源
    mv site/ public_html/
    

访问网站:替换完成后就可以通过 xxx.serv00.net 访问网站了,xxx 是你注册serv00的用户名。

访问示例网站:https://soulio.serv00.net

网络体验:被墙挡住了。

Clip_2024-09-03_23-32-03

建站方案二:自购域名+免费服务器

  1. 登录 serv00 管理页面,添加静态网站

    image

    在文件夹 ~/domains/​ 可以查看和管理刚添加的站点

    image

  2. 上传静态资源到服务器

    本地计算机执行

    # 打包
    zip -r site.zip ~/mkdocs/site/
    
    # 上传到服务器 ~/domains/域名目录
    scp site.zip xxx@s6.serv00.com:~/domains/soulio.top/
    
  3. 替换网站资源:在 serv00 服务器上执行

    # 切换工作目录到 ~/domains/域名目录
    cd ~/domains/soulio.top/
    
    # 删除网站资源
    rm -rf public_html/
    
    # 解包
    unzip -d site.zip
    
    # 替换网站资源
    mv site/ public_html/
    

接下来设置域名解析和CDN加速

具备条件:此时你应该已经购买了自己的域名,并注册并登录 Cloudflare

  1. 将你的域名转到Cloudflare管理:详情自行在网上搜索,不难

    image

  2. 查看服务器IP: serv00 管理页面,点击【SSL】>【WWW websites】查看 ip

    image

  3. 域名解析

    • 域名解析到serv00服务器的ip
    • 勾选代理,启用CDN加速

    image

访问网站:通过自己的域名访问网站

访问示例网站:https://soulio.top

网络体验:通过 CF 代理加速后,加载速度能够接受的。

Clip_2024-09-03_23-31-10

建站方案三:自购域名+自购服务器

这个就跟 serv00 没关系了。

  1. 购买服务器:买便宜的就行了

  2. 安装Nginx:服务器执行

    sudo apt install nginx-core -y
    
  3. 上传网站资源:本地计算机执行

    # 打包
    zip -r site.zip ~/mkdocs/site/
    
    # 上传
    scp site.zip xxx@ip:~
    
  4. 部署网站资源:服务器执行

    # 解包
    unzip -d /usr/share/nginx/html/site.zip
    # 放置(放一个正常的位置就行)
    mv site/ /usr/share/nginx/html/
    
  5. 配置 Nginx 网站服务器

    1. 添加配置文件 /etc/nginx/conf.d/mysite.conf

      server {
          # 端口
          listen 80;
      
      	# 域名
          server_name site.soulio.top;
      
          location / {
              root /usr/share/nginx/html/site; # 静态文件的目录
              index index.html index.htm;
              charset utf-8;
              try_files <span class="katex--inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mi>r</mi><mi>i</mi></mrow><annotation encoding="application/x-tex">uri </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mord mathnormal">i</span></span></span></span></span>uri/ =404;
          }
      }
      </span>
    2. 检查配置合理性

      nginx -t
      
    3. 加载配置

      nginx -s reload
      
  6. DNS 解析

    购买域名,域名解析到服务器 ip,示例:
    image

访问:可以通过自己的域名访问网站了

示例网站:https://bj.soulio.top

网络体验:走CDN反而比较慢,但是更安全。

Clip_2024-09-03_23-45-22

关于https://bj.soulio.top这个网站:

比较有意思的是搭建这个网站没有购买云服务器,仅使用了HomeServer(家里的淘汰笔记本)+ipv6的非80/443端口。CDN发挥了关键的作用:

  • 端口隐藏:将非80、443端口转换为80、443端口。
  • 隐藏源服务器ip地址
  • 对源主机起到了一定程度的保护

网站的作用是将思源笔记的所有文章分享出去

Clip_2024-09-04_00-01-32

出于安全考虑,不久将会关闭这个网站。网站放到serv00或者云服务器才能安心。

Clip_2024-09-04_00-09-09

结语

搭建网站的方案还是十分灵活的,各有优劣:

  • 放在家里:底层本,高性能;面临网络安全的威胁。
  • 放云服务器:安全性更高;续费贵,迁移麻烦。
  • 放serv00:不用考虑安全问题,一直免费一直用;可用资源少,账号权限低。

动态网站:serv00也是可以搭建动态网站的,比如Typecho、WordPress、wiki.js。

体验:在512MB内存的限制下,WordPress和wiki.js表现得十分卡顿,wiki.js轻度使用下内存占用超过了400MB。Typecho的表现是最好的,内存占用仅几十MB,反应也比较快。

示例网站:typecho.soulio.top

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值