方案
- 申请 serv00 免费虚拟机
- MkDocs 将 Markdown 文档转换为静态网站文件
- 将网站全部数据上传到 serv00 免费主机
- 通过 serv00 免费二级域名访问网站,或者绑定自己的域名
注意:需要网络加速。
1.申请 serv00
关于【邮箱不可用】的原因和解决方法:
- 一个 ip 只能申请一次,多次申请也会提示邮箱不可用:更换节点
- 部分邮箱不可用:更换邮箱
2.利用 MkDocs 将 Markdown 笔记转换为静态网站
-
python 虚拟环境
更新包列表 sudo apt update
安装python环境
sudo apt install python3 python3-pip python3-venv -ypython虚拟环境
python3 -m venv .python-venv/激活python虚拟环境
source .python-venv/bin/activate更新虚拟环境的 pip
.python-venv/bin/pip install --upgrade pip
-
安装 MkDocs
pip install mkdocs -U pip install mkdocs-material -U
-
创建 MkDocs 项目
mkdocs new ~/mkdocs/ cd ~/mkdocs
-
启动
mkdocs serve
,127.0.0.1:8000
预览网站mkdocs serve
-
将笔记复制到项目 docs 目录下,
127.0.0.1:8000
预览网站 -
生成网站资源
mkdocs build
3.部署静态网站到服务器
准备工作:打包 site 目录
zip -r site.zip ~/mkdocs/site/
使用云服务器
可以使用 Apache/Nginx 部署静态网站,此处以 Nginx 为例。
-
购买服务器
-
上传 MkDocs 项目的 site 文件夹到服务器
scp -R ./site.zip 服务器:/usr/share/nginx/html/ unzip -d site.zip
-
Nginx 部署网站
-
安装 Nginx
sudo apt install nginx-core -y
-
添加配置文件 etc/nginx/sites-enabled/mysite
server { #80端口 listen 80; server_name site.soulio.top;
location / { root /usr/share/nginx/html/site; index index.html index.htm; charset utf-8; try_files $uri $uri/ =404; }
}
-
生效配置
检查配置合理性
nginx -t
生效配置
nginx -s reload
-
-
DNS 解析
购买域名,添加一条解析到服务器 ip
使用 serv00 免费服务器
使用 serv00 提供的免费三级域名
优点:可以通过免费域名 xxx.serv00.net 访问自己的网站。
缺点:需要魔法。
-
上传静态资源到服务器
scp -R ./site/ 服务器:~/domains/xxx.serv00.net/
登录 serv00 服务器,修改文件夹名称,site 改为 public_html
使用自己的域名
优点:不需要魔法,国内网络可以访问。
缺点:需要购买一个域名。
-
上传静态资源到服务器
scp -R ./site/ 服务器:~/domains/soulio.top/
登录 serv00 服务器,修改文件夹名称,site 改为 public_html
-
登录 serv00 管理页面,添加静态网站
- Domain:你的域名
- Website type:Proxy
- Proxy target:localhost
- 其他选项则不用填
-
DNS 解析和代理
-
注册 Cloudflare
-
域名解析服务转到 Cloudflare 旗下
-
添加一条解析记录,示例
注意:国内访问必须走 Cloudflare 的代理。
-
现在可以通过域名访问你的网站了
!!! info "在阅读本文或操作过程中遇到的难题,都可以通过学习以下知识点解决"
scp 命令、Nginx 基础、DNS 解析、文件打包和解包命令、Cloudflare 域名解析操作。
您可以在网上自学这些知识点。关注我的博客或者网站(soulio.top),近期将更新这些知识点(整理中)。
标签:serv00,网站,site,python,服务器,mkdocs,成本,搭建 From: https://www.cnblogs.com/soulio/p/18308853/zero-cost-build-a-personal-website-2ngwyl