大家好,我是二哥!2022年1月1日,二哥的《Java 程序员进阶之路》网站终于上线啦!10天过去了,在没有SEO加持的情况下,网站访问量也突破了1000pu,算是一个小小的里程碑。大家可以通过以下网站体验一下:https://tobebetterjavaer.com往下看,你不仅会称这个网站颜值高,还有B站舞蹈区的妹子,hhh,你也会学到如何从0到1搭建个人学习网站。经常逛GitHub的朋友应该已经发现,二哥的《Java 程序员进阶之路》最近一直霸榜,今天还在GitHub的周榜上。这也是二哥2021-2022年最后的小惊喜。原《Java 程序员进阶之路》网站托管在码云页面,码云页面无法自定义域名,非常不利于小伙伴直接通过URL访问。码云页面:https://itwanger.gitee.io/tob...如何解决这个问题?......先给大家铺垫一下这个码云Pages是如何服务的。弄清楚情况后,我们很容易想到解决办法。首先,《Java 程序员进阶之路》专栏的来源是GitHub上的一个开源仓库。github地址:https://github.com/itwanger/t...除了md文档和图片,还有docsify的代码示例和基础环境文件。index.html的入口文件README.md会被渲染为首页的内容。nojekyll用于防止GitHubPages忽略以下划线开头的文件_sidebar.md将呈现为侧边栏内容_coverpage.md将呈现为封面图片docsify是一个神奇的文档网站生成器。与GitBook和Hexo不同,它不会生成静态.html文件,所有转换都在运行时发生。只需要一个index.html文件和一些基本配置文件就可以开始编写文档,直接托管在GitHubPages上(在服务器上省钱)。不过由于GitHub的网络访问,我将《Java 程序员进阶之路》专栏同步到码云,将GitHubPages换成了码云Pages,这样网络访问速度会快很多。码云地址:https://gitee.com/itwanger/to...同时,码云页面还支持Jekyll、Hugo、Hexo、docsify等静态网站服务。当GitHub仓库更新时,直接点击GitHubPages上的刷新图标,即可立即完成网站服务的同步。您可以通过码云网页提供的网址访问《Java 程序员进阶之路》网站。但由于种种原因,码云页面不提供自定义域名+HTTPS服务,Pro版支持,但也因为业务调整,关闭了个人用户的购买入口。这是荒唐的。方案一这是最容易想到的,也是最笨的办法:将本地仓库上传到云服务器,通过Nginx部署静态网站。在上传到服务器之前,我们先确保本地的docsify目录是完整的。所以我们需要在本地运行docsify服务。进入《Java 程序员进阶之路》的本地仓库目录,执行docsifyserve启动服务。在浏览器地址栏访问http://localhost:3000:可以确认没有问题。然后把本地文件上传到云服务器,再通过Nginx部署静态网站就OK了。但是这样做会有一个严重的问题,就是云服务器与本地和GitHub仓库之间没有办法同步。方案二这是一个比较完整的方案:在服务器上搭建一个Git仓库,从GitHub上拉取,通过Nginx部署一个静态网站。这样就很容易解决仓库之间不同步的问题,因为GitHub仓库必须提交正式版和最新版,从里面拉取最方便和安全。有些测试工作会在本地完成,比如调整docsify的配置等,不适合从云服务器拉取对象。关于Git环境的搭建,我在《Java 程序员进阶之路》专栏的“Git”一章有详细的讲解。我在这里简单演示一下构建过程。第一步是在CentOS上安装Git。Git环境可以直接通过yuminstallgit命令安装。第二步初始化Git,执行gitinit初始化Git目录。第三步,将GitHub仓库克隆到云服务器。为了让GitHub相信所有的操作都是由“你”执行的,你需要在克隆之前配置SSH密钥。具体步骤请参考:崩溃!实习生搞砸了小组的代码库。..本文的“远程存储库”部分。这里就不演示了。单击GitHub存储库上的“代码”菜单并复制SSH地址。然后执行gitclone命令从远程仓库拉取最新的内容。第四步,通过Nginx部署静态网站。Nginx非常适合部署静态网站。你只需要将服务器的访问目录设置为index.html文件即可。OK,现在访问域名https://tobebetterjavaer.com就可以看到《Java 程序员进阶之路》的内容了。通过该方案,彻底打通了本地、GitHub、云服务器之间的同步。当GitHub上有更新时,将内容拉取到云服务器。例如,我们修改《Java 程序员进阶之路》栏目GitHub仓库中的_sidebar.md文件,追加一个感叹号的标点符号。有两种拉法。第一种是先执行gitfetch,再执行gitmerge。9909f82..7f4b815master->origin/master表示内容发生了变化。第二种是直接执行gitpull命令。然而,这并不完美。每当GitHub上有更新时,您都必须手动从云服务器上拉取更新。可以自动化吗?可以使用宝塔面板的定时任务添加Shell脚本。脚本内容很简单,就两行:#切换到git目录cd/home/www/git/toBetterJavaer#执行git命令gitpull并保存,我们来测试一下。我们修改《Java 程序员进阶之路》专栏GitHub仓库中的_sidebar.md文件,将中文感叹号改为英文感叹号。单击计划任务的“执行”按钮。检查云服务器上的文件是否有变化。至此,我们完成了将《Java 程序员进阶之路》网站从码云页面迁移到VPS(Virtualprivateserver,虚拟专用服务器)的全部工作。最后带大家把网站的总访问量和总访问量相加,看看一个月会有多少PV《Java 程序员进阶之路》。
