重拾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
上个月是我入职现在的公司三周年的月份,所以又续订了五年的合同,最近有一些思考,也不知道这个五年能否还会一直在这个公司工作. 一切随缘吧. 闲适有毒,忙碌的时光总是过的很快,自从加入这个公司以来,日常的 ...
随机推荐
- solr4.x设置默认查询字段
1.如果需要同时在title和content中进行查询,可以添加如下字段: <field name="title_content" type="textComple ...
- Deamon Thread 讲解
The daemon thread's life cycle is same with the life cycle of the application which starts this daem ...
- XSS学习笔记(四)-漏洞利用全过程
<script type="text/javascript" reload="1">setTimeout("window.location ...
- android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
上一篇文章讲到了广播之前系统需要进行的准备工作,那接下来我们就来真正的启动广播. 首先还是先看一下上一篇文章结束的地方: @Override public void onClientRegistere ...
- poll调用深入解析
poll调用深入解析http://blog.csdn.net/zmxiangde_88/article/details/8099049 poll调用和select调用实现的功能一样,都是网络IO利用的 ...
- 基于visual Studio2013解决面试题之1109全排列
题目
- Cocos2d-x教程(30)-3.x版本号物理引擎的使用
转载时请注明原文出处 : http://blog.csdn.net/u012945598/article/details/38417333 在Cocos2d-x 2.x的版本号中,开发人员能够直接使用 ...
- iOS技术开发-人机交互指南之UI设计基础:iOS App Anatomy
第二篇更多的是从技术的角度对iOS界面组成原理进行了简单的解析,篇幅很短,可稍作了解:更多关于iOS开发入门的内容可参考“设计师应该了解的iOS应用开发基础知识”一文.另外,非常感谢各位朋友在微博上的 ...
- boost::asio async_write也不能保证一次发完所有数据 二
只有看boost源码才能弄明白发生了什么.首先我是将vector里面写入了数据,然后用boost::asio::buffer将vector构造成了mutable_buffer_1对象. 参考该文档的重 ...
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列4
Jobs (CJQ0, Jn, SNPn) Job进程运行用户定义的以及系统定义的类似于batch的任务.检查Job进程占用大量CPU资源的方法,就像检查用户进程一样. 可以根据以下视图检查Job进程 ...