阿里云服务器环境配置
阿里云服务器环境配置
数据盘初始化
如果在购买ecs服务器时,选择购买了数据盘,则在linux系统登陆进去,执行命令:
fdisk -l
查看挂载的所有数据盘,注意:
df -hT //无效,只能看到已经初始化的挂载盘
运行 fdisk -l 命令查看数据盘。
注意:在没有分区和格式化数据盘之前,使用 df -h 命令是无法看到数据盘的。
在下面的示例中,有一个 5 GB 的数据盘需要挂载。
如果执行了 fdisk -l 命令后,没有发现 /dev/xvdb ,则不需要格式化。
- 运行 fdisk /dev/xvdb,对数据盘进行分区。
根据提示,依次输入 n,p,1,两次回车,wq,分区就开始了。
- 运行 fdisk -l 命令,查看新的分区。
新分区 xvdb1 已经创建好。如下面示例中的/dev/xvdb1。
- 运行 mkfs.ext3 /dev/xvdb1,对新分区进行格式化。
格式化所需时间取决于数据盘大小。您也可自主决定选用其他文件格式,如 ext14 等。
- 运行 echo /dev/xvdb1 /mnt ext3 defaults 0 0 >> /etc/fstab 写入新分区信息。
完成后,可以使用 cat /etc/fstab 命令查看。
- 运行 mount /dev/xvdb1 /mnt 挂载新分区,然后执行 df -h 查看分区。
如果出现数据盘信息,说明挂载成功,可以使用新分区了。
mount /dev/xvdb1 /mnt
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 1.5G 36G 4% /
tmpfs 498M 0 498M 0% /dev/shm
/dev/xvdb1 5.0G 139M 4.6G 3% /mnt
查看系统默认字符编码集
echo $LANG
安装nodejs4.4.3
下载nodejs源码安装
node.js 的 GitHub 地址是:https://github.com/nodejs/node
官网源码包下载地址时:https://nodejs.org/en/download/
① 获取并编译源码(已经安装了 git)
git clone https://github.com/nodejs/node.git
cd node
git checkout
编译:
./configure
在编译的时候出错了:
提示:WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
提示 C++ 编译器 g++ 版本太老。
解决方案(参考:linux下升级gcc的方法 – 亲测可用,编译安装 gcc 4.9并验证使用):
1.下载gcc最新的源码包 wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz
2.解压缩 tar -xf gcc-4.9.1.tar.gz
3. cd gcc-4.9.1
4.运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下载所需要的依赖文件和库
下载依赖文件和库所花时间比较长,安装完后,再次执行:
./configure
报错:
说检测到你缺失multilib,因为我是64位的系统,编译的时候再加上以下参数就好了:
./configure --disable-multilib
通过后再执行:
make && make install
妈蛋,这个执行的时间可长了,花了将近1个小时。。。。。
- 回到node目录,执行
make test
报以下错误:
./deps/v8/src/base/platform/mutex.h: At global scope:
../deps/v8/src/base/platform/mutex.h:36: error: variable ‘v8::base::Mutex v8::base::final’ has initializer but incomplete type
../deps/v8/src/base/platform/mutex.h:37: error: expected primary-expression before ‘public’
../deps/v8/src/base/platform/mutex.h:37: error: expected ‘}’ before ‘public’
../deps/v8/src/base/platform/mutex.h:37: error: expected ‘,’ or ‘;’ before ‘public’
../deps/v8/src/base/platform/mutex.h:39: error: expected constructor, destructor, or type conversion before ‘;’ token
../deps/v8/src/base/platform/mutex.h: In function ‘v8::base::NativeHandle& v8::base::native_handle()’:
../deps/v8/src/base/platform/mutex.h:63: error: ‘native_handle_’ was not declared in this scope
../deps/v8/src/base/platform/mutex.h: At global scope:
解决方案:
查看 GLIBCXX 版本:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCX
执行:
./configure
报错:
WARNING: failed to autodetect C++ compiler version (CXX=g++)
解决方案:
yum install gcc gcc-c++ autoconf automake