手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Linux

multipass 如何更改磁盘

用了multipass后,在mac下建了一虚拟机,用来跑lnmp项目。原来是用valet的,但还是有点不太方便。所以就直接用multipass + zerotier ,然后远程指过来。有点小麻烦,但还能接受。

 
因为我原来也没有多轻松,是用了frp + valet 来做映射,frp是个客户端,得时刻与服务器通讯。
---
闲话不说,multipass在试用的时候,创建的磁盘是5G,结果用两天就满了,一查原来是composer/npm的cache太大了。于是就想着扩容。在没有去官方查资料的时候,先google搜了一下,结果能够搜到的都是改cpu / memory,连改磁盘大小的教程都几乎没有,唯一找到的一篇还是windows下的,说是用了hyper-dev,可以直接在开发工具里调整一下,还是可视化的。
 
网上搜到的改CPU/内存的都是说进入 /var/root/Library/Application Support/multipassd/xxxx.json里直接修改就完事了。事实上在经历过几次更新后,这个json文件也不在原来的位置了,而是在 multipassd/qemu的目录下。
 
但这个配置文件也还是只能改 CPU和内存,所以,改磁盘就改不了。
 
抱着试试看的态度查了下官网,结果发现,原来改这个玩意这么简单:https://multipass.run/docs/modify-an-instance#heading--set-the-cpu-ram-or-disk-of-an-instance,直接两句命令就完事了
multipass set local.primary.disk = 10G
其他可设置的是:cpus / memory 
local是本地,primary是instance的名称。
 
---
查一下官方资料,真是比啥都好,网上那些教程的时效性太短了。

找了台4c8g的机器装了sentry

sentry这个东西吧,你要不用它,其实也可以只是用它的话呢,你能收集到更详细的信息。平时的错误日志可能是会散的,比如你nginx访问返回500,这时候你还得看程序出错的异常,对应那个时间段 。然后如果当时记录的信息不够详细,你还要倒推,请求了哪些参数,能不能复现,这些参数有没有更方便的请求,带了哪些cookie,有没有session。烦

有了sentry之后呢,这些出错信息,自然也就都带过来了。至少看到出错日志的时候,我能够知道出错行数、出错内容、请求来源、以及请求的参数。甚至还有curl的代码给你。让你可以模拟请求进行复现。
 
为了装sentry。真的是很痛苦。因为之前买的小鸡都一般是2c4g。对于开发Web来说,2c4g足够了。但sentry要求,至少4c8g,20G空间。20G空间是小事。。。但4c8g真的太贵了。。。腾讯轻量云年购老用户5.5折都要1680一年了。心痛啊。
 
不过看在他可以收集:flutter、vue以及laravel的错误日志上,我还是购了一台。毕竟网页里的vue出错了。我没法让用户告诉我你打开f12把错误信息截个图我。。
 
先试试看用一年再说了。为自己的线个项目都建一个project。看看能不能改善现在的开发情况。
---
本来也想用官方的服务的,但sentry.io有时候访问还得爬梯子,速度也不尽如意,创建项目也没有那么多。所以才想了自建,就是成本高了点
 

Tags: sentry

rpm数据库修复

因为偷懒,在腾讯云上使用的时候,就直接用了bt面板的镜像,这个镜像用的是centos,也因此就有了yum 和rpm数据库的问题。

因为某次在更新的时候嫌慢,所以直接ctrl+c,然后。。。再次启动的时候就:
 yum update
错误:rpmdb: BDB0113 Thread/process 8643/139904725112896 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:
 
Error: rpmdb open failed
 
---看这个样子,就是数据库坏了。
看起来没什么特别好的办法,只能重建,于是:
# mkdir /var/lib/rpm/backup
# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
# rm -rf /var/lib/rpm/__db.[0-9][0-9]*
# rpm --quiet -qa
# rpm --rebuilddb
# yum clean all
 
yum clean all运行完后会显示 :
已加载插件:fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
正在清理软件源: centos-sclo-rh epel extras os updates
Cleaning up list of fastest mirrors
 
至此,修复完毕,因为用的腾讯云,所以直接将源切到腾讯:CentOS (tencent.com),先用yum version看看版本,然后下载相应的repo。最后运行:
yum clean all
yum makecache
 
世界清静了
 
 

千辛万苦搭建了一台gitea server

一直使用github,也有因为各种原因使用过不少的git server,比如:codeup/gitee/coding/甚至腾讯工蜂,国外的么,bitbucket/gitlab其实也都有使用,这里面带来的最大的问题就是网络问题,当然国内的没这个毛病,但比如gitee,不能超过3个协作者(个人账户),coding的话,我个人是很喜欢的,甚至想成为他们的商业用户,但商业用户需要至少5个使用者。(国内好象其他平台也差不多,要想成为商业用户,几乎最少人数都是5人,一年500多我愿意付出,但2500多确实没有太大必要)

 
github/gitlab 当然没什么问题,但偶尔的不能访问也确实有点麻烦,这些都不是重要的。github也尝试过通过Action来进行自动部署,但确实不舒服,连接国内进行部署的时候,一个40多M的jar包。有一次传输上就花了将近10分钟,这种在国外向国内进行传输速度,有时候还是挺抽风的。
 
于是搭建git server的相法就开始了。之前其实也搭过,从16年开始,基本上就是用gogs,当然也不是没遇过问题,比如超过50M时就无法上传之类的。这时候就要改nginx最大允许的post max size了。这次是看到说gitea推出了【包管理(Package Registry)】,然后才决定使用的。
 
然而在使用的时候,就开始遇到各种问题了。比如不能运行在root下,腾讯的轻量默认是root用户嗯,cvm/阿里云的ecs,也是root,但阿里云的轻量,默认居然是admin。有点妖
然后创建git用户,测试su git -c '/usr/local/bin/gitea web'进行测试。到这里都没啥问题,然后我就开始遇到问题
1、用nginx做反向代理 ,毕竟我也不可能一直用ip+port进行访问,然而css/js全部无法访问,检查了很久,才发现原来是默认的配置文件里对css/js等静态文件做了过期时间设置,但因为最早3000端口被 zerotier的UI占用了。这时候他就一直不过期了。所以一直就无法访问(在缓存里?)这个有点麻烦,现在很多路径都是/assets/css/css.css,这种自动生成的格式,所以大部分自动打包的可能路径都是这种,这时候一旦被缓存了,短时间内就一直无法变改。这很纠结
2、ssh 登录,这个才是大坑。其实也是怪我自己,如果我允许port登录,估计早就解决了。比如我可以让root用户通过自定义端口登录,然后git用户就可以通过22端口登录了。(测试过可行,但不太想改默认登录端口,想复用端口,结果就启动不了了,好象非root用户进行的项目,无法使用1024以下端口)
3、最后只能使用docker来进行部署,然后因为我偷懒没使用docker,用了podman。。。默认安装的podman是3.0.4,使用podman-compose的时候有问题。于是又升级到4.2,然后才能正常使用podman-compose。对着官方文档配置 gitea脚本以及 默认的转发(再折腾了1个小时才搞完)
 
先做个笔记,后面看什么时候有空补上详细的,以后重装也能更方便一点

valet 支持多版本的php啦

Valet 支持多版本下的PHP啦 。

要想valet支持多版本PHP,你必须要将valet升级到3.0以上
 
更新方法:
```
This super exciting new feature is now officially released, as a part of Valet 3! To update: 1. Update your global Valet constraint to "^3.0" 2. Run `composer global update laravel/valet` 3. Run `valet install` 4. Party On, Wayne!
```
so easy。如果你在使用mac,那个 phpmon也支持valet3啦 。记得更新哦
如果你已经装过,那么直接brew upgrade phpmon,如果你之前没有装过,支行
```
brew tap nicoverbruggen/homebrew-cask
brew install --cask phpmon
```
 
参考:
1、Laravel Valet 3 Released With Multi-Version PHP Support | Laravel News (laravel-news.com)
2、nicoverbruggen/phpmon: Lightweight, native Mac menu bar app that interacts with Laravel Valet. Helps you manage multiple PHP installations, locate config files and more. (github.com)
 
Records:28212345678910»