2024自建网站指南
最近发现知乎把google给屏蔽了,这么封闭不大好。于是花时间自己建了个网站,把内容迁了出来。
以前没搭过网站,把过程写下来记录一下。
VuePress及VuePress Theme Hope主题
VuePress是一个静态网站生成器,非常适合我这种纯静态不需要交互的站点。
VuePress Theme Hope则是一个具有强大功能的VuePress主题(而且好看)。
按照主题的快速上手指南,在本地创建项目。
购买云服务器
境内的云服务器上线网站是要备案的,为了方便,我选择了香港的云主机。吐槽一下UCloud,服务器操作系统版本有点旧。
购买什么规格的配置因人而异,如果是新手,选个最低配都行。
nginx
我们需要一个http服务器,这边选择的是nginx。在云服务器上安装好nginx,能使用ip地址访问,看到默认的nginx欢迎页面即为成功。
将项目部署到服务器
我们要使用VuePress构建出来的dist目录替换到nginx默认的内容目录,至于dist是用scp来传,还是通过github做中转,都无所谓。
我这里是把VuePress的工程整个传到了github上,然后在服务器安装了git,通过git来更新项目,然后直接在服务器执行pnpm docs:build
,构建出dist。
把dist的内容复制到nginx默认的内容目录即可,我这边是debian 11 + nginx 1.18,默认的路径是/var/www/html
。
购买域名
此时还只能通过ip访问我们的网站,我们需要购买域名,然后添加dns解析。
域名提供商有贵有便宜,我选择了hover,价格比较亲民,目前看也还没发现什么坑。
购买完成后这个域名默认是被解析到hover自己的地址的,你需要到dns管理页面,把默认的A记录删掉,然后添加新的A记录,指向你购买的服务器的公网地址。
一般来说过个几分钟就可以通过域名来访问你的网站了。
https
如果需要提供https服务的话(看浏览器地址栏的那个不安全不顺眼),需要申请一个ssl证书。
ssl证书有免费的,不过过一段时间会过期,要记得续期。我这使用腾讯云申请了一个免费的(90天有效期)。
申请流程其实挺简单的,每一步都有指引。申请审批也很快,我这半小时不到就审批好了。
证书部署也有指引,只不过我这边的nginx其实应该把配置写在/etc/nginx/sites-enabled/default
中,最终配置文件删掉注释之后是:
# Default server configuration
#
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
ssl_certificate gxhdevelop.org_bundle.crt;
ssl_certificate_key gxhdevelop.org.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
修改完后,触发一下nginx的reload即可。
大功告成。