http://www.nodebeginner.org/index-zh-cn.html
Node入门
关于
本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识。本书绝不是一本“Hello World”的教程。
状态
你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。
本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作。
http://www.nodebeginner.org/index-zh-cn.html
本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识。本书绝不是一本“Hello World”的教程。
你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。
本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作。
硬件环境:双千兆网卡+GM965主板+T2390 双核CPU+ 1T 3.5寸硬盘 + 8G sata 电子盘 + 1G DDR2台式机内存
软件环境:OpenWRT X86
从X宝花费150元购入17x17主板,8G sata电子盘50元,用原有的DC电源,家里旧电脑拆下1G老内存,主板自带T2390的CPU,正好加上N年前购置的mini小机箱和1T台式硬盘,共计花费200元。一套高性能路由器诞生了。
原有cpu散热片太小,风扇又是高速暴力扇,转速5000以上,噪音很大,拆了个旧cpu稍大的风扇加电阻降速,控制在1500转,在保留基本散热的基础上,降低噪音。
机箱也经过了改造,将DC电源模块内置,前面板看起来人模狗样的,后面板惨不忍睹,算了,面子工程够用就好。
稍后上整机照片
先给一个环境:
cisco路由器内网接口s1/0: 192.168.1.1 255.255.255.0
外网接口s1/1: 10.0.0.1 255.255.255.0
服务器ip:192.168.1.100
首先telnet到路由器上:
User Access Verification
Username: cisco #输入用户名
Password: #输入密码
Router>en #进入特权模式
Password: #输入特权模式密码
Router#conf t #进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #建立访问控制列表准备做nat转换
Router(config)#ip nat inside source list 1 interface s1/1 #建立NAT转换,将192.168.1.0的地址转换为接口s1/1的地址
Router(config)#int s1/0 #进入接口模式
Router(config-if)#ip nat inside #设定s1/0为NAT内部接口
Router(config-if)#int s1/1 #进入S1/1的接口模式
Router(config-if)#ip nat outside #设定S1/1为NAT外部接口
Router(config-if)#exit
Router(config)#
此时已经启用了NAT,内网可以上网了。
现在开始端口映射,让外网访问内网服务器:
Router(config)#ip nat inside source static tcp 192.168.1.100 5631 10.0.0.1 5631 extendable
Router(config)#ip nat inside source static tcp 192.168.1.100 5632 10.0.0.1 5632 extendable #因为10.0.0.1这个地址已经应用在s1/1接口上并做了NAT转换的地址,这里必须加上extendable这个关键字,否则报错。如果用另外的外网ip比如10.0.0.2,在这里就可以不加extendable。
现在外网的机器可以访问内网了。
命令show ip nat translations可以查看nat转换情况
show run也可以找到相关配置
Router(config)#exit #退出全局配置模式,到特权模式下使用show命令
Router#sho ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 10.0.0.1:23 192.168.1.100:23 --- ---
tcp 10.0.0.1:23 192.168.1.100:23 10.0.0.2:48268 10.0.0.2:48268
tcp 10.0.0.1:5631 192.168.1.100:5631 --- ---
tcp 10.0.0.1:5632 192.168.1.100:5632 --- ---
附:要删除哪条命令只要在命令前加 no 即可
补充: 你telnet的是5631端口,而服务器的telnet端口是23
你要telnet到服务器的5631端口就必须改服务器的telnet端口,在注册表改,服务器的防火墙也要打开相应端口。
如果你不改服务器端口也可以将5631的端口映射到服务器的23端口,命令如下:
Router(config)#ip nat inside source static tcp 192.168.1.100 23 10.0.0.1 5631 extendable
要先删掉5631到5631的映射,命令如下:
Router(config)#no ip nat inside source static tcp 192.168.1.100 5631 10.0.0.1 5631 extendable
不改服务器端口就必须将外网ip的5631端口映射到服务器的23端口。然后你telnet ip 5631 其实就是telnet服务器的23端口
引用:http://teamojiao.javaeye.com/blog/456795
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量 资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载 磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况 网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息 进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态 用户
# w # 查看活动用户
# id # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务 服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务 程序
# rpm -qa # 查看所有安装的软件包