前言:
作为一名前端开发人员,对服务器的部署运维一直感觉很陌生,但是却兴趣盎然,所以就自己购买了一台阿里服务器来学习。接触到其实很多人在部署服务的过程中也都会或多或少的遇到很多问题(老司机除外),所以就打算把自己在部署服务器的过程中遇到的问题以及解决的过程记录下来,一来做个记录,二来可以抛砖引玉,再来大家可以一起学习。
该系列文章将会从最基本的 node 、mongo 环境安装讲起,逐步深入,最终通过 docker 实现服务的自动构建和部署。 本篇作为系列文章的首篇,主要介绍 node、mongo 及 nginx 的安装。注:笔者的服务器为 CentOS 7.3 64位 系统,所以对于其他系统不做讲解,毕竟没有躬身,以免误导大家。
一、安装 node
我的个人项目后端部分均基于 node 开发, 所以服务器安装 node 就无可避免了。其实 node 的安装非常简单便捷,根据官方文档,在 Centos 系统安装 node 只需要三步。
1、设置repository源:
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -复制代码
如果你要安装 Node.js 9:
curl --silent --location https://rpm.nodesource.com/setup_9.x | sudo bash -复制代码
2、安装 nodejs
sudo yum -y install nodejs复制代码
3、安装构建工具(可选)
要从 npm 编译和安装本地插件,你还需要安装构建工具:
sudo yum install gcc-c++ make复制代码
此处遇到的问题: 我在安装的过程中先配置了 nodejs 6 的 repository源:
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -复制代码
后来在配置 nodejs 8 , 却一直安装 nodejs 6. 后来找到解决方案,需要先清除 repository源,然后重新配置:
//如果设置多个源,默认会一直按照第一源安装,所以需要运行以下命令清除源,sudo rm -fv /etc/yum.repos.d/nodesource*重新设置:curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -sudo yum install nodejs复制代码
附上node官方安装文档:
二、安装 mongo
mongo 官方的安装文档其实也是非常友好,按照文档步骤一步一步进行即可,服务启动过程中可能会遇到坑,下文将会介绍:
1、配置包管理系统(yum) 安装最新版 MongoDB 3.6 , 创建一个 mongo 的包管理文件 /etc/yum.repos.d/mongodb-org-3.6.repo
,然后在文件中写入以下配置:
[mongodb-org-3.6]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc复制代码
如果要安装 3.4 版本,就 创建一个 3.4 的管理文件 /etc/yum.repos.d/mongodb-org-3.4.repo
,然后写入:
[mongodb-org-3.4]name=MongoDB 3.4 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=0enabled=1复制代码
2、安装 MongoDB 包
sudo yum install -y mongodb-org复制代码
3、启动 MongoDB 服务
sudo service mongod start复制代码
简单 3 步即可完成 mongo 的安装和服务的启动
4、停止 MongoDB 服务
sudo service mongod stop复制代码
5、重启 MongoDB 服务
sudo service mongod restart复制代码
/var/log/mongodb/mongod.log
文件为 MongoDB 默认的log文件,可以查看服务启动过程中的所有日志。
6、使用 MongoDB
mongo --host 127.0.0.1:27017 复制代码
通过该命令即可在主机上运行一个 mongo shell。mongo 默认是没有权限验证的,也就是说任何人都可以轻易的连接你服务器上的 mongo 并对数据进行操作。 所以需要修改 Mongo 的配置文件,打开权限验证,增加数据库权限,也可以修改 绑定的主机ip、 端口号(默认为:27017)。配置文件修改如下:
//设置日志文件systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log //设置数据存储目录storage: dbPath: /var/lib/mongo journal: enabled: true//设置服务以后台进行的模式运行processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile//设置网络连接net: port: 27017 #默认端口,可以进行修改,例如 28018bindIp: 127.0.0.1 # 设置绑定ip,只绑定本机 security: authorization: enabled # 开启权限验证,设置完成需要重启 mongo 服务复制代码
关于如何设置 数据库权限可以参考我的博客文章:
在 mongo 服务启动的过程中如果遇到错误:
Starting mongod (via systemctl): Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details. [FAILED]复制代码
可以参考我的博客文章:
三、安装 nginx
我之前的服务部署时是使用的 http-proxy
配置的服务代理转发,后来转用了nginx,主要是学习了解一下基本的nginx配置,nginx 的安装也很简单方便: 1、增加nginx源:
sudo yum install epel-release复制代码
2、安装 nginx
sudo yum install nginx复制代码
3、启动nginx
sudo systemctl start nginx复制代码
现在可以访问 http://your_ip
来判断你服务器上的 nginx 是否启动成功,如果看到:
恭喜你,现在你的 整套环境配置就已经完成了。 整体来看,在 Centos 上安装 node、mongo、nginx 都是很简单的, 无非就是 1、打开冰箱 2、把大象放进去 3、关上冰箱。 ~
本文首发于我的个人博客:
参考文献: