搭建 Digital Ocean 服务器
作为程序员,搭建属于自己的服务器可以部署自己的网站,可以配置代理科学上网,了解国际前沿科技;一些高性能的服务器还可以完成一些云计算、深度学习模型的训练任务。
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
给新用户添加 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 服务器的更多相关文章
- VPS -Digital Ocean -初试以及VPN的搭建
首先恭喜你找到这篇博客,它会带你走出困境. 题外话(请忽略):一直以来想搞一个VPS,终于在自己的刺激下试了一下Digital Ocean,还没有使用很长时间不做太多评论,唯一给我的感觉是各种操作还算 ...
- 如何在Digital Ocean上申请服务器的教程
本文会详细叙述如何在digital ocean上注册.申请.创建以及配置服务器,亲测有效. what's the Digital Ocean ? 根据度娘释义,Digital Ocean是digita ...
- 手把手教你从购买vps到搭建一个node服务器
要准备什么? 1.5刀 2.最好有FQ软件(可以用蓝灯) let's Go! 一.vps购买 vps可以选择digital ocean(do) 链接 ,由于是外国网站,响应比较慢,所以最好翻个墙. g ...
- 简单搭建 nuget 内部服务器
搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...
- 使用Hudson搭建自动构建服务器
环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...
- Windows环境搭建Red5流媒体服务器指南
Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一. 下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...
- 在UP Board 上搭建M——L服务器
前言 原创文章,转载引用务必注明链接,水平有限,欢迎指正. 本文环境:ubilinux 3.0 on UP Board 初识免流 所谓免流,就是免除手机访问网络产生的流量费用.其原理在乌云网上有过报道 ...
- 一把鼻涕一把泪 搭建公网ftp服务器
至于为什么要搭建公网ftp服务器,就当我心血来潮吧. ftp开源工具很多,咱用的是filezilla服务器.后来为了方便搭建web服务器,就改成了集成工具xampp.客户端工具也是filezilla ...
- ubuntu 搭建PPTP VPN服务器
上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...
随机推荐
- php 添加 redis 扩展
Windows下PHP安装Redis扩展的具体步骤方法 下面我们就结合详细的图文,给大家介绍Windows下PHP安装Redis扩展的方法: 首先我们打开这个上面给出的下载链接地址,界面如下: 这里我 ...
- java基础集合类——ArrayList 源码略读
ArrayList是java的动态数组,底层是基于数组实现. 1. 成员变量 public class ArrayList<E> extends AbstractList<E> ...
- virtualbox+vagrant学习-3-Vagrant Share-4-Vagrant Connect
Vagrant Connect vagrant可以共享到vagrant环境的任何或每个端口,而不仅仅是SSH和HTTP.“vagrant connect”命令为连接人员提供一个静态IP,他们可以使用该 ...
- python 模拟126邮箱登陆
#coding=utf-8from selenium import webdriverimport time mydriver=webdriver.Firefox()mydriver.get(&quo ...
- 使用mongodump及mongorestore备份及恢复数据
mongodump及mongorestore是用于备份和恢复mongodb数据库的两个命令,位于mongodb安装目录的bin文件夹下. mongodump导出的备份文件为二进制格式,每一个文档的对应 ...
- python file的3中读法
f.read() 整个文件读入到内存,全部放入到一个string中 f.readlines() 文件全部内容解析成行列表,自带\n,需要print i, f.readline()一行一行,返回字符串 ...
- java中的对象和类
1.类:类是一个模板,它描述一类对象的行为和状态. 一个类可以包含以下类型变量: 局部变量:在方法.构造方法或者语句块中定义的变量被称为局部变量.变量声明和初始化都是在方法中,方法结束后,变量就会自动 ...
- C语言程序设计I—第三周教学
由于本课程是从教学周的第二周开始上课,所以第二次授课是发生在第三周,为了让PTA.云班课和博客能统一,所以将教学周作为随笔的标题.本周由于处理外聘教师随意退课等事情,总结有些延后了. 第三周教学安排 ...
- CentOS6中OpenMP的运行时间或运行性能分析
OpenMp作为单机多核心共享内存并行编程的开发工具,具有编码简洁等,容易上手等特点. 关于OpenMP的入门,博主饮水思源(见参考资料)有了深入浅出,循序渐进的分析.做并行开发,做性能分析是永远逃避 ...
- 观察者模式及c++实现
观察者模式概念:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,全部依赖于它的对象都得到通知并自己主动更新."Define a one-to-many dependenc ...