linux学习杂记

最近工作上不忙,抽空重新学习了linux,以前对于linux,是东一命令西一脚本,够用就行,从来没有系统地学过linux,经过这一番学习,从linux基本命令,到内核的基本运行原理,开机启动原理,磁盘存储,网络通讯,软件安装及管理等从底层往上的系统学习后,以及手动编译LFS,自认为对linux有了重新的认识,但觉得对linux的了解又才刚刚入门,对于想玩转linux,还有很长一段路要走。

linux真是一个强大的系统,一个迷你版本的linux系统只需5M大小就可以运行起来,外围是一堆模块以及硬件驱动构成了linux的内核,内核又对外提供事件以及程序接口与外部应用程序通讯。

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。

爱上linux是必然的,虽然很多东西还是不甚理解,目前工作也很少涉及服务器管理,但这是一个值得花精力和时间,衣带渐宽终不悔,为伊消得人憔悴的东西。

nginx反向代理skynet

nginx作为一个web服务器和反向代理服务器,能够使web服务器和逻辑单独分离,也可以作为负载均衡服务器。基于这些优点,可以使用nginx反向代理skynet,即skynet监听本地的一个socket端口,收到请求后处理逻辑,然后返回结果。nginx和skynet可以同一台机器上,也可以在不同的机器上。

新建一个skynet服务并启动起来,当收到请求后简单返回一条信息

启动起来后log如下,监听8008端口

nginx配置

将所有以server为uri的请求全部转向skynet的8008端口上。

重新加载nginx,用浏览器打开http://localhost:8020/server会收到一条信息显示在浏览器上。

skynet已经自带了一个simpleweb例子,可以直接使用,还有一些解析header的代码,自己可以修改体验下skynet作为web服务器使用。