React là một thư viện JavaScript mã nguồn mở và miễn phí do Facebook phát triển. Nó được sử dụng để tạo giao diện web và các thành phần UI. Nó thường được sử dụng để phát triển Ứng dụng web hoặc Ứng dụng di động. Nó cho phép các nhà phát triển tạo các thành phần có thể tái sử dụng và độc lập với nhau. Nó có thể được sử dụng với các thư viện khác bao gồm Axios, JQuery AJAX hoặc window.fetch tích hợp sẵn trong trình duyệt.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt React JS trên CentOS 8
Sau khi tất cả các gói được cập nhật, hãy cài đặt các phụ thuộc bắt buộc khác bằng lệnh sau:
Sau khi hoàn tất cài đặt các phụ thuộc bắt buộc, bạn có thể tiến hành bước tiếp theo.
Sau khi kho lưu trữ được thêm vào, hãy cài đặt Node.js và NPM bằng lệnh sau:
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Node.js bằng cách chạy lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bạn cũng có thể xác minh phiên bản NPM bằng cách chạy lệnh sau:
Bạn sẽ nhận được kết quả sau:
Lúc này, NPM và Node.js đã được cài đặt trong hệ thống của bạn. Bây giờ, bạn có thể tiến hành cài đặt Reactjs.
Bạn có thể cài đặt bằng NPM như hiển thị bên dưới:
Sau khi cài đặt, hãy xác minh phiên bản đã cài đặt của create-react-app bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, hãy tạo ứng dụng Reactjs đầu tiên của bạn bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, hãy thay đổi thư mục thành myapp và khởi động ứng dụng bằng lệnh sau:
Sau khi ứng dụng được khởi động thành công, bạn sẽ nhận được đầu ra sau:
Bây giờ, hãy nhấn CTRL+C để dừng ứng dụng. Bây giờ bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau:
Tiếp theo, khởi động dịch vụ Reactjs và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Tiếp theo, hãy xác minh trạng thái của ứng dụng Reactjs bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Tại thời điểm này, Reactjs đã được khởi động và lắng nghe trên cổng 3000. Bạn có thể xác minh điều đó bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi Nginx được cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx mới bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Cuối cùng, hãy khởi động dịch vụ Nginx và cho phép nó khởi động khi khởi động lại hệ thống bằng cách chạy lệnh sau:
Bạn cũng có thể xác minh trạng thái của Nginx bằng cách chạy lệnh sau:
Bạn sẽ nhận được trạng thái của dịch vụ React trong kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, tải lại tường lửa để áp dụng các thay đổi cấu hình:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt React JS trên CentOS 8
Điều kiện tiên quyết
- Một máy chủ đang chạy CentOS 8.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
dnf update -y
Mã:
dnf install gcc-c++ make curl -y
Cài đặt NPM và Node.js
Tiếp theo, bạn sẽ cần cài đặt Node.js và NPM trong hệ thống của mình. NPM còn được gọi là trình quản lý gói là một công cụ dòng lệnh được sử dụng để tương tác với các gói Javascript. Theo mặc định, phiên bản mới nhất của NPM và Node.js không được bao gồm trong kho lưu trữ mặc định của CentOS. Vì vậy, bạn sẽ cần thêm kho lưu trữ nguồn Node vào hệ thống của mình. Bạn có thể thêm nó bằng lệnh sau:
Mã:
curl -sL https://rpm.nodesource.com/setup_14.x | bash -
Mã:
dnf install nodejs -y
Mã:
node -v
Mã:
v14.16.0
Mã:
npm -v
Mã:
6.14.11
Cài đặt Reactjs
Trước khi bắt đầu, bạn sẽ cần cài đặt create-react-app trong hệ thống của mình. Đây là tiện ích dòng lệnh dùng để tạo Ứng dụng React.Bạn có thể cài đặt bằng NPM như hiển thị bên dưới:
Mã:
npm install -g create-react-app
Mã:
create-react-app --version
Mã:
4.0.3
Mã:
create-react-app myapp
Mã:
Thành công! Đã tạo myapp tại /root/myappBên trong thư mục đó, bạn có thể chạy một số lệnh: npm start Khởi động máy chủ phát triển. npm run build Đóng gói ứng dụng thành các tệp tĩnh để sản xuất. npm test Khởi động trình chạy thử nghiệm. npm run eject Xóa công cụ này và sao chép các phụ thuộc xây dựng, tệp cấu hình và tập lệnh vào thư mục ứng dụng. Nếu bạn làm như vậy, bạn không thể quay lại!Chúng tôi khuyên bạn nên bắt đầu bằng cách nhập: cd myapp npm start
Mã:
cd myapp
npm start
Mã:
Đã biên dịch thành công!Bây giờ bạn có thể xem myapp trong trình duyệt. http://localhost:3000Lưu ý rằng bản dựng phát triển không được tối ưu hóa.Để tạo bản dựng sản xuất, hãy sử dụng npm run build.
Tạo tệp dịch vụ Systemd cho Reactjs
Tiếp theo, bạn nên tạo tệp dịch vụ systemd để quản lý dịch vụ Reactjs. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /lib/systemd/system/react.service
Mã:
[Unit]After=network.target[Service]Type=simpleUser=rootWorkingDirectory=/root/myappExecStart=/usr/bin/npm startRestart=on-failure[Install]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start react
systemctl enable react
Mã:
systemctl status react
Mã:
? react.service Đã tải: đã tải (/usr/lib/systemd/system/react.service; đã tắt; đã đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ ba 2021-03-23 02:52:32 EDT; 6 giây trước PID chính: 2191 (nút) Nhiệm vụ: 29 (giới hạn: 12524) Bộ nhớ: 220,3M CGroup: /system.slice/react.service ??2191 npm ??2202 node /root/myapp/node_modules/.bin/react-scripts start ??2209 /usr/bin/node /root/myapp/node_modules/react-scripts/scripts/start.js23-03 02:52:34 centos8 npm[2191]: ? ?wds?: Dự án đang chạy tại http://0.0.0.0:3000/23-03 02:52:34 centos8 npm[2191]: ? ?wds?: đầu ra webpack được phục vụ từ23-03 02:52:34 centos8 npm[2191]: ? ?wds?: Nội dung không phải từ webpack được phục vụ từ /root/myapp/public23/03 02:52:34 centos8 npm[2191]: ? ?wds?: 404 giây sẽ chuyển về /23/03 02:52:34 centos8 npm[2191]: Đang khởi động máy chủ phát triển...23/03 02:52:37 centos8 npm[2191]: Đã biên dịch thành công!23/03 02:52:37 centos8 npm[2191]: Bây giờ bạn có thể xem myapp trong trình duyệt.23/03 02:52:37 centos8 npm[2191]: http://localhost:300023/03 02:52:37 centos8 npm[2191]: Lưu ý rằng bản dựng phát triển chưa được tối ưu hóa.23/03 02:52:37 centos8 npm[2191]: Để tạo bản dựng sản xuất, hãy sử dụng npm run build.
Mã:
ss -antpl | grep 3000
Mã:
LISTEN 0 128 0.0.0.0:3000 0.0.0.0:* users:(("node",pid=2209,fd=18))
Cấu hình Nginx làm Proxy ngược cho ứng dụng React
Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược để truy cập ứng dụng React trên cổng 80. Trước tiên, hãy cài đặt gói Nginx bằng lệnh sau:
Mã:
dnf install nginx -y
Mã:
nano /etc/nginx/conf.d/react.conf
Mã:
server { listen 80; server_name react.example.com; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://localhost:3000; }}
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chủ proxy ngược và HTTP nginx Đã tải: đã tải (/usr/lib/systemd/system/nginx.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 3 2021-03-23 02:57:48 EDT; 4 giây trước Tiến trình: 4079 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Tiến trình: 4078 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Tiến trình: 4076 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) PID chính: 4081 (nginx) Nhiệm vụ: 2 (giới hạn: 12524) Bộ nhớ: 4.0M CGroup: /system.slice/nginx.service ??4081 nginx: tiến trình chính /usr/sbin/nginx ??4082 nginx: tiến trình công nhân23-03 02:57:48 centos8 systemd[1]: Đang khởi động máy chủ proxy ngược và HTTP nginx...23-03 02:57:48 centos8 nginx[4078]: nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là ok23-03 02:57:48 centos8 nginx[4078]: nginx: tệp cấu hình /etc/nginx/nginx.conf đã kiểm tra thành công23-03 02:57:48 centos8 systemd[1]: nginx.service: Không phân tích được PID từ tệp /run/nginx.pid: Đối số không hợp lệ23-03 02:57:48 centos8 systemd[1]: Đã khởi động máy chủ proxy ngược và HTTP nginx.
Cấu hình Tường lửa
Tiếp theo, bạn sẽ cần cho phép các cổng 80 và 443 đi qua tường lửa. Bạn có thể cho phép chúng bằng cách chạy lệnh sau:
Mã:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
Mã:
firewall-cmd --reload