分类 Nas/Server 下的文章

服务器性能允许的话建议使用原版joyqi/typecho

docker run -d --name=typecho --restart always --mount type=tmpfs,destination=/tmp -v ~/typecho_data:/data -e PHP_TZ=Asia/Shanghai -e PHP_MAX_EXECUTION_TIME=600 -p 8080:80 80x86/typecho:latest

打开防火墙

ufw allow 8080

IP:8080就能打开网页
首次打开需要配置
数据库选sqlite,最简单,不需要多余配置就能运行。

系统Ubuntu 22.04.5

安装依赖

sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
  bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
  g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \
  libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libpython3-dev \
  libreadline-dev libssl-dev libtool libyaml-dev libz-dev lld llvm lrzsz mkisofs msmtp nano \
  ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip python3-ply python3-docutils \
  python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs \
  upx-ucl unzip vim wget xmlto xxd zlib1g-dev zstd g++ libncurses5-dev python3-distutils file

sudo bash -c 'bash <(curl -s https://build-scripts.immortalwrt.org/init_build_environment.sh)'

克隆 23.05.0 版本的源代码

git clone -b v23.05.0 --single-branch https://github.com/immortalwrt/immortalwrt.git
cd immortalwrt

添加软件源

nano feeds.conf.default
src-git turboacc https://github.com/chenmozhijin/turboacc.git

更新代码:

./scripts/feeds update -a
./scripts/feeds install -a

下载这个文件,放到immortalwrt目录

config.zip

curl -O https://www.luoji.cfd/usr/uploads/2026/04/3724601009.zip
unzip 3724601009.zip

make menuconfig

运行后,选择CPU和设备型号,之后立即保存退出。

再次运行make menuconfig
选择需要的插件。

带usb的路由器,插随身wifi需要这些依赖

Kernel modules --->
USB Support --->
勾选

kmod-usb-core
kmod-usb-ledtrig-usbport
kmod-usb-net
kmod-usb-net-cdc-ether
kmod-usb-net-rndis
kmod-usb-serial
kmod-usb-serial-option
kmod-usb-storage
kmod-usb2
kmod-usb3

路由器只有USB2,就不勾选USB3

修改默认ip地址、DNS、主机名称

package/base-files/files/bin/config_generate

编译

make -j5

命令中的-j5,是CPU核数+1
要看详细编译日志,用

make -j1 V=s

docker run -d -p 9993:9993/udp -p 3000:3443 -p 3180:3180 \
    -v /root/zerotier-aio/var:/var/lib/zerotier-one \
    -v /root/zerotier-aio/etc:/www/zerotier-webui/etc \
    -v /root/zerotier-aio/logs:/logs \
    -e NODE_ENV=production \
    -e MYADDR=IP地址 \
    -e ZEROTIER-WEBUI_PASSWD=密码 \
    -e MYDOMAIN=域名 \
    --name zerotier-aio \
    imashen/zerotier-aio
ufw allow 9993
ufw allow 3000

https://github.com/xiaoxinpro/WolGoWeb
docker 开启maclvan,让wolgoweb以单独的IP地址运行。
具体方法看这里
https://www.luoji.cfd/archives/20/
之后停止并移除刚才的wolgoweb,重新用下面的命令运行容器

docker run -d --name wol --net=macvlan --restart unless-stopped chishin/wol-go-web
浏览器输入单独的ip:9090就能打开

外网访问:
一、openwrt安装zerotier,开启“自动允许客户端 NAT”,其它设备就能用局域网IP地址访问路由器下所有的设备。
在开启zerotier的电脑、手机、平板上,浏览器输入局域网ip:9090就能直接访问。推荐这种,简单且安全。
二、域名+ddns+公网ip(我只有动态公网ipv6,有公网ipv4同理)。
1、openwrt用ddns将域名解析到路由器上
2、openwrt安装socat,把外网端口转发到wolgoweb的IP地址和端口上(理论上讲openwrt防火墙自带的端口转发就行,但我的一直不成功)。注意,外网端口不能和wolgoweb端口一样,否则端口转发不能启动。这可能是个bug。
3、浏览器输入域名:外网端口就能访问到路由器上的wolgoweb,但在语法规则输入就能唤醒局域网内的电脑。
……………………
可以把这个地址保存为快捷方式放到桌面上,以后要唤醒电脑,双击一下就行了。比远程登录到路由器,在用wol插件唤醒方便得多。

转自:https://u.sb/debian-swap/

本文将指导如何在 Debian 10/11 和 Ubuntu 22.04 下手工添加 Swap 分区。

准备工作

首先,检查你的系统是否已经有 Swap 分区:

free -m
如果没有返回结果或者 free -m 中 Swap 一列数值是 0,则表示你的系统没有 Swap 分区。

创建 SWAP 分区
我们可以使用 fallocate 命令创建一个 1GB 大小的 Swap 分区:
fallocate -l 1G /swapfile

如果这个命令无法使用,请安装 util-linux 包:
apt install util-linux

然后设置这个文件的权限:
chmod 600 /swapfile

然后激活 SWAP 分区
mkswap /swapfile
swapon /swapfile
此时,你可以使用free -m 命令查看 Swap 分区是否已经激活。

设置开机自启

我们需要编辑 /etc/fstab 这个文件,加入下面的内容即可:

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
大功告成,使用 free -m 命令查看 Swap 分区是否正确:

调整系统内核 Swappiness 值

Swapiness 是 Linux 内核的一个属性,定义了系统使用交换空间的频率,Swapiness 的值在 0 到 100 之间(默认是 60),一个低的值会使内核尽可能地避免交换,而一个高的值会使内核更积极地使用交换空间。
这个值默认是 60,我们可以使用
cat /proc/sys/vm/swappiness
命令查看当前值。

一般我们可以给他改成 10:
echo "vm.swappiness=10" >> /etc/sysctl.conf
然后使用 sysctl -p 命令使其生效。

关闭 Swap

有时候我们需要关闭 Swap 分区,可以使用下面的命令:
停用 Swap 分区:
swapoff -v /swapfile
然后检查 /etc/fstab,删除
/swapfile swap swap defaults 0 0
这一行。

最后删除 /swapfile 这个文件:
rm /swapfile

本地配置文件编辑

[common]
bind_port = 5443
连接端口
dashboard_addr = 0.0.0.0
dashboard_port = 6443
web管理页端口
dashboard_user = xxxxx
web用户名
dashboard_pwd = xxxxxxx
web密码
log_level = info
token = CXeBQRAqoSjRpNtu
allow_ports = 1000-9000

指定端口范围,直接屏蔽

docker run \
   --name ipsec-vpn-server \
   --restart=always \
   -e VPN_IPSEC_PSK=共享密钥 \
   -e VPN_USER=用户名 \
   -e VPN_PASSWORD=登录密码 \
   -p 500:500/udp \
   -p 4500:4500/udp \
   -v /lib/modules:/lib/modules:ro \
   -d --privileged \
   hwdsl2/ipsec-vpn-server:debian

加debian,容器用的debian系统,我用得更习惯,可以不加,体积小

macos设置l2tp的方法

系统偏好设置-网络-点+
接口选vpn
类型l2tp/ipsec
名称随便
配置默认
服务器地址点IP地址或服务器域名
账户名称填“-e VPN_USER=”后面的
点鉴定设置
用户鉴定选密码,填“-e VPN_PASSWORD=”后面的
机器鉴定选共享的密钥,填“ -e VPN_IPSEC_PSK=”后面的