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
- 拉取git项目到服务器,git clone [远程项目链接]
- 进入项目目录,安装项目所需依赖包 npm install
- 启动项目,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]
#将上一步生成的命令,粘贴到控制台进行,搞定