Trong hướng dẫn này của Vietnix, bạn sẽ cài đặt MEAN stack trên máy chủ CentOS 7 bằng MEAN.JS. Sử dụng MEAN.JS yêu cầu cài đặt MongoDB đầu tiên, tiếp đến là NodeJS, cuối cùng là sao chép các file MEAN.JS từ GitHub. Cùng theo dõi nhé.
Yêu cầu để cài đặt stack MEAN với MEAN.JS trên CentOS 7
Để làm theo hướng dẫn này, bạn cần:
- Một máy chủ CentOS 7 có ít nhất 4GB RAM (một số thành phần của MEAN stack, ví dụ
npm
, yêu cầu nhiều bộ nhớ). - Một non-root user được cấp quyền sudo.
MEAN.JS là một lựa chọn tối ưu để bắt đầu phát triển ứng dụng sử dụng MEAN stack, bởi nó cung cấp một kiến trúc chuẩn và các tính năng hữu ích để tiết kiệm thời gian và công sức phát triển.
Ngoài ra, nếu bạn đang có nhu cầu xây dựng, thử nghiệm và triển khai các ứng dụng một cách hiệu quả bạn có thể tham khảo thuê server ảo tốc độ cao của Vietnix. Các gói VPS Vietnix đang cung cấp với đa dạng cấu hình, tính năng hiện đại, bảo mật cao gồm: VPS NVMe, VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp và VPS GPU với nhiều mức giá khác nhau cho bạn dễ dàng lựa chọn theo nhu cầu.
Liên hệ Vietnix để được tư vấn chi tiết!
Bước 1: Cài đặt các thành phần liên quan
Bởi vì bạn sẽ biên dịch các ứng dụng từ source, sao chép (có liên kết) repository Git và cài đặt các Ruby gem, trước tiên bạn cần cài đặt một số thành phần đi kèm bằng lệnh sau:
$ sudo yum install gcc-c++ make git fontconfig bzip2 libpng-devel ruby ruby-devel
Một số module Node.js mà bạn sẽ cài đặt yêu cầu Sass, một ngôn ngữ mở rộng của CSS. Cài đặt Sass bằng gem, trình quản lí package của Ruby:
$ sudo gem install sass
Khi các thành phần liên quan đã được cài đặt, bạn sẽ tiến hành cài đặt thành phần đầu tiên của stack: MongoDB.
Bước 2: Cài đặt MongoDB
MongoDB không có trong repository chính thức của CentOS, vì vậy bạn sẽ phải kích hoạt repository chính thức của MongoDB. Điều này cung cấp cho bạn quyền truy cập vào các package mới nhất và cài đặt MongoDB từ các package đó.
Đối với hướng dẫn này, bạn sẽ cài đặt phiên bản cộng đồng và tải xuống miễn phí. Ngoài ra MongoDB còn có phiên bản Enterprise, nhưng Enterprise yêu cầu giấy phép, cho nên bài viết sẽ không sử dụng phiên bản này.
Hướng dẫn này sử dụng MongoDB phiên bản 3.2. Để kích hoạt repository, hãy tạo một file trong thư mục /etc/yum.repos.d
của CentOS. Hướng dẫn sử dụng tên file là mongodb.org-3.2.repo
.
Chạy lệnh sau, sử dụng vi
hoặc trình soạn thảo văn bản của bạn:
$ sudo vi /etc/yum.repos.d/mongodb.org-3.2.repo
Để trỏ trình quản lí package tới repository chính thức của MongoDB và kích hoạt repository, hãy sao chép và dán phần sau vào file. Cài đặt enable=1
để kích hoạt repository và gpgcheck=1
để kiểm tra chữ kí GNU Privacy Guard (GPG) trên tất cả các package được cài đặt từ repository.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Lưu và đóng file, sau đó cài đặt package mongodb-org
để cài đặt MongoDB và các công cụ liên quan. Khi có thông báo nhập GPG key, hãy nhập y
để đồng ý:
$ sudo yum install mongodb-org
Sau khi cài đặt hoàn tất, hãy khởi động MongoDB daemon.
$ sudo systemctl start mongod
MongoDB daemon, mongod
, hiện đang hoạt động và bạn có thể xác minh bằng lệnh sau:
$ sudo systemctl status mongod
Nếu MongoDB daemon đang chạy, output nhận được như sau:
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
Loaded: loaded (/etc/rc.d/init.d/mongod)
Active: active (running) since Tue 2016-09-06 12:42:16 UTC; 9s ago
Docs: man:systemd-sysv-generator(8)
Process: 9374 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mongod.service
└─9385 /usr/bin/mongod -f /etc/mongod.conf
Sep 06 12:42:16 centos-mean-js systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
Sep 06 12:42:16 centos-mean-js runuser[9381]: pam_unix(runuser:session): session opened for user mongod by (uid=0)
Sep 06 12:42:16 centos-mean-js mongod[9374]: Starting mongod: [ OK ]
Sep 06 12:42:16 centos-mean-js systemd[1]: Started SYSV: Mongo is a scalable, document-oriented database..
Phần tiếp theo bạn cần cài đặt là Node.js.
Xem thêm: Hướng dẫn cài đặt Mongodb trên CentOS 7
Bước 3: Cài đặt Node.js
Để cài đặt Node.js trở nên đơn giản, bạn có thể sử dụng binary từ repository Node.js của NodeSource. Đầu tiên, thêm repository của nhánh ổn định. Chạy lệnh sau:
$ curl -sL https://rpm.nodesource.com/setup_4.x | sudo -E bash -
Tiếp theo, cài đặt Node.js và trình quản lí package npm
cho Node.js:
$ sudo yum install -y nodejs
Xác minh rằng Node.js npm
đã được cài đặt bằng lệnh sau:
$ npm version
Output nhận được như sau:
{ npm: '2.15.9',
ares: '1.10.1-DEV',
http_parser: '2.7.0',
icu: '56.1',
modules: '46',
node: '4.5.0',
openssl: '1.0.2h',
uv: '1.9.1',
v8: '4.5.103.37',
zlib: '1.2.8' }
Khi npm đã được cài đặt, bạn có thể cài đặt các thành phần còn lại của MEAN stack.
Xem thêm: Hướng dẫn cài đặt Node.js trên CentOS 7
Bước 4: Cài đặt Bower và Gulp
Các thành phần mà bạn sẽ cài đặt trong bước này là Bower – trình quản lí package dùng để quản lí ứng dụng front-end và Gulp, được sử dụng để tự động hóa các tác vụ thông thường.
Cả Bower và Gulp đều cần được cài đặt ở chế độ global, thực hiện bằng cách chuyển tùy chọn g cho npm
. Cài đặt Bower và Gulp ở chế độ global khiến cho cả hai ứng dụng có sẵn trên toàn bộ hệ thống, thay vì chỉ hoạt động ở thư mục của local project.
Đầu tiên là cài đặt Bower:
$ sudo npm install -g bower
Sau đó cài đặt Gulp:
$ sudo npm install -g gulp
Khi đã cài đặt thành công các package cần thiết, bạn sẽ chuyển sang cài đặt MEAN Boilerplate để tạo ứng dụng.
Bước 5: Cài đặt MEAN Boilerplate
Đầu tiên, bạn sẽ sao chép repository chính thức của MEAN.JS từ GitHub:
$ git clone https://github.com/meanjs/mean.git meanjs
Lệnh trên sao chép MEAN.JS Boilerplate vào thư mục meanjs
trong mục Home của bạn. Để cài đặt tất cả các package mà project tham chiếu, bạn cần phải di chuyển về thư mục meanjs
bằng lệnh sau:
$ cd ~/meanjs
Sau đó cài đặt tất cả các package cần thiết với tư cách là non-root user bằng lệnh sau:
$ npm install
Quá trình cài đặt sẽ mất vài phút. Khi hoàn thành, bạn sẽ có mọi thứ cần thiết để phát triển ứng dụng MEAN. Trong bước cuối cùng, bạn sẽ kiểm tra hoạt động của stack.
Bước 6: Chạy thử ứng dụng MEAN
Hãy chạy thử ứng dụng để đảm bảo hệ thống đang hoạt động bình thường. Có hai phương pháp là sử dụng npm start
và sử dụng gulp
. Cả hai lệnh đều cho phép bạn kiểm tra ứng dụng MEAN ở chế độ phát triển. Bài viết này sử dụng npm
:
$ npm start
Lưu ý: Lần chạy đầu tiên của một trong hai lệnh npm start
và gulp
có thể không thành công với output như sau:
[12:56:49] 'lint' errored after 702 ms
[12:56:49] Error in plugin 'run-sequence'
Message:
An error occured in task 'sass'.
Nếu bạn gặp lỗi này, bạn cần xóa thư mục node_modules
, xóa bộ nhớ cache, sau đó cài đặt lại các package:
$ rm -rf node_modules
$ npm cache clean
$ npm install
Cuối cùng khởi động ứng dụng bằng npm start hoặc gulp.
Giờ đây, bạn có thể truy cập ứng dụng MEAN bằng cách truy cập vào link http://your_server_ip:3000
trong trình duyệt. Trang có logo của MEAN.JS sẽ hiển thị cùng thông báo Congrats! You’ve configured and run the sample application. Thông báo này cho biết bạn đã có một stack MEAN đầy đủ chức năng trên máy chủ của mình.
Vietnix là nhà cung cấp VPS uy tín hàng đầu Việt Nam có 11 năm kinh nghiệm cùng hơn 50.000 khách hàng đã và đang sử dụng. Không chỉ được đánh giá cao về chất lượng sản phẩm, Vietnix cũng rất chú trọng đến dịch vụ hỗ trợ khách hàng. Vì vậy, đến 97% khách hàng đã sử dụng dịch vụ vủa Vietnix đều có đánh giá 5 sao.
Đặc biệt, Vietnix luôn không ngừng nỗ lực nâng cao chất lượng và mang lại sự hài lòng cho khách hàng. Vừa qua Vietnix đã nhận được giải thưởng Thương hiệu Việt Nam xuất sắc năm 2022.
Trải nghiệm VPS tốc độ cao với mức giá phải chăng và nhiều quà tặng hấp dẫn ngay hôm nay. Liên hệ để được hỗ trợ chi tiết.
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
- Hotline: 1800 1093 – 07 088 44444
- Email: sales@vietnix.com.vn
Lời kết
Khi đã có các thành phần cần thiết và MEAN.JS boilerplate, bạn có thể xây dựng, thử nghiệm và triển khai các ứng dụng của riêng mình. Chúc các bạn cài đặt thành công, cảm ơn bạn đã theo dõi bài viết về hướng dẫn cài đặt stack MEAN với MEAN.JS trên CentOS 7 của Vietnix.