作为程序员,搭建属于自己的服务器可以部署自己的网站,可以配置代理科学上网,了解国际前沿科技;一些高性能的服务器还可以完成一些云计算、深度学习模型的训练任务。

DigitalOcean 服务启动

注册 DigitalOcean

目前国内可以正常访问 DigitalOcean 官网,通过我的推荐链接注册可以获得 100 美刀的 credit,同时我也会获得一定的奖励,也算双赢吧~

需要注意的是,注册验证时填写银行卡信息(VISA,Mastercard 都可以)或者 PayPal 账号是用来验证身份,并不会在注册时扣费。

如果你在 GitHub 认证了学生身份,则可以获得 $50 的 credit:从 GitHub 的学生开发者包(Student Developing Pack)里找到 DigitalOcean 的 offer code,复制到 DigitalOcean 的账户信息里面。完成之后,账户里面就会有刚送的 $50 的 credit 可以用了。

添加 SSH 公钥(Optional)

该步骤可选,是为了方便用受信任设备(比如自己的电脑) SSH 登陆时自动认证,省去了输入密码的繁琐和被偷窥风险,更加安全方便。

GitHub、GitLab 支持类似的配置 SSH key 的操作。如果对这块儿比较熟悉,扫一眼 这篇官方文档 就可以完成添加公钥操作。

如果不熟悉如何找到或生成 SSH 公私钥对,可以参考我的这篇博文:查看、生成 SSH 密钥用于安全登录

创建服务器实例

下面开始创建一个服务器实例(Droplet)。

选择系统镜像

根据自己对不同 Linux 系统的熟悉程度来选择就好。

选择硬件配置

根据需求来,新手可以先从 $5 的服务器开始练手,后面有需求再加容量。

选择数据中心区域

选择之前可以先在DigitalOcean 官网测试上下行速度、延迟等数据,再作选择。

添加 SSH 公钥

如果有,上传或勾选对应的 SSH 公钥

其他选项

如果没有特殊要求,保持默认就好。

完成并确认无误后,点 create 就可以创建服务器实例了。图示如下:

初次配置服务器(debian 9 为例)

一些基本的配置,参考于这里

初次登陆

新服务器系统只有一个 root 用户,因此初次登陆就用 root 作为用户名:

ssh root@<public-ip-address>

创建新用户

登陆后即拥有最高权限,这是比较危险的做法。相比之下,一般更推荐创建一个拥有普通权限的用户,只有前面带 sudo 命令时才能暂时获取 root 权限。

adduser <username>
usermod -aG sudo <username>
su <username>

注:上面的 <username> 需要替换为你的用户名。

设置基本防火墙

ufw 为例,简单设置防火墙。

安装 UFW

sudo apt update && apt upgrade
sudo apt install ufw

配置 UFW

UFW 可以根据应用的 profile 允许或禁止应用访问互联网。

sudo ufw app list

上面的命令可以查看 ufw 可以管理的应用 profile,其中就有 OpenSSH

比如我们需要用 OpenSSH 控制服务器,就要允许它访问互联网:

sudo ufw allow OpenSSH
sudo ufw enable

完成后,ufw 将屏蔽所有除了 OpenSSH 之外应用的网络访问。可以通过下面的命令验证:

sudo ufw status

更多关于 ufw 的操作

给新用户添加 SSH 公钥

目前为止,我们只能用 root 账户登陆,然后切换到普通用户 <username>

现在,我们给新用户添加 SSH 公钥之后,就可以直接登陆服务器的普通用户了。

# Login server by root:
ssh root@<public-ip-address> # Copy known public key from root to <username>
cp -r ~/.ssh /home/<username> # Adjust ownership of the files under ~/.ssh/
chown -R <username>:<username> /home/<username>/.shh

完成后,用非 root 账户登陆:

ssh <username>@<public-ip-address>

Written with StackEdit.

搭建 Digital Ocean 服务器的更多相关文章

  1. VPS -Digital Ocean -初试以及VPN的搭建

    首先恭喜你找到这篇博客,它会带你走出困境. 题外话(请忽略):一直以来想搞一个VPS,终于在自己的刺激下试了一下Digital Ocean,还没有使用很长时间不做太多评论,唯一给我的感觉是各种操作还算 ...

  2. 如何在Digital Ocean上申请服务器的教程

    本文会详细叙述如何在digital ocean上注册.申请.创建以及配置服务器,亲测有效. what's the Digital Ocean ? 根据度娘释义,Digital Ocean是digita ...

  3. 手把手教你从购买vps到搭建一个node服务器

    要准备什么? 1.5刀 2.最好有FQ软件(可以用蓝灯) let's Go! 一.vps购买 vps可以选择digital ocean(do) 链接 ,由于是外国网站,响应比较慢,所以最好翻个墙. g ...

  4. 简单搭建 nuget 内部服务器

    搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...

  5. 使用Hudson搭建自动构建服务器

    环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...

  6. Windows环境搭建Red5流媒体服务器指南

    Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

  7. 在UP Board 上搭建M——L服务器

    前言 原创文章,转载引用务必注明链接,水平有限,欢迎指正. 本文环境:ubilinux 3.0 on UP Board 初识免流 所谓免流,就是免除手机访问网络产生的流量费用.其原理在乌云网上有过报道 ...

  8. 一把鼻涕一把泪 搭建公网ftp服务器

    至于为什么要搭建公网ftp服务器,就当我心血来潮吧. ftp开源工具很多,咱用的是filezilla服务器.后来为了方便搭建web服务器,就改成了集成工具xampp.客户端工具也是filezilla ...

  9. ubuntu 搭建PPTP VPN服务器

    上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...

随机推荐

  1. [HAOI2015]按位或

    题目 好神的题啊 我们发现我们求这个东西如果常规\(dp\)的话可以建出一张拓扑图来,但是边的级别高达\(3^n\),转移的时候还要解方程显然不能通过本题 我们考虑神仙的\(min-max\)容斥 设 ...

  2. XML External Entity attack/XXE攻击

    XML External Entity attack/XXE攻击   1.相关背景介绍 可扩展标记语言(eXtensible Markup Language,XML)是一种标记语言,被设计用来传输和存 ...

  3. virtualbox+vagrant学习-2(command cli)-12-vagrant Provision命令

    Provision 格式: vagrant provision [vm-name] [--provision-with x,y,z] 针对正在运行的vagrant托管计算机运行任何配置预配置程序. u ...

  4. mysql通过“延迟关联”进行limit分页查询优化的一个实例

    最近在生产上遇见一个分页查询特别慢的问题,数据量大概有200万的样子,翻到最后一页性能很低,差不多得有4秒的样子才能出来整个页面,需要进行查询优化. 第一步,找到执行慢的sql,如下: SELECT  ...

  5. docker常用命令(二)

    把镜像保存到本为一个文件 docker save -o filename.tar imagename:tag 载入保存在本地的镜像 docker load < filename.tar 或者 d ...

  6. centos 6.8安装java环境

    1.rpm -qa |grep java   查看当前是否有java已经安装了,部分centos系统已经安装了的openjava环境,但是很多项目不熟要求的是要必须是sun的java环境 2.yum ...

  7. Kafka设计解析(一)Kafka背景及架构介绍

    转载自 技术世界,原文链接 Kafka设计解析(一)- Kafka背景及架构介绍 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Pr ...

  8. HDU 1698 Just a Hook(线段树模板之区间替换更新,区间求和查询)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. L2-022 重排链表(链表)

    题目: 给定一个单链表 L​1​​→L​2​​→⋯→L​n−1​​→L​n​​,请编写程序将链表重新排列为 L​n​​→L​1​​→L​n−1​​→L​2​​→⋯.例如:给定L为1→2→3→4→5→6 ...

  10. 配置bond

    注意:配置bond要有两个以上的网口 1.配置文件所有目录:/etc/sysconfig/network-scripts 网口配置文件名规则:以ifcfg-开头,然后接着是网口名 例如:eth0的配置 ...