又入手一台小JJ
上个月花了点钱购置了一台小 jj 用作服务器,简单记录了一下装配过程,正好清明节假干完两天的活,休息一天,就写一点出来。
硬件配置
硬件 | 配置 | 价格 |
---|---|---|
机箱主板电源 | 惠普 800G1 小主机,Q87 主板 | 315 |
CPU | 魔改 4870HQ | 598 |
内存 | 二手杂牌 DDR3L 1600 * 2(有一条是从以前笔记本上拆下来的) | 158 + 0 |
硬盘 0 | 建兴 128G mSATA 接口 | 146 |
硬盘 1 | 西数 500G(笔记本拆机) | 0 |
总计 | 1217 |
硬件上来说就是这样了,这肯定不是最实惠的方案,也不要跟我说 XXX 更省钱了,反正我没翻车,连续开机 29 天没重启,照样跑的稳稳的。
选择机箱的时候,考虑体积价格和拓展性,最终选择了惠普的 800G1,真的很小的一个机箱
而 CPU 在魔改 4 带 BGA 封装 U 和 E3 上权衡了很久,因为我不确定这机器上能不能上 E3,因为惠普那尿性的微码问题,包括我现在也没有解决,每次开机都要按 F1 才能进,虽然网上有人放出了修改过的微码,但是我的编程器坏了(估计是太久没用了,再加上两次搬家,旅途劳顿,挂掉了),懒得再去搞了,按 F1 就按 F1 吧。
16G 内存,目前来说稍微有点浪费,但是浪费就浪费吧,但是指不定以后会在上面跑什么呢。
系统
先装个 Windows,测试一下整机数据,然后再去搞服务器环境
服务器系统选择没什么说的,自己一直在用 Debian,自然就直接上 Debian 了,装完之后又上了宝塔邪教,这东西很方便,因为测试环境配置什么的都要经常改,所以很适合使用宝塔,别 BB 什么什么的,我点几下,一分钟就能解决的事,有必要花五分钟去写一个配置文件嘛。
网络
网络的话,我这里是电信百兆,上行带宽最快能到 2M/S 这个水平吧,其中比较难解决的是外网访问问题,虽然这有公网 IP,但是没有 80 端口很难受啊,这时就想到了以前在 V2 见过的 Sakura Frp,简单记录一下使用方法
首先是注册一个账号 https://www.natfrp.org/ ;
登录之后在映射列表
里先创建一个 SSH 通道,可以参考这里https://www.zerobbs.net/thread/50;
然后按照 https://www.zerobbs.net/thread/6 的方法下载客户端,解压完停下来就好,后面就不需要继续了;
先测试一下连接,首先直接启动 frp 服务./Sakura_frpc_linux_amd64
然后会让你输入账号密码,具体参考官方论坛;
上一步如果提示连接成功了,咱们再进行下一步测试,记住了自己选择的服务器和第二步选择的端口,然后连接一下 SSH 服务看一下 ssh root@s21.natfrp.org -p xxxx
其中 s21.natfrp.org
是你选择的服务器,-p
参数是你映射的端口,如果可以联通的话,就算是测试成功了,咱们就可以进行下一步了;
后面要解决的是守护进程的问题,我曾经用两种不同的守护工具实现过,都是对应不同的实际环境,这里简单的介绍一下怎么写配置文件。
首先是 Supervisor
怎么安装和使用,可以看完以前的文章.net core 程序示例,这里简单说一下配置文件就可以了
[program:frp]
command=/www/frp/Sakura_frpc_linux_amd64 --su={用户名} --sp={密码} --sid={前面命令行启动时候的编号}
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/www/frp/frp.log
stdout_logfile=/www/frp/frp.out.log
里面的变量替换成你自己的(没用括号),路径也换成你自己的
另一种方法是用 PM2
首先宝塔面板自带了 pm2 管理器,可以在软件管理里直接安装,如果没用使用宝塔面板的话,可以选择先安装 Node 和 npm,然后用 npm 安装 pm2,具体怎么安装,可以百度
在 frp 解压的目录下新建一个文本文件
cd /xxxxxxxxxx
touch ./frp.json
然后修改配置文件 vim ./frp.json
{
"apps": [
{
"name": "frp",
"script": "Sakura_frpc_linux_amd64",
"cwd": "/www/frp/",
"autorestart": true,
"node_args": [],
"args": ["--su=用户名", "--sp=密码", "--sid=8"],
"env": {}
}
]
}
其中script
是要执行的命令,cwd
是路径,换成你自己的,后面的参数同样换成你自己的,写好之后
pm2 start frp.json
再确定一下有没有启动
pm2 list
pm2 show 0
再次用 ssh 连接测试,看看能不能在外网连上,如果没问题的话,守护进程的问题就算是解决了。
再添加几条隧道,比如 http 和 https 隧道,这里就不再啰嗦了,按照官方论坛上的教程来就可以了。
服务
目前这台小 JJ 主要用来测试,搭建了几个比较简单的服务,直播服务(主要在局域网内测试),二维码生成服务 https://qr.sm9.top/api/qr?tt=参数,函数图像生成服务(自己测试使用,还没写完),以及日常开发过程中的测试
总结
闲的蛋疼,又搞了台机器回来吃灰了。