新世界
大多数情况下,手握几个甚至十几个 VPS 并没有充分利用,都处于吃灰阶段,使用的程度决定了利用的上限,遂转移在用的 docker 服务,看中了一家新厂家,内存给的足,当然 CPU 是硬伤,从 Seafile 占用 CPU 的吃力程度即可看出,就在我以为折腾可以告一段落的时候,关注到内网穿透 Zerotier 工具,想象如果把主力运行在手机模拟出来的 Linux 系统中,同时借助内网穿透解决公网 IP 问题,是否可行,这段时间的捣鼓,算是运行了起来,期间感觉好多需要记录的事情,也没少折腾几个 AI 工具,可以说打开了新世界的大门。
尽管运行的效果并没有感觉到丝滑,甚至让我认识到 CPU 的无力感。但是整体的感觉是完全不一样的,可以说 B 格拉满,关键是免费,走进华为苹果三星小米手机电脑门店,打开自己搭建的博客网站,服务运行在自己的手机里面,那感觉很奇妙。当然副作用是手机的续航降低了一个档次。后面备忘一些重要的命令。几个过程中的痛点重点说说。手机虚拟出来的系统由于不是 KVM 模拟,所以性能损耗是很大的。尤其是 CPU 性能,像 S-PDF 、Dockge 、Uptime 监控等吃 CPU 的服务,只能放弃。要解决系统的代理问题,这里走了弯路,关键是要区分 http 代理和 socks 代理,区别对待。安卓手机的杀后台问题,既然是扮演服务器的角色,就需要24小时运行,被杀后台,怎么能行呢,一开始不知道原因,老是困惑为什么 ssh 无法连接,或者说很慢,偶然才发现切换前台可以短暂恢复。最终借助一个保后台的软件解决了被杀问题。开始的时候折腾了很久的 cloudflare 隧道穿透,还是放弃了,因为不稳定。邮箱的特殊性,最终决定不运行在内网,还是需要在 vps 上运行吧。一步一个巨大的坎儿,来到了 WordPress 搭建,乱尝试,其实核心是反向代理的配置问题,还要借助命令行首先在内网环境中安装好 WordPress 才行。我担心的 Seafile 给 CPU 的压力并没有出现,也许是多核心的缘故吧,虽然整体 CPU 不够给力,但是多核心也算弥补了一丢丢。对手机 Kubuntu to go 系统进行垃圾清理,不小心把系统语言环境搞没了,幸好还有备用的 U 盘系统复制了相关的目录和文件。其实 HZ 、NC 删掉,心中多有不舍,但是囊中羞涩,只得如此。江湖路远,他日有缘再会。
|
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
ssh -N -R 端口:localhost:端口 uer@10.0.2.2 -p 端口 apt install autossh -y ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_vm_to_termux -N '' ssh -i ~/.ssh/id_ed25519_vm_to_termux -p 端口 u0_a435@10.0.2.2 autossh -M 0 -N -f -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" \ -R 端口:localhost:端口 -p 端口 uer@10.0.2.2 -i ~/.ssh/id_ed25519_vm_to_termux tee /etc/systemd/system/reverse-ssh.service > /dev/null <<'EOF' [Unit] Description=Reverse SSH tunnel to Android Termux After=network-online.target Wants=network-online.target [Service] User=root Environment=AUTOSSH_GATETIME=0 ExecStart=/usr/bin/autossh -M 0 -N -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" \ -R 端口:localhost:端口 -p 端口 user@10.0.2.2 -i /root/.ssh/id_ed25519_vm_to_termux Restart=always RestartSec=10 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now reverse-ssh.service systemctl status reverse-ssh.service -l systemctl status ssh qemu-img resize -f raw /storage/emulated/0/Documents/VectrasVM/roms/g16937/Armbian_24.11.1_Uefi-arm64_bookworm_current_6.6.60_minimal.img 50G resize2fs /dev/vda2 nano ~/.bashrc # 在 ~/.bashrc 中定义函数 proxy-http() { export http_proxy=http://10.0.2.2:10808 export https_proxy=http://10.0.2.2:10808 unset ALL_PROXY echo "HTTP proxy set" } proxy-socks5() { export http_proxy=socks5://10.0.2.2:10808 export https_proxy=socks5://10.0.2.2:10808 export ALL_PROXY=socks5://10.0.2.2:10808 echo "SOCKS5 proxy set" } proxy-off() { unset http_proxy https_proxy ALL_PROXY echo "Proxy disabled" } source ~/.bashrc curl -O https://raw.githubusercontent.com/iptsh/system_tools/main/system_tools.sh && \ chmod +x ./system_tools.sh && \ ./system_tools.sh bash <(curl -sL kejilion.sh) 如果docker不能联网 mkdir -p /etc/systemd/system/docker.service.d nano /etc/systemd/system/docker.service.d/proxy.conf [Service] Environment="HTTP_PROXY=http://10.0.2.2:10808" Environment="HTTPS_PROXY=http://10.0.2.2:10808" Environment="NO_PROXY=localhost,127.0.0.1" systemctl daemon-reexec systemctl daemon-reload systemctl restart docker curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar mv wp-cli.phar /usr/local/bin/wp cd /var/www/html/web.iptsh.com/wordpress su -s /bin/sh www-data -c "wp core install --url='https://web.iptsh.com' --title='Iptsh' --admin_user=iptsh --admin_password='f*!8G8bBPmvT7zudi%XG' [email protected]" $_SERVER['HTTPS'] = 'on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true); -M virt,virtualization=true -cpu cortex-a76 -accel tcg,thread=multi -net nic,model=virtio-net-pci -net user -device nec-usb-xhci -device usb-kbd -device usb-mouse -device virtio-gpu-pci -m 4g -smp 4 救援 选择 Advanced Options → Rescue mode(或类似选项)。 lsblk -f fdisk -l vda ├─vda1 fat32 efi /boot/efi └─vda2 ext4 rootfs / mkdir -p /mnt/rootfs mount /dev/vda2 /mnt/rootfs mkdir -p /mnt/rootfs/boot/efi mount /dev/vda1 /mnt/rootfs/boot/efi ls /mnt/rootfs ls /mnt/rootfs/boot/efi mount --bind /dev /mnt/rootfs/dev mount --bind /dev/pts /mnt/rootfs/dev/pts mount --bind /proc /mnt/rootfs/proc mount --bind /sys /mnt/rootfs/sys mount --bind /run /mnt/rootfs/run chroot /mnt/rootfs /bin/bash apt install --reinstall grub-efi-arm64 grub-install --target=arm64-efi --efi-directory=/boot/efi --bootloader-id=Armbian --recheck update-grub exit umount /mnt/rootfs/dev/pts umount /mnt/rootfs/dev umount /mnt/rootfs/proc umount /mnt/rootfs/sys umount /mnt/rootfs/run umount /mnt/rootfs/boot/efi umount /mnt/rootfs |