重拾linux
重拾linux
起因
因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识。本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱!
还可以用来做本地测试,学习使用linux、docker等。记录下过程,防止以后忘记!(所以不会涉及具体的安装步骤)
下载
到网易开源镜像站,挑选一个linux下载。我安装linux只要是为了学习运维方面的知识,同时用于进行网络知识方面的实践。如果你跟我一样,推荐Ubuntu server版本,纯字符界面,就跟一个服务器一样。
安装时,注意:语言选择英文,否则会因为没有安装中文字体,显示字符会出现问题。其它的没有什么特别的直接一步步的走下来就行了。
ubuntu server语言选成中文,换回英文方法:
修改Ubuntu的配置文件/etc/default/locale
将原来的配置内容修改为
LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
上手
VirtualBox(后面称作VB)中linux就是一个服务器,我不想直接在上面进行操作,因为上面什么都没有!所以直接采用ssh的方式,也就是使用真实的计算机操作VB中的linux。
首先,设置VB的网络,设置为NAT(我认为就是本地端口转发,用于与VM的通信)。如下:
然后,设置端口转发,在真实机下操作:
方法1:直接输入:
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22",myserver字段就是VM(虚拟机)的名字。例如我的就是‘learn_networking’。方法2:保证VM在运行状态下,操作步骤如下:

最后,在本机中输入:ssh -p 3022 user@127.0.0.1,‘user’字段就是linux中的用户名。连接成功如下:
最好修改下源(就是apt安装文件的时候去哪里找,否则通过apt安装软件会慢),请参考
他能干嘛?
它可以做一个本地的测试环境。比如,VM安装的环境和线上服务器一样。在开发完一个功能之后,通过git,可以先把新的代码部署到刚设置好的本地的VM上,然后在本地测试,如果没有问题,就可以上线了。
比如:VM起了一个服务,监听的是8000端口,本机上查看效果。我们就可以像上面一样,修改NAT,如果本机想通过127.0.0.1:3008访问VM上的服务,那么我就把NAT改成如下图所示:
最后,在VM用python的SimpleHTTPServer和BaseHTTPServer内建模块,写个简单的server脚本——'test.py',用来演示上面设置的NAT是否成功。代码如下:
import SimpleHTTPServer
import BaseHTTPServer
def test():
BaseHTTPServer.test(SimpleHTTPServer.SimpleHTTPRequestHandler,
BaseHTTPServer.HTTPServer)
# 默认监听:8000端口
test()
同目录下,写一个‘index.html’文件,因为SimpleHTTPRequestHandler,默认返回同目录下的index.html文件。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1> 我是削微寒的VM:xueweihan</h1>
<p>用来构建本地的测试环境、学习网络编程的知识、练习linux</p>
</body>
</html>
在VM中,执行python test.py,运行效果如下:
参考
重拾linux的更多相关文章
- [linux]重拾linux
起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使 ...
- 是否能重拾Linux下Init 3的快感?
对于Windows大多数程序猿(眼下).是否非常怀念Linux下全字符界面的炫酷与优越感? 是否仍然停留在cmd后,将文件拖到dos下简单的操作呢?以下是近期研究在Windows下用全命令行的方 ...
- 重拾C
重拾C,一天一点点_10 来博客园今天刚好两年了,两年前开始学编程. 忙碌近两个月,项目昨天上线了,真心不容易,也不敢懈怠,接下来的问题会更多.这两天调试服务器,遇到不少麻烦. 刚出去溜达了一下,晚上 ...
- 【Java】 重拾Java入门
[概论与基本语法] 取这个标题,还是感觉有些大言不惭.之前大三的时候自学过一些基本的java知识,大概到了能独立写一个GUI出来的水平把,不过后来随着有了其他目标,就把这块放下了.之后常年没有用,早就 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾Blog
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
随机推荐
- 一步一步重写 CodeIgniter 框架 (1) —— url 如何映射到具体的方法
CodeIgniter 框架最显著的特征就是 MVC 模式,它的做法就是提取 url 中的'分段', 映射到某个类的某个方法,从而由该方法来输出最终显示的页面内容.那么我们第一课中就是实现一个这样的原 ...
- libvirt命令行文档
Libvirt有两种控制方式,命令行和图形界面 图形界面: 通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌 ...
- c语言,动态数组
试着直接malloc一个2*3*4的空间来模拟数组: #include <stdio.h> #include <malloc.h> int main(void) { int** ...
- MYSQL获取自增主键【4种方法】
通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键.本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值: 通过JDBC2.0提 ...
- Cocos2dx3.1 获取当前系统时间
以下是获代替码 原文地址:http://blog.csdn.net/qqmcy/article/details/28233565 // // Tools.h // // // Created by 杜 ...
- Eclipse用法和技巧六:自动生成get和set方法1
java的类中,除了常量声明为静态且公有的,一般的对象数据作用域,都是声明为私有的.这样做能保护对象的属性不会被随意改变,调试的时候也会方便很多:在类的公有方法中大一个调用栈就能看到哪里改了属性值.声 ...
- Python源码学习十一 一个常用的内存分配函数
void * _PyObject_DebugMallocApi(char id, size_t nbytes) { uchar *p; /* base address of malloc'ed blo ...
- asp.net下利用MVC模式实现Extjs表格增删改查
在网上看到有很多人写extjs下的表格控件的增删改查,但是大多数都是直接从后台读取数据,很少有跟数据库进行交互的模式. 今天就来写一个这样的例子.欢迎大家交流指正. 首先简单介绍一下MVC模式,MVC ...
- Delphi 拖放文件编程(覆盖WM_DROPFILES消息)
unit Unit1; interface usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ...
- C# System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件
将文件转化为二进制代码时,出现提示: 文件正由另一进程使用,因此该进程无法访问该文件 原来是构造System.IO.FileStream时,使用的方法有问题 一开始是直接使用 System.IO. ...