Posts 搭建属于自己的服务器
Post
Cancel

搭建属于自己的服务器

  最近搬家了,整理东西的时候竟然发现了一台大学时候用的笔记本,卖二手也卖不了多少钱,所以就废物利用,用来搭建一个服务器. 想想现在的云服务 16G Rom 得多少钱,而且这个不用的笔记本还有一个256G 的 SSD 和一个 1T 的机械硬盘.用来做一个数据中心是挺不错的选择.

1.准备工作

  1. 需要一个公网 IP,这样的话才能外网访问到我们的搭建起来的服务器。

  2. 如果自己家没用公网 IP 的话,那么就需要用我现在使用的 Plan B. 需要一个云服务器(这样我们就有了一个公网 IP)在云服务器上使用 frp 这个工具来代理到我们自己的主机上.在国内大的云服务商买个1核1G的就行,也不是很贵,预计不会超过¥500/年.野机场还更便宜,但是不推荐,因为容易跑路.

2.开始搭建

  1. 安装 ubuntu

  我使用的是 refus 制作启动盘, ubuntu 20.04镜像下载地址: https://cloud-images.ubuntu.com/releases/20.04/release/ubuntu-20.04-server-cloudimg-amd64.img

  安装过程可以参考How To Install Ubuntu 20.04 LTS Focal Fossa | Step-By-Step Guide

  1. 配置 frp

  云服务器端配置 frps.ini 文件, 配置完毕后启动就好了,具体方法可以参考使用frp实现windows远程桌面连接

1
2
3
4
5
6
[common]
bind_port = 36000 # 本机监听的端口

dashboard_user = <your username> # 用户名

dashboard_port = 36005 # 这个是控制面板的端口一般用不上 随便设置一个

  我们的服务器 frpc.ini 文件

1
2
3
4
5
6
7
8
9
[common]
server_addr = xxx.xxx.xxx.xxx # 服务器的 IP
server_port = 36000 # 和云服务器中 bind_port 配置一致的端口

[home-server]
type = tcp 
local_ip = 127.0.0.1
local_port = 22 # ssh 服务监听的端口 默认 22
remote_port = 36001 # 连接到服务器的端口

  配置好了之后我们就可以通过 ssh username@<server_addr> -p <remote_port> 连接到我们的服务器了

  当然,毕竟是无人值守的状态,为了保证 frp 服务稳定性,我们通过 systemd 守护进程来管理 frp 的运行(这里只写了我们的服务器的配置,云服务器毕竟能随时 ssh 连接上去所以没配置),并结合 crontab 定时任务重启 frp.我们在 /etc/systemd/system 目录下面建立一个 frpc.service 文件. ExecStart 写 frp 启动命令就行了,唯一需要改路径.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=FrpcService
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/ligengxin/frp/frpc -c /home/ligengxin/frp/frpc.ini
ExecReload=/home/ligengxin/frp/frpc reload -c /home/ligengxin/frp/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

  然后 systemctl start frpc 启动 frpc 服务,然后运行 systemctl enable frpc 命令,这样就可以在重启机器的时候自动启动了.最后设置 crontab 定时任务每天重启 frpc 服务,crontab -e 添加一行配置0 5 * * * systemctl restart frpc 这样我们的 frpc 服务就会每天 5 点重启了.

3.配置代理服务

  我目前还没掌握透明代理的配置方法,所以目前使用的是 trojan 这个代理软件. ubuntu 上配置 trojan 可以参考 Trojan For Linux 这个文章

4. 配置邮件提醒

  构建完服务器后,我用 node 写了一些监控程序在我的服务器异常的时候提醒发邮件提醒我,比如硬件使用率监控和数据库数据变化趋势状态检测.源码地址

4.Ref

  1. How To Install Ubuntu 20.04 LTS Focal Fossa | Step-By-Step Guide
  2. Trojan For Linux
This post is licensed under CC BY 4.0 by the author.

Docker 踩坑合集

使用 Trojan 进行科学上网