- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Linode VPS主机购买与配置全流程攻略由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
购买 因为我主要的考量不是价格,而是主机的效能与稳定性,还有是否有提供备份的机制,Linode 的稳定性大家都说不错,还可以加 25% 的费用备份整台主机,所以我就选择了 Linode 的 VPS,以下是我在 Linode 注册与购买 VPS 的过程记录。 STEP 1 首先到 Linode 的官方网站,填入自己的 E-mail、账号名称与自选的密码.
填完送出之后,Linode 会先寄一封确认信到自己的 E-mail 信箱。 STEP 2 到自己的 E-mail 信箱收信,点选上面的确认连结.
STEP 3 点选 E-mail 中的确认连结后,就会开启注册的资料填写网页.
这里除了填入基本资料之外,还要输入信用卡预先储值。而优惠代码的部分,则可以上网搜寻「linode promo code」。 STEP 4 注册完成之后,就可以马上建立 VPS 主机了,Linode 上面有各种等级的方案,刚开始用可以选择最基本的「Linode 1024」,每个月收费是 10 元美金.
Linode 在全球各地有好几的资料中心,您可以选择自己想要的地点,如果是一般的中文网站,服务对象以东亚为主,可以选择今年四月刚成立的新加坡资料中心。 日本东京的资料中心因为主机售罄,目前无法提供给新的主机进驻,Linode 正在兴建第二个日本资料中心,有兴趣的人可以关注 Linode 的部落格。 STEP 5 建立好一个虚拟主机之后,点选它进入管理界面.
STEP 6 点选「Deploy an Image」,安装系统.
STEP 7 选择 Linux 发行版,并指定硬盘空间的配置,以及 root 管理者的密码.
STEP 8 安装好之后,点选「Boot」开机.
STEP 9 从「Remote Access」签页中可以看到服务器的 IP 信息,还有各种远端登入的方式.
您可以使用传统的 SSH 登入,或是使用 Linode 所提供的 Console Access 功能。我是感觉它的「Lish via Ajaxterm」非常好用,只要从网页上点选「Launch Lish Ajax Console」,就会接出现这样的 console,完全不需要安装任何东西.
这种从 console 登入的方式跟 SSH 登入是完全不同的(虽然看起来很像),它最棒的地方就是它不是透过主机的网络出来的,所以不会受到主机防火墙的影响,这个在变更防火墙设定时非常有用,管理者完全不必担心自己设错防火墙规则把自己挡在门外。 Linode 也有提供简单的 CPU 使用量、网络流量与硬盘 IO 的统计图,这些图是 Linode 自动产生的,不会影响到主机的运作,当然也不需要安装.
Ubuntu的基本设定 这里介绍 Linode VPS 在安装 Ubuntu Linux 系统之后,需要马上进行的一些基本安全性设定。 在购买 Linux VPS 虚拟专属主机之后,只要鼠标点几下,花个几秒钟就可以装好一个 Ubuntu Linux 系统,不过后续还有很多安全性设定必须自己动手处理,以下是各种设定的步骤教学。 1.更新系统套件 安装好 Ubuntu Linux 后,最先要做的就是更新系统套件: 。
代码如下
2.主机名称与 FQDN 主机名称(hostname)可以自己任意取,他跟网址与 E-mail 位址等没有直接关系,各主机的名称不可以重复,有些人喜欢用星球、动物或是伟人的名字来命名,您可以自己想一个喜欢的名字,不过请避免使用 www 这类太过于一般化的名称。 Ubuntu Linux 可以下列指令变更主机名称:
代码如下
这样会将主机名称设定为 einstein。 接着编辑 /etc/hosts,设定 FQDN(fully qualified domain name)。假设我们的主机名称为 einstein,网功能变量名称称(domain name)为 gtwang.org,FQDN 为 einstein.gtwang.org,主机对外的 IP 位址为 12.34.56.78,则将 /etc/hosts 设定为:
代码如下
如果有使用 IPv6 的话,也要连同 IPv6 的位址一起加入:
代码如下
这里设定的 IP 位址与 FQDN 的对应必须跟 DNS 的 A 纪录吻合,若有使用 IPv6 的话,DNS 服务器上也要有对应的 AAAA 纪录。 3.时区 将时区(timezone)调整为自己所在地的时区,可以让系统纪录档上的时间戳记看起来更直觉。 Linode 的 Linux 时区预设是使用格林威治标准时间(UTC),我们可以使用下列指令更改时区的设定:
代码如下
更改完成后,再用 date 确认一下:
代码如下
看看输出的时间是否正确。 4.新增使用者 在 Linode 上刚装好的 Ubuntu Linux 是直接用 root 登入的,没有一般使用者账号,但如果所有的动作都使用 root 来操作,会给系统带来很大的风险,通常我们都会一般账号来登入,必要时才切换成 root 权限,以避免下错指令等意外发生。 在 Ubuntu Linux 下新增一个使用者:
代码如下
将 myuser 这个使用者加入 sudo 群组:
代码如下
这样设定好之后,在用这个账号以 SSH 登入:
代码如下
然后测试看看是否能使用 sudo:
代码如下
如果能取得 root 权限就表示没问题了。 5.SSH 金钥认证登入 SSH 公开金钥认证可以大幅增加服务器的安全性,我们可以使用 ssh-keygen 在自己的计算机中产生金钥后,再将公钥放进服务器中:
代码如下
接着再到服务器上,建立 .ssh 目录,把公钥放置在 .ssh/authorized_keys:
代码如下
设定好档案权限:
代码如下
设定好之后,记得要测试 myuser 这个使用者是否可以不需要密码登入 SSH。 6.停用 SSH 密码登入 编辑 /etc/ssh/sshd_config,将密码登入功能关闭:
代码如下
同时也停用 root 登入:
代码如下
重新启动 SSH 服务器:
代码如下
7.防火墙 防火墙我习惯使用 ufw 来设定:
代码如下
这里开启 SSH、HTTP 与 HTTPS 这几个连接埠,另外对 12.34.0.0/16 这个子网域开放所有的连线,用来开发与测试用。 8.Fail2Ban Fail2Ban 可以用来阻挡一些来自网络上的恶意攻击,当它侦测到来自网络的某个 IP 不断尝试入侵系统时,会建立一个暂时性的防火墙规则,将攻击者的 IP 封锁。Fail2Ban 可以用下列指令安装:
代码如下
安装完成后,Fail2Ban 预设只会对 SSH 进行监控,若要更改设定可以将自己的设定写在 /etc/fail2ban/jail.local 设定档中,在这个档案中,我们也可以设定当侦测到几次登入失败后才开始阻挡 IP(maxretry),还有每次阻挡 IP 的时间长度(bantime)。修改设定之后,记得重新启动 Fail2Ban: service fail2ban restart 。
最后此篇关于Linode VPS主机购买与配置全流程攻略的文章就讲到这里了,如果你想了解更多关于Linode VPS主机购买与配置全流程攻略的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
首先是一些背景;我们正在开发一个数据仓库,并对我们的 ETL 过程使用哪些工具进行一些研究。该团队非常以开发人员为中心,每个人都熟悉 C#。到目前为止,我已经看过 RhinoETL、Pentaho (
我需要具有管理员权限的进程。从this问题和答案来看,似乎没有比启动单独进程更好的方法了。因为我宁愿有一个专用于该过程的过程,而不是仅为此方法在第二个过程中启动我的原始应用程序–我以为我会在VS201
我有这个函数来压平对象 export function flattenObject(object: Object, prefix: string = "") { return Object.key
我正在开发一个基于java的Web应用程序,它要求我使用来自SIP( session 启动协议(protocol))消息的输入生成序列图。我必须表示不同电话和相应服务器之间的调用流程。我可以利用任何工
这是我的代码: Process p=Runtime.getRuntime().exec("something command"); String s; JFrame frame = new JFram
我对 istio 的 mTLS 流程有点困惑。在bookinginfo 示例中,我看到服务通过http 而不是https 进行调用。如果服务之间有 mTLS 那么服务会进行 http 调用吗? 是否可
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
之前做过一个简单的纸牌游戏,对程序的整体流程有自己的想法。我最关心的是卡片触发器。 假设我们有一张名为“Guy”的牌,其效果为“每当你打出另一张牌时,获得 2 点生命”。我将如何将其合并到我的代码中?
我有 4 个 Activity 。 A、B、C 和 D。 用户可以从每个 Activity 开始任何 Activity 。 即 Activity A 有 3 个按钮来启动 B、C 和 D。以同样的方式
我做了一个简单的路由器类,简化后看起来像这样 // @flow import { Container } from 'unstated' type State = { history: Objec
我有两个 Activity ,比如 A1 和 A2。顺序为 A1->A2我从 A1 开始 A2 而没有在 A1 中调用 finish() 。在 A2 中按下后退按钮后,我想在 A1 中触发一个功能。但
我正在考虑在我的下一个项目中使用 BPEL。我试用了 Netbeans BPEL 设计器,我对它很满意。但在我决定使用 BPEL 之前,我想知道它对测试驱动开发的适用程度。不幸的是,我对那个话题知之甚
我需要将两个表格堆叠在一起,前后都有内容。我无法让后面的内容正常流动。堆叠的 table 高度可变。 HTML 结构: ... other content ...
我是 Hibernate 的新手。我无法理解 Hibernate 的流程。请澄清我的疑问。 我有“HibernateUtil.java ”和以下语句 sessionFactory = new Anno
早上好 我开始使用 Ruby,想创建一个小工具来获取我的公共(public) IP 并通过电子邮件发送。我遇到了字符串比较和无法处理的 if/else block 的基本问题。 代码非常简单(见下文)
我目前正尝试在我的团队中建立一个开发流程并阅读有关 GitFlow 的信息。它看起来很有趣,但我可以发现一些问题。 让我们假设以下场景: 我们完成了 F1、F2 和 F3 功能,并将它们 merge
我已经使用 git flow 有一段时间了。我很想了解一个特定的用例。 对于我的一个项目,我有一张新网站功能的门票。此工单取决于许多子任务。我想为主工单创建一个功能分支,然后为每个子任务创建一个脱离父
你怎么知道在一个程序中已经发现并解决了尽可能多的错误? 几年前我读过一篇关于调试的文档(我认为这是某种 HOWTO)。其中,该文档描述了一种技术,其中编程团队故意将错误添加到代码中并将其传递给 QA
我目前正在构建一个微服务架构,并从身份验证服务器和客户端着手。我还想确认使用 token 对用户进行身份验证的最佳流程。 在上图中。第 3 步是我开始感到困惑。我想到了2个解决问题的方法。 每个 ap
我是一名优秀的程序员,十分优秀!