最近有段时间没有写原创文章了,恰好这两天正在翻阅历史文章的时候,发现文章中的图片竟然裂了?顿时冒了一身冷汗,因为每逢遇到这种情况,动辄需要花费一周的时间迁移图片。。。。。。
当我直接访问图片 url 的时候,果不其然出现了令人震惊的一幕。
我一直用的 typora 写文章,我甚至是尊贵的 typora vip 拥有者,但就是这么一个人,竟然还在白嫖 ipic
默认的云存储图床,我自己都看迫不不下得去已 了。
tva1.sinaimg.cn 也就是新浪图床这波把我整的太惨了,这也让我更加坚定了想法:免费的总有各自的缺陷,还是付费得到技术支持的东西来的实在。
我发现 iPic 又换了新的图床,但是我已经没有继续使用 iPic 的耐心了,果断放弃。
由于迁移图床工程量浩大,我甚至一度有不想干了的冲动。不过我还是败给了现实,现实就是跪着也得坚持下去。
但是今天这文章就写 xxx 到这吧,憋屈 😃 。
— 第二天 —
怎么办?这事儿还得干啊,所以我就找寻各种办法,决定了把图床搞到七牛云上去(绝无任何打广告的想法),毕竟它们的图床还是很稳定的,访问也比较快。
于是我决定使用 PicGo + 七牛云图床作为图片存储工具,七牛云好像有免费的 10GB 存储空间,只是存储图片的话应该够用,而且它们还有图片压缩功能。
如果只使用图床功能的话,那么图片访问速度也是需要考虑的因素,这就需要使用到 CDN 加速功能,CDN 加速需要自定义域名,这就要求我弄个域名让图床挂在域名下面。
既然都想到域名这里了,那我尘封 30 年想要搞个网站的愿望是不是该提上日程了?
说到上线网站,我简直想骂死我自己,因为我曾经无数次的想要上线一个网站,却都因为各种因素耽搁了,这次下定决心一定要上线一个网站,做不到我就一周不吃宵夜!!!对我来说这真是一件很残忍的事情。
技术网站一般有两种类型,一种是静态网站,静态网站不需要自己建站,直接使用第三方托管工具和模板即可,比如 jekyll ,hexo ,hugo 等,源代码文件会提前编译好,需要的功能点比较少,请求资源少,访问的时候速度比较快,不需要和数据库交互,以静态页面为主;
动态网站一般就像是 CMS 这种内容管理系统了,这种系统需要你自己写前端后端代码,然后自己部署在服务器,需要和数据库打交道,页面请求资源多,页面比较复杂。不过 CMS 也有一些开源项目,比如 wordpress ,halo 等,我这里用的就是 halo 搭建的 CMS 网站。
上线一个网站,就需要准备域名、服务器、建站代码、备案申请、备案申请后等一系列操作。
由于这不是一个建站过程帖,也不是一个建站推荐贴,只是我把网站搞好后写的一个经验汇总贴,所以一些过程写的不是很完备。
关于域名
我之前一直断断续续的在各种网上上线准备,所以之前就已经申请过域名了,由于是小打小闹自己建个网站把文章之类的搞上去,加点简单功能,就没有必要花销太大,所以就申请了 cxuan.vip,比较便宜,一个月才 10 块钱。
关于服务器
出发点也是类似,现在后悔之前没有白嫖阿里云服务器了,目前用的只是阿里云很低端的机器,如果后续访问量和内容上来的话再说。
建站项目
我使用的是 halo 这个开源项目,版本是 1.6 ,为什么选择这个项目?因为我认为这是一个比较成熟的项目,社区人数众多,github 一直在有人维护,截止到目前 halo 2.2 也已经上线了,而且功能点比较多,基本上想要的都能满足。为什么选择这个版本?我看到 2.0 之后就加了很多新功能,而且推荐的是使用 docker 部署,官方不再提供 jar 包通过服务的方式访问,不过你可以把源码下载下来自己打 jar 包部署。
但是由于我在用 2.1 版本的过程中出现了很多问题,而且尚未解决,我在社区发帖也没有人回答我的问题,所以还是简单点使用老版本了。
备案申请
准备好域名服务器就能提出备案申请了,备案申请需要很多资料,也有很多忌讳,而且备案申请后的审核过程比较漫长。下面是我的备案过程。
比较人性的一点是,由于我买服务器的初衷就想要上线网站,所以在备案的过程中没有怎么使用服务器,于是阿里云给我把使用的开始时间延期到了备案审核成功的那一天,这点还是不错的。
备案审核后
备案审核后需要在你的网站底部添加 ICP 备案号并连接至 ICP/域名信息备案管理系统。
然后在互联网站安全管理服务平台填写新版网站申请,这个审核也需要等几天,审核的时候会有相关人员给你打电话,然后他们会大致查看一下你的网站内容是否合规合法,再给你通过。如果你的网站涉及到评论功能的话,是否是审核后才予以显示,还需要填写一个评估报告。
到这里是否就完事了呢?
还没有,如果你的网站搭建完成了,默认的是使用 http 协议进行访问的,http 协议对安全性没有保证,很容易被劫持(虽然我的网站是一个只有内容的小破站),但是安全性咱还是要保障一下的。网站想要通过 https 访问,就需要有官方 CA 认证机构进行认证,阿里云有免费的 https 证书可以申请使用,宝塔面板也可以授权证书,这个我没有试过。
申请后需要把证书下载下来,下载完成后有两个文件,一个是 .pem 文件,一个是 .key 文件,我们需要将这两个文件上传至服务器中对应的路径下,通过修改 nginx.conf
配置文件配置 https。
我在配置 https 的时候花了一些时间,刚开始我不管怎么配置发现通过 https 访问后访问的都是 nginx 主页,后来发现我没配置代理地址。。。。。。 仿佛自己是个傻子。完整的配置如下
server {listen 443 ssl;server_name cxuan.vip;root html;index index.html index.htm;ssl_certificate pem 地址;ssl_certificate_key key 地址;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://localhost:80;}
}
到这里网站部署基本上差不多了,开始折腾图床,图床我是使用的七牛云图床,我打算再配置一下 CDN ,配置 CDN 的时候要用到需要加速的域名,使用场景是作为图片小文件使用,配置完成后的 CDN 加速配置如下。
现在我的图片也可以通过 http 进行访问了,但是我使用 chrome 浏览器却发现网站访问不到图片,我换了个 safari 浏览器却可以访问,这是为啥呢?
原因是由于我现在的网站是 https 的,但是图片却是 http 协议的,当我们想要访问 https 网站的时候,chrome 会自动把里面的图片等内容转为 https 的,safari 却不会,但是我还没有配置 https 的图床,所以访问不到。所以现在需要配置一下图床的 https 访问。
图床配置 https 就比较简单了,在七牛云域名管理,https 配置处,修改配置,把服务器上 CA 认证的 .pem 和 .key 内容直接贴上去就好,等几分钟就行了。
还需要配置在 typora 上使用的图片自动上传工具 PicGo
,进行图床的相关配置,其中 accesskey 和 securitkey 在密钥管理中可以看到,然后再设定响应的网址、图床和存储区域即可,配置完成后在 typora 中的图像页面验证一下图片上传即可。
至此,我这次上线内容基本上可以说算是整完了。
七牛云上面好像还有一个图片优化功能,能节省存储空间和 CDN 流量,不过得花一点小钱。
然后我就把文章内容和图片都一个个的放在了服务器路径下,花了很长时间。halo 有一件上传 md 文件的功能,这些文章内容都是一键上传的,比较方便。
其实网站也很素了,没有太多页面和功能,主要就是文章内容的汇总和整理,后续的个人文章会持续更新在网站上面,图片内容几乎都用了动漫人物做首页,我现在也比较爱看动漫,而且我觉得画漫画是一件很棒的事情,如果有时间和机会的话,我也想要尝试一下画漫画这事儿。
我自己设计了一个 Logo,这个 Logo 和我这个网站以及程序员一搭,有点意思。
网站的内容主要涉及操作系统、计算机网络、Java、C、汇编、计算机书评等内容,这也是我现在写文章的几个方向。每个文章最后都可以评论,不过要完整的填写姓名和邮箱这些内容,这部分做的还不太好,也是后面需要优化的点。
最后,网站地址亲自呈上
https://cxuan.vip/
欢迎各位小伙伴们来玩。