NodeJS兴起后,前端开发要多懂点Linux,要有更多Linux的思想。
是为了学习WEB前端开发,不是为了学习运维,所以可以简化,模拟个能通过远程terminal使用bash,通过git/svn/ftp管理文件的开发环境就行。想进一步学习,网上也有许多Linux运维教程。
推荐用CentOS,RHEL事多,比如yum是付费服务,想不花钱,还得换成CentOS的yum,何必呢。
推荐国内安装源镜像。http://mirrors.aliyun.com/ http://mirrors.163.com/ https://mirrors.ustc.edu.cn
CentOS 7.2.1511的下载地址,将来有新的,请用新版。 http://mirrors.aliyun.com/centos/7.2.1511/isos/x86_64/
用最新版的vmware或virtualbox创建虚拟机装CentOS7/RHEL7系统。如果VM中找不到最新版系统选项,可以选Linux打头的数字最大的那项,如果要用GUI Shell,内存要1G以上,硬盘只要不选立即分配空间,可以给个百八十G的。
其实吧,VM软件装系统一路按推荐操作就行,系统安装开始记得跳过Test media,安装界面一定要选上Basic Web Server和Development Tools,输入超级管理员的名字和密码,其他无所谓,没有特别需要,网卡IP可以使用选自动,不建议选中文,选GUI,创建普通用户。
装完重启进入系统后,开始配置网卡,要能上网才能进行后面的。
CentOS7/RHEL7网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式。en代表的是enthernet(以太网),o代表的是onboard(内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性。说明:默认安装好之后是没有自动开启网络连接的!
修改配置自动启动网络连接。
vi /etc/sysconfig/network-script/ifcfg-eno #用ip addr或者Ifconfig命令查到的编号
或者:
cd /etc/sysconfig/network-script/ ll #能看到ifcfg-eno打头的网卡配置文件 vi ifcfg-en #按tab键就可以自动补全名字,如果有多个网卡,则要再多打点字
找到onboot=no,改为onboot=yes
CentOS7/RHEL7要查看、启动、停止、重启、启用或者禁用系统服务,要使用systemctl来代替旧的service命令。注:为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。
systemctl restart network.service
CentOS7/RHEL7使用了firewalld代替了原来的iptables,我们要在主机访问客户机系统的web服务,还有git/svn/ftp等跟防火墙有关,配置麻烦,为了学习方便直接关掉就行。
查看防火墙状态:
systemctl status firewalld.service
关闭防火墙:
systemctl stop firewalld.service
关闭开机启动:
systemctl disable firewalld.service
后面可以用Xshell之类的远程终端登录服务器进行操作了。用网卡IP和管理员名字密码登录。
Xshell之类终端模拟器都支持256色。
tput colors echo $TERM
不过输入上面的命令,如果是8和xterm,则需要修改.bashrc文件。在根目录输入下面命令。
vim .bashrc
在最后加入下面语句并保存退出。
if [ -e /usr/share/terminfo/x/xterm-256color ]; then export TERM='xterm-256color' else export TERM-'xterm-color' fi
然后用source .bashrc生效。
source .bashrc
再看tput colors和echo $TERM应该是256和xterm-256color了。如果系统默认没有xterm-256color类型,则用yum install ncurses
拷贝一份vim配置到root用户根目录,并添加 set t_Co=256 保存。
cp /etc/vimrc /.vimrc vim /.vimrc
如果装的RHEL系统,它的yum是付费服务,没有授权不能通过yum在线下载更新软件,需要更换成CentOS yum。
删除RHEL原有的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
输入yum回车,如果提示-bash: yum: command not found这说明删除成功。
国内镜像站都可以下载安装包,下面用的阿里云,可以换成其他,根据安装的RHEL版本,选择对应的版本号文件夹,具体软件安装包的版本号也可能会不同。python那个如果选择了基本网页服务器和开发工具,不用再下载安装了。yum和yum-plugin-fastestmirror两个一起安装先后顺序不要乱,第一个装完显示50%,最后一个装完显示100%。
wget http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm wget http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm wget http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm wget http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm rpm -ivh yum-3.4.3-132.el7.centos.0.1.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
RHEL的CentOS yum这就装好了。
开始把yum里的下载地址换成国内镜像源地址,参考阿里云的http://mirrors.aliyun.com/help/centos。
如果yum makecache命令执行出现错误,要修改CentOS-Base.repo文件的变量$releasever,所有$releasever替换成镜像下载地址的版本号,比如这里是7.2.1511 。如果觉得在终端里用vim替换麻烦,可以在PC改好后拷贝粘贴进去,配置改好后,再重新yum clean all && yum makecache。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all && yum makecache vim /etc/yum.repos.d/CentOS-Base.repo #如果yum makecache命令执行出现错误,需要这一步,再重新yum clean all && yum makecache
yum的源替换完成,开始倒腾EPEL源。先安装EPEL,然后和前面替换yum源步骤一样。参考阿里云的 http://mirrors.aliyun.com/help/epel
yum install epel-release mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo yum clean all && yum makecache
最后升级所有包
yum update
用阿里云的tnvm https://github.com/aliyun-node/tnvm 安装管理nodejs版本。 如果遇到 ssl 证书问题, 尝试wget加上选项–no-check-certificate
wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
如果安装成功,却提示找不到tnvm,重启就可以了。
查看node版本
tnvm ls-remote node
安装
tnvm install node-v4.4.0
安装成功后,要确定使用它
tnvm use node-v4.4.0
因为我们这恶劣的网络环境,用npm安装之类的,最好有稳定高速代理,没有就只能想其他办法了。以后如果遇到安装失败,再安装前请运行下面命令:
npm cache clean
npm的提速方案:
使用 nrm 来管理npm的registry。
npm install -g nrm --registry=https://registry.npm.taobao.org/
或者
使用smart-npm
# 先将系统的 npm 备份到 npm-original
ln -s $(npm root -g)/npm/bin/npm-cli.js $(dirname $(which npm))/npm-original npm install --global smart-npm --registry=https://registry.npm.taobao.org/
如果觉得npm安装太慢可以换pnpm或ied
它们的比较可以读appleboy的提升 npm install 安裝速度
弄好后,记得运行npm update -g 升级所有模块。
tldr是一个简洁明了版的Linux commands manual,一般情况可以替代那个恐怖的man。
node版 Installing
npm install -g tldr
If you have trouble with the post-install script, try the following commands 如果安装出错,换下面命令,—ignore-scripts 长选项,跳过安装脚本错误 :
npm install -g --ignore-scripts tldr tldr --update
创建一个学习开发工作目录
mkdir -p workspace/node-webapp cd workspace/node-webapp vim server.js
写入以下代码:
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888);
保存文件
node server.js
开个新终端
curl http://localhost:8888/
会返回Hello World
在主机浏览器访问,请用http://网卡ip:8888/ ,就可以在浏览器页面看到Hello World
本文遵循署名-非商业性使用共享协议,转载请注明。