CentOS 7 安装与配置Git、Node、Python3、Docker

在今年六月份毕业前正好以学生价购买了腾讯云的基础配置的云主机,恰好可以拿来玩玩Linux命令。目前机子上运行了两个服务,一个是自己六月份空闲时间写的node前后台项目,豆瓣租房论坛的爬虫项目DoubanSpider。第二个就是GitHub上一个挺有名的免费代理ip爬虫服务Scylla。这些服务都需要对应的依赖环境,所以记录一下相关依赖的安装和配置命令。

概述

我的习惯:将软件源代码压缩包放在/usr/local/download目录下,软件源码放在 /usr/local/src 目录下,软件装在 /usr/local/software 目录下

安装Git

安装必要的依赖

1
yum install -y gcc-c++ perl-devel zlib-devel
  • gcc-c++
  • perl-devel
  • zlib-devel

安装 Git 需要的依赖

1
yum install -y curl-devel
  • curl-devel ( Git 使用中与 httphttps 相关操作需要)

使用 wget 下载源码 ,此示例为 2.17.0 版本

1
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.0.tar.gz -P /usr/local/download

解压下载好的压缩文件到源码目录 /usr/local/src

1
tar -zxvf /usr/local/download/git-2.19.0.tar.gz -C /usr/local/src

切换到源码目录

1
cd /usr/local/src/git-2.19.0

检测、编译、安装

1
2
./configure --prefix=/usr/local/software/git
make && make install

配置环境变量

1
vim /root/.bashrc

添加如下代码

export PATH=/usr/local/software/git/bin:$PATH

使环境变量立马生效

1
source /root/.bashrc

验证

1
git --version

安装Node

使用wget 获取源代码压缩包到/usr/local/download

1
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz -P /usr/local/download

解压压缩包到 /usr/local/src

1
tar -zxvf /usr/local/download/node-v8.12.0.tar.gz -C /usr/local/src

切换到源代码目录

1
cd /usr/local/src/node

编译安装到 usr/local/software

1
2
./configure --prefix=/usr/local/software/node
make && make install

配置环境变量

要想 node 能够在全局能够使用,需要添加软链接

1
2
ln -s /usr/local/software/node/bin/node /usr/local/bin/node  
ln -s /usr/local/software/node/bin/npm /usr/local/bin/npm

验证

1
node -v

安装并使用pm2管理Node项目

安装pm2

1
npm install pm2 -g

配置软链接

1
ln -s /usr/local/software/node/bin/pm2 /usr/local/bin/

其中第一个地址为pm2的安装地址,在本机中为usr/local/software/node/bin/pm2,安装的时候命令行也会提示安装地址

使用pm2管理Node项目

pm2 start app.js -i 4 --name myApp

部署项目的时候,先cd 进入到项目的app.js文件所在路径,然后执行上述命令

这里我使用pm2部署了一个项目,并取名为myApp,-i 是设置4个进程来运行项目,注意不要乱设置,请结合自己服务器的cpu来使用,并不是越多越好,pm2实现了cluster可以简单的实现负载均衡,4个进程如果其中一个挂了,pm2会自动重启该进程来保持程序的运行。如果不设置或者设置-i 为1,则是单进程程序(fork)。

相关命令

1
pm2 list

该命令能查看pm2所有部署的项目状态,可以看到如下图所示的项目列表

查看所有node项目

还有其他命令

1
2
3
4
pm2 stop app   #停止指定项目
pm2 stop all #停止所有项目
pm2 restart app #重启指定项目
pm2 restart all #重启所有项目

安装 Python3,pip3

安装依赖

1
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

使用 wget 获取源代码压缩包到 /usr/local/download/

1
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz -P /usr/local/download

解压压缩包到 /usr/local/src

1
tar -xvf /usr/local/download/Python-3.7.0.tar.xz -C /usr/local/src

切换到源代码目录

1
cd /usr/local/src/python

编译安装到 usr/local/software

1
2
./configure --prefix=/usr/local/software/python3
make && make install

错误: ModuleNotFoundError: No module named ‘_ctypes’

make install安装遇到ModuleNotFoundError: No module named ‘_ctypes’问题,执行如下命令:

1
2
3
4
# Python3.7中缺少libffi-devel依赖
$ yum install libffi-devel -y
# 然后再执行即可
$ make install

创建python3、pip3 的软链接

1
2
ln -s /usr/local/software/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/software/python3/bin/pip3 /usr/bin/pip3

验证

1
2
python3 --version
pip3 --version

安装Docker

从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

本文介绍 Docker CE 的安装使用。

移除旧的版本:

1
2
3
4
5
6
7
8
9
10
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装一些必要的系统工具:

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

1
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

1
sudo yum makecache fast

安装 Docker-ce:

1
sudo yum -y install docker-ce

启动 Docker 后台服务

1
sudo systemctl start docker

验证

测试运行 hello-world

1
[root@runoob ~]# docker run hello-world
Donate comment here