在CentOS 7中安装MEAN.JS Stack
在前面的教程中,我们已经发布了有关在Ubuntu 18.04 LTS服务器中安装MEAN.JS的分步教程。
在本教程中,我们将看到如何在CentOS 7 64位服务器上安装MEAN.JS堆栈。
本教程可能适用于其他基于RPM的系统,例如RHEL 7,Scientific Linux 7和Fedora等。
安装MongoDB
MongoDB是一个免费的,跨平台的,开源的,NoSQL面向文档的数据库。
安装MongoDB之后,使用以下命令通过防火墙允许相关端口:
firewall-cmd --permanent --add-port=27017/tcp
firewall-cmd --permanent --add-port=3000/tcp
请注意,我们需要允许通过防火墙/路由器的端口3000,才能从远程系统访问MEAN堆栈测试页。
重新启动防火墙服务:
firewall-cmd --reload
启用对SELinux的MongoDB端口(例如27017)的访问:
semanage port -a -t mongod_port_t -p tcp 27017
如果看到未找到semanage命令错误,请检查以下教程。
- Linux故障排除–在CentOS 7/RHEL 7中找不到semanage命令
使用以下命令启动MongoDB服务:
systemctl start mongod
在启动时启用MongoDB服务:
systemctl enable mongod
我们可以使用以下命令检查MongoDB服务是否正在运行:
systemctl status mongod
输出示例:
mongod.service - SYSV: Mongo is a scalable, document-oriented database. Loaded: loaded (/etc/rc.d/init.d/mongod) Active: active (running) since Wed 2015-03-30 13:59:57 IST; 23s ago Main PID: 2781 (mongod) CGroup: /system.slice/mongod.service └─2781 /usr/bin/mongod -f /etc/mongod.conf Mar 30 13:59:55 server1.theitroad.local systemd[1]: Starting SYSV: Mongo is a... Mar 30 13:59:55 server1.theitroad.local runuser[2777]: pam_unix(runuser:sessi... Mar 30 13:59:57 server1.theitroad.local mongod[2770]: Starting mongod: [ OK ] Mar 30 13:59:57 server1.theitroad.local systemd[1]: Started SYSV: Mongo is a ... Hint: Some lines were ellipsized, use -l to show in full.
现在,让我们安装Node.js,
安装Node.js
NodeJS是一个开源,跨平台,轻量级JavaScript运行时环境,可用于构建可扩展的网络应用程序。
要在系统上安装NodeJS,请参考以下教程:
- 如何在Linux上安装NodeJS
安装完MongoDB和Node.js之后,我们需要为MEAN.js堆栈安装其他必需的组件,例如Bower,Frunt和Gulp。
安装Bower软件包管理器
Bower是MEAN.JS堆栈用于管理前端程序包的程序包管理器。
要安装Bower,请运行以下命令:
npm install -g bower
输出示例:
/usr/bin/bower -> /usr/lib/node_modules/bower/bin/bower /usr/lib └── Hyman@theitroad
安装Grunt Task Runner
Grunt Task Runner用于自动执行开发过程。
要安装Grunt,请运行:
npm install -g grunt-cli
输出示例:
/usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt /usr/lib └─┬ Hyman@theitroad ├─┬ Hyman@theitroad │ └─┬ Hyman@theitroad │ ├─┬ Hyman@theitroad │ │ └── Hyman@theitroad │ ├── Hyman@theitroad │ ├─┬ Hyman@theitroad │ │ └─┬ Hyman@theitroad │ │ ├── Hyman@theitroad │ │ └── Hyman@theitroad │ ├── Hyman@theitroad │ └── Hyman@theitroad ├─┬ Hyman@theitroad │ └── Hyman@theitroad └── Hyman@theitroad
安装Gulp Task Runner(可选)
这是可选的。
我们可以使用Gulp代替Grunt。
要安装Gulp Task Runner,请运行以下命令:
sudo npm install -g gulp
我们已经安装了所有必需的准备工作。
现在,让我们部署MEAN.JS堆栈。
下载并安装MEAN.JS Stack
Git使用以下命令克隆MEAN.JS存储库:
git clone https://github.com/meanjs/mean.git meanjs
输出示例:
Cloning into 'meanjs'... remote: Counting objects: 8596, done. remote: Compressing objects: 100% (12/12), done. remote: Total 8596 (delta 3), reused 0 (delta 0), pack-reused 8584 Receiving objects: 100% (8596/8596), 2.62 MiB | 140.00 KiB/s, done. Resolving deltas: 100% (4322/4322), done. Checking connectivity... done.
上面的命令会将MEAN.JS存储库的最新版本克隆到一个meanjs文件夹中。
转到meanjs文件夹:
cd meanjs/
运行以下命令以安装测试和运行我们的应用程序所需的Node.js依赖项。
npm install
这将需要一些时间。
请耐心等待。
一旦安装了所有依赖项,请运行以下命令来安装应用程序所需的所有前端模块。
bower --allow-root --config.interactive=false install
测试MEAN.JS
MEAN.JS堆栈已安装。
现在,我们可以使用Grunt任务运行器启动示例应用程序。
为此,请运行以下命令:
grunt
如果以上命令由于某种原因而使用,请使用--force标志,如下所示。
grunt --force
几秒钟后,我们将看到如下消息。
这意味着MEAN.JS堆栈正在工作。
[...] - MEAN.JS - Development Environment Environment: development Server: http://0.0.0.0:3000 Database: mongodb://localhost/mean-dev App version: 0.5.0-beta MEAN.JS version: 0.5.0-beta [...]
要进行验证,请打开浏览器并导航到http://localhost:3000或者http://IP-Address:3000 /。
我们应该会看到类似下面的屏幕。
MEAN.JS堆栈已准备好开始构建Web应用程序。