Nodejs+Centos6.x环境搭建

  • Nodejs+Centos6.x环境搭建
  • NODE环境
  • 安装nodejs
  • 安装pm2模块
  • 系统模块更新
  • gcc
  • python
  • git
  • nodejs项目部署


Nodejs+Centos6.x环境搭建

这篇文章主要介绍在centos服务器搭建nodejs环境,并部署运行的全过程。同时也解决一些在部署过程中会出现的问题,例如软件包或者模块的版本兼容问题。

NODE环境

node版本最好选择10.x,这样可以解决https请求问题(Error: socket hang up) 相关issue

安装nodejs
#使用10.x版本,这里的参数可以修改,例如可以修改为安装7.x版本
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
#安装gcc相关依赖包
yum install gcc-c++ make
#安装nodejs
yum -y install nodejs
#查看nodejs版本
node -v
#查看npm版本
npm -v
安装pm2模块

pm2是node.js应用进程管理器,支持性能监控、进程守护、负载均衡等功能

#安装pm2
npm install -g pm2
#查看pm2版本
pm2 -v

系统模块更新

由于有些软件包需要较高版本的模块支持,所以要对某些模块进行版本更新

gcc

centos6.x版本的gcc为4.4.7,现在要升级到4.8.2

cd /etc/yum.repos.d
#使用 redhat developer toolset 2的repo
wget 'https://people.centos.org/tru/devtools-2/devtools-2.repo'
#安装
yum --enablerepo=testing-devtools-2-centos-6 install devtoolset-2-gcc devtoolset-2-gcc-c++ devtoolset-2-binutils
#替换系统中原来的GCC
ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
hash -r
#查看 g++ 的版本号
g++ --version
python

centos6.x版本的python为2.6.6,现在要升级到2.7.16

#下载python2.7.16
wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
#解压
tar zxvf Python-2.7.16.tgz
#更改工作目录
cd Python-2.7.16
#安装
./configure
make all  
make install
#查看版本
/usr/local/bin/python2.7 -V
#建立软连接,使系统默认的 python指向 python2.7
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7

vim /usr/bin/yum
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6.6
保存退出
git

使用源码编译的方式安装git

#依赖包
yum install zlib
yum install zlib-devel 
yum install tcl  build-essential tk gettext
yum install -y curl curl-devel
#下载最新的源码包
wget -O git.zip https://github.com/git/git/archive/master.zip
#解压(如果unzip未安装,请先安装yum install unzip)
unzip git.zip
#切换目录
cd git-master
#编译安装
autoconf
./configure --prefix=/usr/local
make && make install

git的一些常用配置

#设置全局环境变量
git config --global user.name "用户名称"
git config --global user.email "邮箱" 
#保存密码(项目第一次git clone时需要填写账号密码,然后拉取成功后,可以在项目目录下输入如下命令,下次git pull拉取的时候就不需要再输入账号密码)
git config credential.helper store

nodejs项目部署

这里使用上面安装的pm2模块,具体的操作指南可参考PM2

  1. 拉取git项目到服务器,git clone [远程项目链接]
  2. 进入项目目录,安装项目所需依赖包 npm install
  3. 启动项目,pm2 start app.js --name=[可自定义的名称]
#执行后的控制台输出大致如下
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ www      │ 0  │ fork │ 3468 │ online │ 0       │ 0s     │ 6%  │ 11.4 MB   │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘

配置开机自动启动

#保存当前进程状态
pm2 save
#生成开机自启动的命令(记得查看控制台输出)
pm2 startup [platform]
#将上一步生成的命令,粘贴到控制台进行,搞定