在CentOS 7中安装MEAN.JS Stack

时间:2020-03-21 11:45:35  来源:igfitidea点击:

在前面的教程中,我们已经发布了有关在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应用程序。