装机和部署

新开一台server部署有一定的套路,本文说明这个流程。

所有Linux上的软件安装都是通过package manager完成的,Ubuntu上的工具是apt(advanced packaging tool),内置在linux里,基本上都是通过这个工具的命令行完成装机

首先是更新linux内核
使用sudo apt-get update更新apt的index和包源。这一步很重要,系统会寻找最新且可靠的镜像,如果不执行这一步则后面安装软件很可能出错。这里的update仅仅只更新index,这样apt知道去哪里找最新的源
然后sudo apt-get dist-upgrade更新所有包,包括内核

接下来就是使用sudo apt install 来安装想要的软件
比如sudo apt install g++来安装g++
比如sudo apt install make来安装makefile
比如sudo apt install unzip来安装unzip。一般都是把源代码以zip方式拷贝到服务器,所以服务器上需要解压zip文件。使用unzip myfile.zip命令来解压。

安装boost要换一种写法,因为boost不是package。用如下形式:
sudo apt install libboost-all-dev
不过如果只使用了header-only的boost那么没有必要把整个boost库下下来并编译,可以直接把源代码传到远程机器上即可

安全设置也是重要一环,主要是防火墙。
操作系统默认设置应该是接受所有包进入,允许所有包发出。如果需要fine control可以使用iptables(ip6tables),不过用起来略麻烦,更便捷的工具是ufw(uncomplicated firewall)
ufw在ubuntu20.04版本后自带,所以不用装了,注意所有命令都要加sudo
ufw status
检查一下, 默认应该是inactive。默认设置会拒绝所有incoming,允许所有outgoing
接下来设置具体规则
ufw allow ssh 没开则ssh无法登陆,allow打开。
ufw limit 8080/tcp 打开8080的tcp端口
ufw有个limit功能,作用是同一个IP地址30秒内最多连接6次,如果超了则block

ufw enable 先设置rule,最后enable
ufw status 检查rule是否正确

防火墙就设置完毕了。

重启服务器生效
sudo reboot