Thứ sáu, 09/09/2016 | 00:00 GMT+7

Cách cài đặt MEAN Stack với MEAN.JS trên CentOS 7

MEAN là một ứng dụng phần mềm được tạo thành từ các thành phần sau:

  • MongoDB , database NoSQL hỗ trợ thực thi JavaScript phía server

  • ExpressJS , một khung ứng dụng web Node.js

  • AngularJS , một khung ứng dụng web phù hợp để phát triển các ứng dụng động, một trang

  • NodeJS , một khuôn khổ điều khiển sự kiện không đồng bộ phù hợp để xây dựng các ứng dụng mạng có thể mở rộng

Thuật ngữ MEAN lần đầu tiên được đặt ra bởi Valeri Karpov và thuật ngữ này bắt nguồn từ chữ cái đầu tiên của mỗi thành phần. Valeri đã định nghĩa MEAN trong bài đăng trên blog này , trong đó anh ấy đưa ra một số động lực để chọn phát triển các ứng dụng JavaScript với sự hỗ trợ của ngăn xếp MEAN:

Bằng cách viết mã bằng Javascript xuyên suốt, ta có thể nhận ra hiệu suất đạt được trong cả bản thân phần mềm và năng suất của các nhà phát triển của ta . Với MongoDB, ta có thể lưu trữ tài liệu của bạn ở định dạng giống JSON, viết các truy vấn JSON trên server dựa trên ExpressJS và NodeJS của ta và chuyển liên tục các tài liệu JSON đến giao diện user AngularJS của ta . Gỡ lỗi và quản trị database trở nên dễ dàng hơn rất nhiều khi các đối tượng được lưu trữ trong database của bạn về cơ bản giống hệt với các đối tượng mà ứng dụng client Javascript của bạn nhìn thấy. Thậm chí tốt hơn, ai đó làm việc ở phía client có thể dễ dàng hiểu mã phía server và các truy vấn database ; sử dụng cùng một cú pháp và các đối tượng giúp bạn không phải xem xét nhiều bộ ngôn ngữ thực hành tốt nhất và giảm rào cản đối với việc hiểu cơ sở mã của bạn.

Hiện tại có hai cách triển khai song song của ngăn xếp MEAN: MEAN.ioMEAN.JS. Mỗi loại có một phương pháp cài đặt hơi khác nhau. MEAN.JS là một triển khai hoàn toàn dựa vào cộng đồng, trong khi MEAN.io được tài trợ bởi một công ty có tên Linnovate. Cả hai đều bao gồm các thành phần giống nhau, nhưng MEAN.io cung cấp một công cụ dòng lệnh bổ sung, mean , cũng như hỗ trợ thương mại.

Trong hướng dẫn này, ta sẽ cài đặt ngăn xếp MEAN trên server CentOS 7 bằng MEAN.JS. Sử dụng phương pháp này bao gồm việc cài đặt MongoDB trước tiên, sau đó đến NodeJS, sau đó sao chép các file MEAN.JS từ GitHub.

Yêu cầu

Để bắt đầu, bạn cần có những thứ sau:

Bước 1 - Cài đặt phụ thuộc

Bởi vì ta sẽ biên dịch các ứng dụng từ nguồn, sao chép repository Git và cài đặt các viên ngọc Ruby, trước tiên ta cần cài đặt một số phụ thuộc. libpng-develfontconfig là cần thiết bởi một trong các module MEAN.JS (pngquant).

  • sudo yum install gcc-c++ make git fontconfig bzip2 libpng-devel ruby ruby-devel

Một số module Node.js mà ta sẽ cài đặt sẽ yêu cầu Sass, một ngôn ngữ mở rộng CSS. Cài đặt nó bằng cách sử dụng gem , trình quản lý gói của Ruby.

  • sudo gem install sass

Bây giờ các phụ thuộc đã được cài đặt, ta có thể cài đặt thành phần đầu tiên của ngăn xếp: MongoDB.

Bước 2 - Cài đặt MongoDB

MongoDB không có trong repository lưu trữ CentOS chính thức, vì vậy để cài đặt nó, bạn sẽ phải kích hoạt repository MongoDB chính thức. Điều này sẽ cung cấp cho bạn quyền truy cập vào các gói mới nhất và cho phép bạn cài đặt nó từ đó.

Đối với hướng dẫn này, ta sẽ cài đặt version cộng đồng, có sẵn để download miễn phí. Ngoài ra còn có version Enterprise, nhưng yêu cầu giấy phép, vì vậy ta sẽ không xử lý nó ở đây.

Tại thời điểm xuất bản, MongoDB 3.2 là version ổn định mới nhất có sẵn để download và cài đặt. Để kích hoạt repository , hãy tạo một file cho nó trong /etc/yum.repos.d , folder repository CentOS. Đối với MongoDB 3.2, ta sẽ gọi file đó là mongodb.org-3.2.repo .

Tạo và mở /etc/yum.repos.d/mongodb.org-3.2.repo bằng vi hoặc editor yêu thích của bạn.

  • sudo vi /etc/yum.repos.d/mongodb.org-3.2.repo

Để trỏ trình quản lý gói đến repository MongoDB chính thức và kích hoạt nó, hãy copy paste phần sau vào file . Cài đặt enabled=1 repository và cài đặt gpgcheck=1 bật tính năng kiểm tra chữ ký GNU Privacy Guard (GPG) trên tất cả các gói được cài đặt từ repository .

/etc/yum.repos.d/mongodb.org-3.2.repo
[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 file , sau đó cài đặt gói mongodb-org để cài đặt MongoDB và các công cụ liên quan của nó. Khi được yêu cầu nhập khóa GPG, hãy nhập y để có:

  • sudo yum install mongodb-org

Sau khi cài đặt xong, hãy khởi động daemon MongoDB.

  • sudo systemctl start mongod

mongod , daemon MongoDB, bây giờ sẽ chạy và bạn có thể xác minh bằng cách sử dụng lệnh sau:

  • sudo systemctl status mongod

Nếu nó đang chạy, kết quả sẽ trông giống như sau:

Output
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 của ngăn xếp mà ta cần cài đặt là Node.js.

Bước 3 - Cài đặt Node.js

Một cách dễ dàng để cài đặt Node.js là sử dụng file binary từ repository NodeSource Node.js. Đầu tiên, thêm repository của nhánh ổn định. Bạn có thể đọc nội dung của tập lệnh trước khi thực thi nó bằng lệnh bên dưới bằng cách truy cập URL trong trình duyệt của bạn.

  • curl -sL https://rpm.nodesource.com/setup_4.x | sudo -E bash -

Tiếp theo, cài đặt Node.js và npm , một trình quản lý gói cho Node.js.

  • sudo yum install -y nodejs

Xác minh Node.js và npm được cài đặt.

  • npm version

Đầu ra phải là:

Output
{ 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' }

Bây giờ npm được cài đặt, ta có thể cài đặt phần còn lại của các thành phần của ngăn xếp MEAN.

Bước 4 - Cài đặt Bower và Gulp

Các thành phần mà ta sẽ cài đặt trong bước này là Bower, một trình quản lý gói được sử dụng để quản lý ứng dụng front-end và Gulp, được sử dụng để tự động hóa các việc thông thường.

Cả Bower và Gulp đều cần được cài đặt trên phạm vi global , ta thực hiện bằng cách chuyển tùy chọn g cho npm . Cài đặt cả hai ứng dụng trên phạm vi global làm cho chúng có sẵn trên toàn hệ thống, thay vì chỉ từ folder của dự án local .

Lần đầu tiên cài đặt Bower:

  • sudo npm install -g bower

Sau đó cài đặt Gulp:

  • sudo npm install -g gulp

Bây giờ, cuối cùng ta đã cài đặt tất cả các gói tiên quyết. Ta có thể chuyển sang cài đặt bảng soạn sẵn MEAN.JS thực tế được sử dụng để tạo các ứng dụng.

Bước 5 - Cài đặt MEAN Boilerplate

Đầu tiên, ta sẽ sao chép repository MEAN.JS GitHub chính thức.

  • git clone https://github.com/meanjs/mean.git meanjs

Điều đó sao chép bảng soạn sẵn MEAN.JS vào một folder có tên là meanjs trong folder chính của bạn. Để cài đặt tất cả các gói mà dự án tham chiếu, bạn cần phải ở bên trong folder đó, vì vậy hãy chuyển vào đó.

  • cd ~/meanjs

Sau đó, cài đặt các gói được yêu cầu với quyền là user không phải root.

  • npm install

Quá trình cài đặt sẽ mất vài phút. Khi nó hoàn thành, bạn có mọi thứ bạn cần để phát triển một ứng dụng MEAN. Trong bước cuối cùng, ta sẽ kiểm tra ngăn xếp đảm bảo nó hoạt động.

Bước 6 - Chạy ứng dụng MEAN mẫu của bạn

Hãy chạy ứng dụng mẫu đảm bảo rằng hệ thống đang hoạt động bình thường. Một phương pháp là sử dụng npm start và phương pháp còn lại là sử dụng gulp . Cả hai lệnh đều cho phép bạn kiểm tra ứng dụng của bạn ở chế độ phát triển. Ở đây, ta sẽ sử dụng npm .

  • npm start

Lưu ý : Lần chạy đầu tiên của một trong hai lệnh này có thể không thành công với kết quả tương tự như sau:

Error output
[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, cách khắc phục rất đơn giản. Nó liên quan đến việc xóa folder node_modules , xóa bộ nhớ cache, sau đó cài đặt lại các gói.

  • rm -rf node_modules
  • npm cache clean
  • npm install

Sau đó, khởi động lại ứng dụng mẫu với npm start hoặc gulp như trước.

Đến đây bạn có thể truy cập ứng dụng MEAN của bạn bằng cách truy cập http:// your_server_ip :3000 trong trình duyệt yêu thích của bạn. Điều đó sẽ hiển thị một trang có biểu trưng MEAN.JS, bao gồm cả văn bản Chúc mừng! Bạn đã cấu hình và chạy ứng dụng mẫu. Điều này nghĩa là bạn có một ngăn xếp MEAN đầy đủ chức năng trên server của bạn .

Kết luận

Đến đây bạn đã có các thành phần cần thiết và bản soạn thảo MEAN.JS, bạn có thể bắt đầu xây dựng, thử nghiệm và triển khai ứng dụng của riêng mình. Xem tài liệu trên trang web MEAN.JS để được trợ giúp cụ thể về cách làm việc với MEAN.JS.


Tags:

Các tin liên quan

Cách tạo người dùng Sudo trên CentOS [Quickstart]
2016-03-29
Cách cài đặt Graylog 1.x trên CentOS 7
2016-03-21
Cách cài đặt Puppet 4 trong Thiết lập Master-Agent trên CentOS 7
2016-03-08
Cách thiết lập Jenkins để tích hợp phát triển liên tục trên CentOS 7
2016-03-03
Cách thiết lập hệ thống bàn trợ giúp với OTRS trên CentOS 7
2016-03-02
Cách cài đặt ứng dụng khách Dropbox làm dịch vụ trên CentOS 7
2016-02-25
Cách thiết lập một cụm sản xuất Elasticsearch trên CentOS 7
2016-02-23
Cách bảo vệ SSH bằng Fail2Ban trên CentOS 7
2016-01-27
Cách bảo mật HAProxy bằng Let's Encrypt trên CentOS 7
2016-01-26
Cách tạo thiết lập tính khả dụng cao với Pacemaker, Corosync và IP nổi trên CentOS 7
2015-12-22