正好一个外接项目的需求,用了Node+Express+MongoDB+Nginx,因此在服务器上,重新又部署了一遍,这次将过程全都记录下来。
安装node.js
第一步需要下载对应的二进制文件:
wget -c https://nodejs.org/dist/v8.9.1/node-v8.9.1-linux-x64.tar.xz
提取文件:
tar -xvf node-v8.9.1-linux-x64.tar.xz
解压之后得到的文件夹就是已经安装好的 Nodejs 了
然而,这种方式安装的 Nodejs 并不完美。首先,Nodejs 的命令 node 和 npm 并不能在全局使用。为了解决这个问题,我们需要建立两个软链接:
sudo ln -s ~/node-v8.9.1-linux-x64/bin/node /usr/local/bin/node
sudo ln -s ~/node-v8.9.1-linux-x64/bin/npm /usr/local/bin/npm
现在,node 和 npm 可以在全局使用了,同样输入命令 node -v 来检查 Nodejs 是否安装成功:
$ node -v
v8.9.1 # 出现了对应的版本号信息,说明安装成功
还有一个问题,在 npm 下全局安装的模块无法直接在 bash 中执行。例如,我们要在 npm 中安装 yarn:
$ npm install -g yarn
$ yarn
bash: yarn: command not found...
为了解决这个问题,我们需要在 Linux 上手动配置环境变量。编辑 /etc/profile 文件:
sudo vi /etc/profile
在文件的底部,添加下面两行代码:
export NODE_HOME=~/node-v8.9.1-linux-x64/bin
export PATH=$NODE_HOME:$PATH
跟刚才一样,~/app/nodejs 是我们安装的 Nodejs 的路径。 现在,npm 全局安装的模块也可以使用了:
$ yarn
yarn install v1.3.2
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
info Lockfile not saved, no dependencies.
Done in 0.09s.
至此,Nodejs 的安装已经顺利完成,我们可以在服务器上对 Nodejs 为所欲为了!
安装Nginx
安装所需环境
Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。
一. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
使用wget命令下载
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
解压
依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
配置
其实在 nginx-1.10.1 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
1.使用默认配置,加上SSL的相关配置,以防配置nginx.conf文件时报错
./configure
编译安装
make
make install
查找安装路径:
whereis nginx

启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
查询nginx进程:
ps aux|grep nginx
设置为软连接,全局使用nginx
sudo ln -s ~/usr/local/nginx/sbin/nginx /usr/local/bin/nginx
开机自启动
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
开放Nginx端口
进入阿里云的控制台

安装MongoDB
安装
本来我是准备用解压版的进行安装,但是中间出了一点问题,一直无法解决,就换成yum安装了-。-
这里我选择安装的最新的3.4版本(稳定版本),首先新建一个储存库文件
vi /etc/yum.repos.d/mongodb-org-3.4.repo
然后 按 i 进入插入模式,在里面输入
[mogodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
(这个是阿里云的镜像,贼快)
最后保存退出(先按esc,然后输入:wq)
然后Yum安装
yum install -y mongodb-org
运行
首先需要先运行服务
service mongod start
然后输入
mongo
即可进入mongodb数据库
打开远程访问
项目中,有时数据库可能存放在不同的服务器,这时,就需要让mongo可以远程访问(默认是只能本机方访问的)
终端输入
service mongod status
可以看到,使用的默认配置文件放在 /etc/mongod.conf,编辑它
vi /etc/mongod.conf
然后找到

service mongod restart