阅读视图

发现新文章,点击刷新页面。

Linux系统运行剑网三

前言

最近Windows系统有些审美疲劳,然后在B站上刷到了日常使用Linux系统的视频,看着还不错,就想着自己来试试。

但我就是一个臭打游戏的,换新系统的第一件事肯定是看看能不能运行自己玩的剑网三。正好,在剑三魔盒上看到了《关于在Wine (SteamDeck) 下运行剑网3的可行性与实现方法》这篇文章,整体思路就是:安装wine→安装剑三并设置跳过显卡检测→成功运行。

目前,我只在Deepin20.9和Archlinux上成功运行了剑网三,所以我会把两种系统运行剑三的流程都写出来。(据说Deepin就是统信Uos的社区版,所以我猜测统信Uos应该也能运行

前提条件

一台正常安装了Deepin20.9或者Archlinux的物理机。

如果安装的话,可以看看下面的安装教程:

1、Deepin20.9系统安装教程

2、Archlinux系统安装教程

安装Wine

Wine 是类 UNIX 系统下运行 Windows 程序的“兼容层”,是正在持续开发中的自由软件。在 Wine 中运行的 Windows 程序,就如同运行原生 Linux 程序一样,不会有模拟器那样的严重性能问题。

1、Archlinux系统安装Wine以及其它相关依赖:

1
2
3
4
5
6
sudo pacman -S wine wine-mono wine_gecko wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \
ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 \
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

全部复制进终端,然后回车即可

2、Deepin20.9系统安装Wine

应用商店下载安装“Wine运行器”,然后点击左上角“程序”→“添加Wine运行器源以及安装较新版本的WineHQ”,然后在弹出的终端里按照指示操作即可。

Wine运行器

安装Wine游戏助手

点此直接下载wine游戏助手,里面有Deepin版和Archlinux版本,按需下载安装,后续游戏的运行都是通过它来实现。

安装剑网三

Windows系统怎么下载安装,在Linux上同样怎么下载安装,不过在官网下载的剑三安装器,Archlinux系统因为安装了wine可以直接双击打开,而Deepin系统需要通过Wine游戏助手或者Wine运行器打开。

或者从其他地方复制完整的剑三客户端过来也可以。

运行剑网三

这一步,Archlinux系统和Deepin系统基本上步骤都是一样的。

1、“Wine游戏助手”手动添加剑网三

打开Wine游戏助手,首先设置一下wine环境,点击左下角运行环境里Wine旁边的圆形齿轮。点击齿轮

右上角开启高级选项,然后Wine版本设置为系统自带的wine版本,DXVK版本选择v2.3-vulkan1.3,VKD3D版本选择v2.10-vulkan1.3,然后点击右上角保存wine配置

回到Wine游戏助手页面,点击左上角+号,选择手动配置游戏运行环境手动运行

游戏信息,名称自己设置,我这里填写为“剑网三”,运行环境选择Wine(运行Windows游戏)游戏信息

游戏选项,主程序设置为剑网三启动器位置,也就是”SeasunGame.exe“程序位置,然后点击右上角保存。启动目录

2、修改剑网三设置

打开客户端工作路径(~\SeasunGame\Game\JX3\bin\zhcn_hd)下的config.ini,给[Debug]这段里面加一行:SkipVideoCardScoreUpdate=1设置剑网三

3、启动剑网三

这个时候回到Wine游戏助手页面,选择刚刚添加的剑网三,点击启动,会弹窗提示更新Wine配置和安装Wine-Mono组件,等待自动安装完成即可。wine配置

4、快乐游戏

一切就绪后会像Windows一样正常运行剑三,以后每次玩游戏都需要通过Wine游戏助手启动运行。剑三启动器ArchlinuxDeepin20.9

后记

1、游戏加速器

由于我在国外,玩剑三需要游戏加速器,而Linux上的根本就没有能在国外加速国内网游的游戏加速器,所以也只能通过一些特别的办法来实现加速效果。

在Linux中通过虚拟机使用Windows版网游加速器

2、Deepin20.9系统卡在登录过图界面

因为我是直接从Windows系统上将剑三客户端复制过来的,在Deepin20.9系统上运行会出现卡在过图界面的情况,这种时候只需要将“~\SeasunGame\Game\JX3\bin\zhcn_hd目录”下的interfaceuserdata文件夹删掉就能正常进入游戏了。

Archlinux系统就不会这样。

凄凉又做他乡人——2023年终总结

今天已经是2024年的第6天,也是来到俄罗斯的第186天。不出意外的话,今年又是一个人独自在外过年,从2017年开始,到现在也是独自在外过的第7个年了。

我们单位在鄂木斯克,时差和国内不算太大,和新疆那边差不多,也是东6区。可能因为是小城市的原因,在大街上很少看到有亚洲面孔的人。

夕阳西下

作为四川人,很少看到下雪,更别提这么大的雪了,同时也是第一次感受到零下三四十度的天气。网上也有人在争论南北方哪边更冷,不过我觉得但从感受上来看,还是南方冷一点,毕竟就算是零下三四十度,但你不可能一直在室外吧,室内有暖气能穿短袖、有时还能把我热醒;而南方甚至室内比室外还冷,睡觉躺床上半天被窝都暖和不起来。

上周和家里联系,我们小区车位价格都降到5万左右了,想之前我买房的时候一个车位都还要十五六万,这才几年啊就降1/3了,还好当初没买。或许等我赚两年钱,回去看看能不能买个车位吧。😅

2024,人又老了一岁,包里的钱却一点都没见涨,愁啊。

Hexo自动部署至虚拟主机

前言

去年618我在西部数码一次性买了五年的云虚拟主机,当时好像才两三百块钱。云虚拟主机买来主要是用来挂备案的,想着小厂备案可能查得不严。刚开始还好,博客也部署在华为云服务器上,可能域名指向的是国内,也确实没查过备案。

今年6月份华为云到期了没续费,刚好我人也在国外,本着能省则省的原则,就把博客部署到Netlify了。结果还不到一个月,西数就发邮件来说检测到域名指向了其他IP地址。西数邮件

最后没办法,就只能把这个云虚机用起来,域名分开解析,国内解析到这台虚机,国外解析到Netlify。

但是这样问题也来了,Netlify还好说,只需要部署至GITHUB就好了;可是虚拟主机就不方便了,网上都是说安装 hexo-deployer-ftpsync 插件,但在部署的时候一直报错,上传不了,只能自己手动FTP上传了。

后来了解到有个东西叫做 FTP-Deploy-Action ,可以通过 GitHub Action 自动将博客部署到虚拟主机,简直不要太方便,甚至还可以通过 GitHub Action 同时部署到 Github Pages 和虚拟主机。

前提条件

一、需要使用虚拟主机部署Hexo博客
二、Hexo博客能正常部署访问

如果还没有Hexo博客或者不会搭建Hexo博客的话,可以看看下面两篇文章:

1、Win10:Hexo+github搭建个人博客

2、Ubuntu:Hexo+github搭建个人博客

三、Hexo博客可以通过 GitHub Action 部署到 Github Pages

如果还没有配置好 GitHub Action 的话,可以看看这篇文章 使用Github Action实现全自动部署

另外,在将本地文件备份至 Github 的过程中,可能会出现主题文件夹是空文件夹的情况,这样通过 GitHub Action 部署后博客打开会白屏没有任何样式。解决办法可以看看这里 Hexo主题themes-文件夹无法提交到GitHub的解决方法

配置 GitHub Action

打开 Action 配置文件(本地博客仓库目录/.github/workflows/(Action配置文件).yml),在后面添加

1
2
3
4
5
6
7
8
9
- name: Deploy Files on Ftp Server
uses: SamKirkland/FTP-Deploy-Action@4.3.3
with:
server: (FTP服务器地址)
username: (FTP用户名)
password: (FTP密码)
local-dir: ./public/
server-dir: (FTP服务器文件目录)
port: (FTP服务器端口,一般是21)

最后直接将博客源码提交到github上就行了。

两三月的近况

第一次坐飞机

6月的第一天,自己体验了下坐飞机,从成都飞往俄罗斯鄂木斯克,飞行全程12个小时,中间在莫斯科谢列梅捷沃机场转机休息两三个小时。

成都飞莫斯科乘坐的是四川航空3U3887航班,也算是同时体验了一把传说中的“喂猪”航空,中途主食零食基本没停过。莫斯科飞鄂木斯克坐的是俄航SU1638航班,登机后的第一映像就是飞机太小了,中途送的飞机餐也没有川航的好吃。

总体来说,我觉得坐飞机也不咋样,在天上十几个小时,全程手机没信号,除了看电影就是睡觉,一点娱乐活动都没有,要是没啥急事的话,坐飞机真没有坐火车舒服。😞

逛街

鄂木斯克这边和国内时差2小时,这边12点国内就14点了,而且这边白天日照时间非常长,早上四五点钟太阳就出来了,一直到晚上九十点才下山,刚来的时候特别不适应,现在好多了。

来鄂木斯克主要是过来工作的,中间也断断续续的出去过几次。最大的映像就是这边的俄罗斯人上午上班太晚了,上午九十点钟都不见几个商店开门。

鄂木斯克市是俄罗斯鄂木斯克州的首府,就和国内省会一样,但是走在街上感觉还不如我们国内的一个小县城,城中间主干道还好,一些其他的道路上还有灰尘,人行道直接就是泥巴路。主路一角

而且他们这边车辆没有报废制度,所以在路上能看到豪车、新车,也能看见车龄几十年的老爷车。并且还没有5G网络,只有4G,甚至有些时候手机都只有3G信号,对我这种极度喜欢手机网上冲浪的人来说简直就是地狱,另外我刚来的时候还体验到了因天气热导致外面基站被烧坏的情况,简直无语,这边的基建太差了。

上周又出去逛了一下,上午快十点了,这边商场外面都没几个人。

闲逛途中看见另一家商场外面还挂着镰锤标记,可能俄罗斯人也还是怀恋以前的那个时代吧。锤镰

晚上回到住所,和朋友出去一家国人开的烧烤店撸串,5串猪肉串50元人民币,感觉还行,就是少了点辣椒。

新手机

过来之后想换个苹果手机,结果发现这边同配置的苹果14 pro比国内贵很多,紫色256G苹果14 pro卖135990卢布,合人民币10800多,而国内京东上也才8000出头,相差近两三千块钱,而且就算在网上买了之后也要十多天才能送到。

所以6月底我托朋友在国内买了台国行紫色苹果14pro带过来,这样一算我省了好多钱!🤑

可惜当时忘了买手机壳和贴膜了,上周出去在这边买的手机壳和贴膜,总共花了我2600多卢布,太贵了。

新电脑开箱记录——戴尔G16 7630

技术规格
处理器Intel Core i9-13900HX(2.2GHz/L3 36M)
内存16GB 2x8GB DDR5 4800MHz
硬盘1TB, M.2, PCIe NVMe, 固态硬盘
显示屏16英寸 QHD+ (2560 x 1600) 240Hz
显卡NVIDIA® GeForce RTX™ 4060, 8GB GDDR6
网络适配器英特尔® Wi-Fi 6 AX201, 2x2, 802.11ax, 蓝牙® 无线网卡

17号早晨买的,下午下班就送到了,京东别的不说,送货速度还是挺快的。

箱子里就这些东西,一个主机一个电源适配器,就是这个原装的330W电源太大了,跟个电动车充电器差不多。

正面如图,外观看起来还行,摸起来手感也挺好,感觉像是金属材质。特别是它这个Cherry机械键盘,打字非常舒服,就是声音比其他普通的笔记本键盘大一些。

这电脑我觉得啥都好,就是没有人脸识别和指纹解锁,有点坑,毕竟11999的价格在这。而且无线网卡也还是AX201的,上个AX211多好。

愿此去前路皆坦途——2022年终总结

这算是我第二次在博客上写年终总结。

又是一年最后一天,往年在单位的这段时间,都已经开始交手写的年终工作总结报告了。

工作

今年是自己人生中的一个转折点。

上半年,自己开始负责一些单位交给的任务,也向组织递交了入党申请书。三月份还参加了单位组织的活动并取得了全单位第二名的好成绩。

原本都计划下半年选取为二级军士后慢慢向骨干方向培养,结果在下半年时犯了一个错误,导致自己脱下戎装,遗憾退伍。

再见,人民空军

最后一个季度,自己也找了一段时间的工作。事业单位、私企、消防,自己都去尝试过应聘,甚至还去兼职送过一段时间的外卖。幸好在今年的最后一个月,自己成功面试了一家国企,年后入职。

生活

9月1日上午,当我走出军营的那一刻,我才意识到,自己以后再也没有机会穿上这身空军蓝了。当天下午18时,受疫情,全成都开始原则居家,一直居家半个月之久。

10月,买了自己人生中第一辆摩托车——豪爵UHR150,至此,我在哪,它在哪。

12月,骑着自己的摩托车,从成都回到老家达州渠县,360多公里骑了8个小时左右。

今年,最开心的就是自己的房子装修完成,赶在跨年前搬进了新家,从此自己在成都正式安家落户。

运动

由于自己原本打算留队,所以上半年自己一直在努力锻炼。以前自己体能四项基础科目和三项专项科目有一大半不能及格,锻炼以后,今年一季度考核,七项科目自己及格了六项,体重也降到了70KG。

然而下半年退伍后,自己开始摆烂,不再锻炼,现在也不知道自己体能还有几项能及格了。😂

最后

希望2023年自己能安安稳稳的度过。

愿,此去前路皆坦途,归来亦无悔。

Hexo博客神器——Hexo便携版

前言

博主最近买了台新电脑,原来装好Hexo环境的老电脑目前就没怎么用,又懒得重新换电脑部署,想着看看能不能实现两台电脑同步部署。结果研究了很久,发现网上的多端部署教程都选择将Hexo备份至Github仓库。因为我博客是部署在华为云服务器上的,感觉再备份至Github仓库的话会很麻烦,所有突发奇想看看能不能实现便携式Hexo。

终于,我找到了这款Hexo懒人包,里面包含了Node.js便携版和Git便携版,理论上任何Windows系统的电脑都能直接使用,免去了新电脑Node.js和Git的安装和配置。

懒人包简介

PortableHexo

其中,hexo文件夹是博客源文件所在文件夹,可直接将已有博客文件全部复制到此文件夹内,也可重新安装Hexo。home文件夹和support文件夹不用管。

其余批处理文件顾名思义,如果是重新安装的Hexo博客,需要执行一下配置Github部署和配置基本信息,如果是原有博客文件复制过来的就不用执行。

最后

懒人包配置好后,可将懒人包放在U盘里,直接在U盘写作部署;也可以将懒人包压缩后放到网盘里。

以后不管在哪、用哪台电脑,只要U盘在,就能随时随地写东西了。🤣

这篇文章就是在新电脑上用U盘写的。

懒人包地址:Hexo懒人包5.0版本百度网盘(提取码3n1b)

新车100公里纪念

踏板才是最终的归宿!

为了方便通勤和节假日周边游,我前天去提了辆摩托车,豪爵UHR150。这辆车也算是个网红车吧,网上对它的评价也很好。

这辆车是我在10月2日订的蓝色箱版现车,不过由于当时处于国庆,车管所放假了上不了牌,一直等到10月9日才上牌。行驶证

由于是车行代上牌,所以等拿到车时都是晚上了。

昨天,骑着这车跑了一下午,个人感觉还不错,骑行过程中最高车速80+km/s。不过我个人感觉摩托车不适合走乡村小道,路烂颠的屁股疼。

1
2
3

另外,这辆车还配有两个USB充电口,方便骑车的时候给手机充电。一个充电口在车把下面左侧的储物格里;另一个在坐桶下面。(我个人觉得坐桶下面这个充电口设计得不是很方便)

第一个充电口
第一个充电口
第二个充电口

还有,我觉得这个车最大的缺点就是后轮挡泥板太短了,一路跑下来甩得后面全是泥。

右边
左边

下午4点46分,车子跑到100公里了。里程表

整车油耗的话估计在2.6L百公里左右。车子油箱8L,油表6格,平均一格大约1.33L。

沿途风景

Hexo笔记——解决Shoka主题评论系统表情加载失败的问题

近期将博客换成Hexo之后,最开始是部署在Github Pages上面,访问时一切正常。后面觉得Github Pages访问速度时快时慢,边重新部署在国内的华为云服务器上,这时问题就出来了,评论系统里面的表情图片正常情况下加载不出来,要搭梯子才行。表情加载失败

后来参考了ReverseSacle大佬关于[Shoka主题功能的一些补充介绍](Hexo-Shoka主题功能介绍补充点 | ReverseSacle-Blog = 逆转天平 = 执着过去的人,无法迈向未来)一文,并请教了ReverseSacle大佬后才了解到,shoka 主题使用的是 Valine-Admin 魔改评论系统,基本上都使用了 Jsdelivr 的资源,并由于国内的服务器无法访问资源才导致的表情加载失败。

为防止自己以后会忘记,特此记录下解决过程。

Vercel 反代 Jsdelivr 的加速链接

这一步,ReverseSacle大佬的文章中是以 Windows10 系统为例,但我习惯使用 Linux 系统,所以此次我使用 Centos 8.2 系统为例。

  • 安装 Node.js

    1
    2
    3
    4
    5
    yum install update
    yum install nodejs
    yum install npm
    npm install -g n
    n lts
  • 安装 vercel

    1
    npm install -g vercel
  • 安装完 vercel 后,输入 vercel login ,会让你选择登陆 vercel 的方式(选择的位置以 等待输入光标 为准, Enter 键确认,具体依情况选择),之后会跳出登入页面如图所示
    这里我使用的是邮箱登陆,会出现下图中的情况,这是 vercel 给你登陆邮箱发送了确认邮件,需要你在邮件中点击确认链接才能登陆邮箱登陆

  • 新建一个名为 jd_gh 文件夹 (名字自定义),进入到 jd_gh 文件夹中,新建一个 jd_gh.json 文件 (名字自定义)

    1
    2
    3
    mkdir jd_gh
    cd jd_gh
    touch jd_gh.json
  • 文本编辑器 打开 jd_gh.json 文件并输入下方反代代码

    1
    2
    3
    4
    5
    6
    {
    "version": 2,
    "routes": [
    {"src": "/(.*)","dest": "https://cdn.jsdelivr.net/$1"}
    ]
    }
  • 最后输入命令 vercel -A jd_gh.json --prod 来在 vercel 上部署

  • ++注意 what's your project's name? 这个提示,此处是提示输入你部署项目所需要的名称 (按喜好来定就行了,另外这里不支持特殊字符, - 号除外),其他的选项按下方图片提示来选择即可++{.dot}直接使用ReverseSacle大佬的图

  • 最后,进入 Vercel 官网,登入后可以看到刚刚创建的项目,点击项目,进入后记录下 DOMAINS 处的链接,也可以绑定自己的域名使用

解决评论区表情图片加载失败问题

  • MiniValine (Github) 下载 MiniValine.min.js 文件,并将 MiniValine.min.js 文件放入到 hexo 根目录的 ./themes/shoka/source/js 文件夹中

  • 打开 MiniValine.min.js 文件,找到 VERSION="4.2.2" 这一项,将 t.EUrl 后链接中的XXX替换为刚刚记录的 DOMAINS 地址或自己绑定的域名

    1
    2
    3
    4
    5
    6
    7
    8
    t.VERSION = "4.2.2",
    t.GBUrl = "https://gravatar.loli.net/avatar/",
    t.EUrl = ["https://xxxx/npm/alus@latest",
    "https://xxxx/gh/MiniValine/qq@master",
    "https://xxxx/gh/MiniValine/Bilibilis@master",
    "https://xxxx/gh/MiniValine/tieba@master",
    "https://xxxx/gh/MiniValine/twemoji@master",
    "https://xxxx/gh/MiniValine/weibo@master"]
  • 打开 hexo 根目录 ./themes/shoka/_config.yml 文件,滑倒最后,找到 valine 元素,将其参数设为 https://博客域名/js/MiniValine.min.js

  • 最后修改 ./themes/shoka/source/js/_app/utils.js文件第26~35行处

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    //将此代码if(str.indexOf('npm')>-1||str.indexOf('gh')>-1||str.indexOf('combine')>-1)
    //拆分为下面的代码
    if(str.indexOf('npm')>-1||str.indexOf('combine')>-1)
    return "https://cdn.jsdelivr.net/" + str

    if(str.indexOf('js')>-1)
    return str

    if(str.indexOf('gh')>-1)
    return "https://cdn.jsdelivr.net/" + str

    //代码示例
    const assetUrl = function(asset, type) {
    var str = CONFIG[asset][type]

    if(str.indexOf('npm')>-1||str.indexOf('combine')>-1)
    return "https://cdn.jsdelivr.net/" + str

    if(str.indexOf('js')>-1)
    return str

    if(str.indexOf('gh')>-1)
    return "https://cdn.jsdelivr.net/" + str

    return statics + str;
    }

叒换了博客程序——记录Hexo搭建、配置、部署到云服务器的全过程

最近因为疫情原因,天天在家里也无聊得很,想着没事就试着折腾一下Hexo。

刚开始还不会整Hexo博客,感觉要比Typecho要麻烦的多。经过两天的学习操作,终于建好了Hexo,本着建好了就不浪费的原则,决定以后就用Hexo了。

目前博客程序为Hexo,使用Theme.Shoka主题,部署在华为云服务器上。

现在记录一下这个Hexo博客从搭建、配置和部署到云服务器的整个过程,免得以后自己忘了。

Hexo本地安装

环境准备

  • 下载安装Node.js(Node.js 版本需不低于 10.13,Node自带npm)
  • 下载安装Git

安装Hexo

  • 在自己喜欢的位置新建Hexo文件夹
  • 进入新建的Hexo文件夹,右键点击打开Git Bash Here
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #在Hexo目录下安装Hexo
    npm install -g hexo-cli
    #检测Hexo是否安装成功
    hexo -v
    #初始化Hexo,并新建blog文件夹
    hexo init blog
    #转到刚初始化的blog文件夹下,安装npm依赖项,并生成静态文件
    cd blog
    npm install
    hexo g
    #启动Hexo服务器
    hexo s
  • 访问http://localhost:4000,出现Hexo页面

安装Shoka主题

  • 安装主题

    1
    2
    # cd your-blog
    git clone https://github.com/amehime/hexo-theme-shoka.git ./themes/shoka
  • 安装主题依赖插件

  • 修改Hexo博客配置文件_config.yml

    1
    theme: Shoka
  • 生成静态文件并发布

    1
    2
    hexo g
    hexo s
  • 访问http://localhost:4000 进行预览,没问题的情况下就可以将博客部署到服务器上了。

部署到云服务器

  • 在自己的电脑上生成 Git 密钥

    1
    ssh-keygen -C "your@mail.com"

    一路回车,这时你应该可以在 ~/.ssh/ 目录下看到两个刚刚生成好的密钥文件:
    1. 公钥:id_rsa.pub
    2. 私钥:id_rsa
    我们一会需要把公钥的内容拷贝到服务器上

  • 服务器环境配置
    一般刚重装完系统的云服务器非常纯净,什么也没有,所以我们要一点点安装我们所需的内容
    1. Git
    2. Nginx

  • Git的安装和配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #首先需要安装包的依赖
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    yum install gcc perl-ExtUtils-MakeMaker
    #进入指定目录(这里选择 `usr/local/src`)选择最新版本 [Git](https://mirrors.edge.kernel.org/pub/software/scm/git/) (这里使用 `2.37.3`)下载并解压
    cd /usr/local/src
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.3.tar.gz
    tar -zxvf git-2.37.3.tar.gz
    #解压出来的 Git 文件都是源文件,我们需要进行编译,进入 Git 解压目录,进行编译和安装, 安装位置(这里选择 `usr/local/git`), 整个过程可能需要一定等待。
    cd git-2.37.3
    make prefix=/usr/local/git all
    make prefix=/usr/local/git install
    #安装好后,我们需要配置环境变量,打开环境变量配置文件:
    vim /etc/profile
    #在文件底部添加 Git 安装目录信息。
    PATH=$PATH:/usr/local/git/bin
    export PATH
    #刷新环境变量,使之生效
    source /etc/profile
    #此时 Git 应该已经安装完成,可以查看 Git 版本号是否和你指定的版本一样:
    git --version
  • Git 新用户与配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #创建 git 用户和密码
    adduser git
    passwd git
    #将 git 用户添加到 sudoers 文件中
    chmod 740 /etc/sudoers
    vim /etc/sudoers
    #在Allow root to run any commands anywhere下面添加 git 用户内容, 保存并退出
    git ALL=(ALL) ALL
    #修改回 sudoers 文件权限
    chmod 400 /etc/sudoers
  • 测试
    通过Git Bash Here将上面本地生成的 id_rsa.pub 公钥内容拷贝到远端服务器, 这个命令会默认在远端服务器 git 用户主目录下生成 authorized_keys 文件 (~/.ssh/authorized_keys), 其中 server_ip 为公网 IP,不是内部 IP,别拷贝错了

    1
    ssh-copy-id -i ~/.ssh/id_rsa.pub git@server_ip

    此时可以通过 ssh 命令(加上 -v 命令,可以输出详细 log)测试连接

    1
    ssh -v git@server_ip

博客网站目录配置

  • 创建博客网站目录位置
    1
    2
    3
    4
    #为博客网站创建根目录(这里选择 `/home/hexo`)
    mkdir /home/hexo
    #赋予 git 用户权限
    chown git:git -R /home/hexo
  • 自动化配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      #指定目录位置(这里选择 git 用户主目录 `/home/git`)创建一个名为 `blog.git` 的 `bare repo`
    cd /home/git
    git init --bare blog.git
    #同样赋予 git 用户相应权限
    chown git:git -R blog.git
    #使用自动化配置,自然是要用到 Git 的钩子函数,这里我们需要 `post-receive`,在博客 hooks 目录下新建该文件:
    vim blog.git/hooks/post-receive
    #然后添加如下内容(注意目录匹配),保存并退出:
    #!/bin/sh
    git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
    #最后,赋予这个文件可执行权限
    chmod +x /home/git/blog.git/hooks/post-receive
    #接下来,创建个链接,以防后续 deploy 过程出错
    sudo ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack

Nginx 安装和配置

  • 安装

    1
    2
    yum install -y nginx
    systemctl start nginx.service

    这时,在浏览器中输入公网 IP 地址,应该可以看到 Nginx 默认的欢迎界面

  • 配置

    这里配置 Nginx,将所有 Http 请求都重定向为 Https 请求,这就需要我们有 SSL 证书。
    通过 scp 命令将 SSL 证书拷贝到远端服务器, 正常应该将 Nginx 的证书存放在 /etc/nginx/cert 目录下,这里选择存放在 /home/ssl_cert 下(如果目录不存在,请自行创建)

    1
    2
    scp ~/路径/证书.key root@server_ip:/home/ssl_cert
    scp ~/路径/证书.pem root@server_ip:/home/ssl_cert

    然后打开 Nginx 的配置文件进行整体配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
server{
listen 80;
server_name dayarch.top; # 个人域名
rewrite ^(.*)$ https://$server_name$1 permanent; # 重定向
}

server {
listen 443;
server_name dayarch.top; # 个人域名
ssl on;
ssl_certificate /路径/证书.pem; # .pem 证书
ssl_certificate_key /路径/证书.key; # .key 证书
ssl_session_cache shared:SSL:1m;
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 / {
root /home/hexo; # 博客网站主目录
index index.php index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

通过 nginx -t 命令进行检查,一切正常会输出如下结果:

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启 Nginx 服务

1
systemctl restart nginx.service

至此,所有的准备工作都做完了,接下来,我们需要做一些博客配置

本地博客配置修改

我们需要将远端服务器的 Git 仓库信息配置到 Hexo 站点配置文件(_config.yml)中

1
2
3
4
deploy:
- type: git
repo: git@server_ip:/home/git/blog.git
branch: master

陆续执行 hexo 的命令进行部署

1
2
3
hexo clean
hexo g
hexo d

至此,距离成功,我们只差最后一步

域名解析

配置好域名解析,将其指向云服务器的公网地址即可。

原则居家的第十二天

9月1日博主刚回到家,成都就开始采取居家不外出的措施。一直到今天,满打满算都有12天了。天天待在家里,待的人都废了。
原则上居家不外出,这样说的话外出了就是不讲原则吗?
外面的街上连个人影都没有

空无一人的大街

龙泉驿区现在都有好几天没有新增了,希望下一批解封的区县里面就有龙泉驿区。

忍不住又在服务器上花钱了

  最近这个月沉迷服务器无法自拔,先买了华为云的云服务器,然后又买了天翼云的云服务器,博客也从之前的腾讯云香港搬到了华为云。
  本来现在天翼云的服务器还在备案,想着等备案下来之后再把博客搬到天翼云的,结果现在又变卦了,买了台镇江的物理服务器,过几天应该会把博客搬到镇江的服务器上。
  这个月买服务器都花了接近2000块钱了。
  这台镇江的独服配置是我有史以来用过的配置最高的服务器,16核处理器、32G内存、512G硬盘、50M宽带,是我以前最开始接触建站时想都不敢想的配置 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
-------------------- A Bench.sh Script By Teddysun -------------------
Version : v2022-06-01
Usage : wget -qO- bench.sh | bash
----------------------------------------------------------------------
CPU Model : Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz
CPU Cores : 32 @ 2300.325 MHz
CPU Cache : 20480 KB
AES-NI : Enabled
VM-x/AMD-V : Enabled
Total Disk : 467.5 GB (5.4 GB Used)
Total Mem : 31.3 GB (1.4 GB Used)
Total Swap : 976.0 MB (0 Used)
System uptime : 0 days, 21 hour 22 min
Load average : 0.00, 0.00, 0.00
OS : Debian GNU/Linux 11
Arch : x86_64 (64 Bit)
Kernel : 5.10.0-8-amd64
TCP CC :
Virtualization : Dedicated
Organization : AS56046 China Mobile communications corporation
Location : Zhenjiang / CN
Region : Jiangsu
----------------------------------------------------------------------
I/O Speed(1st run) : 843 MB/s
I/O Speed(2nd run) : 886 MB/s
I/O Speed(3rd run) : 888 MB/s
I/O Speed(average) : 872.3 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 47.48 Mbps 97.68 Mbps 2.46 ms
Los Angeles, US 15.84 Mbps 1.51 Mbps 175.46 ms
Montreal, CA 15.57 Mbps 1.13 Mbps 205.37 ms
Paris, FR 18.21 Mbps 1.54 Mbps 224.56 ms
Amsterdam, NL 11.68 Mbps 1.45 Mbps 226.40 ms
Shanghai, CN 44.57 Mbps 98.55 Mbps 11.79 ms
Singapore, SG 4.43 Mbps 12.94 Mbps 428.94 ms
----------------------------------------------------------------------
Finished in : 7 min 46 sec
Timestamp : 2022-07-06 21:40:17 CST
----------------------------------------------------------------------

  我从最开始建站时用别人的免费主机,再到收费主机,后来到VPS、云服务器,到现在的物理服务器,一步步升级上来都花了8年时间。估计要是以后在升级的话,那就应该是托管服务器了。

记录Ubuntu20.04升级到Ubuntu22.04的过程

  今天我又剁手买了台天翼云的服务器,想着准备把博客迁移到天翼云服务器上。但是在选择操作系统的时候发现没有最新的Debian11系统镜像,然后纠结了半天,选择了Ubuntu 20.04。
  但是本着“新机器新系统”的原则,感觉不把系统升级到最新就浑身不舒服,然后百度了一下,根据《搬瓦工 Ubuntu 20.04 系统手动更新升级到 Ubuntu 22.04 失败记录》动手操作,最后成功升级为Ubuntu 22.04并安装最新内核。

升级前的准备

  一定记得要备份数据
  1、首先升级系统到最新状态

1
2
3
4
5
apt update
apt upgrade -y
apt dist-upgrade -y
apt autoclean
apt autoremove -y

  2、升级之后需要reboot重启服务器,让最新的内核生效。

升级方法一(个人不推荐)

  第一种方法是使用do-release-upgrade命令,这个方法比较简单,但不知道为啥,我使用这个方法时报了错,没有成功,所以我个人不推荐这个方法。

1
2
3
4
#首先安装 update-manager-core 软件包
apt install update-manager-core
#然后运行 do-release-upgrade -d 即可更新,按照提示操作
do-release-upgrade -d

升级方法二

  1、首先更新 apt 源,替换 focal 为 jammy,注意这一步第二条代码会报错,但不影响进程。

1
2
sed -i 's/focal/jammy/g' /etc/apt/sources.list
sed -i 's/focal/jammy/g' /etc/apt/sources.list.d/*.list

  国内服务器可以修改默认的系统apt源文件/etc/apt/sources.list,将archive.ubuntu.com为mirrors.tuna.tsinghua.edu.cn,国外服务器不用修改。
  2、然后再次更新系统。

1
2
3
apt update
apt upgrade -y
apt dist-upgrade -y

  更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。
  3、更新后删除不必要的软件和依赖。

1
2
apt autoclean
apt autoremove -y

  4、最后再次使用reboot命令重启系统,耐心等待后,就已经更新到了最新的 Ubuntu 22.04 Jammy 和内核了。

参考文章

  1、《搬瓦工 Ubuntu 20.04 系统手动更新升级到 Ubuntu 22.04 失败记录》
  2、《Ubuntu 22.04 升级教程:从 Ubuntu 20.04 升级到 Ubuntu 22.04 方法》
  3、《Ubuntu 20.04 Focal 升级 Ubuntu 22.04 Jammy》

你有多久没用过纸币了

在现如今移动支付非常普遍的世界,你有多久没用过纸币了呢?

  今天我在朋友那见到了几张新版的人民币,第一眼感官上就觉得像是假币,颜色较上一版人民币太过于鲜艳。而且更重要的是,我自己就一两年没用现金,没想到都快不认识了。
新版人民币

  而且这套人民币还是一两年前发行的,我都没听说过,看来我还是太落伍了吧。

  记得上小学的时候,当时的一元还是红色的,某天在教室里捡了张绿色的一元纸币,也是不认识以为是假币,然后给别人了,白白亏了一元钱。

❌