Cách cài đặt SuiteCRM trên Ubuntu 16.04
Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.
Khi chạy một ứng dụng web, thông thường bạn muốn tận dụng tối đa tài nguyên của mình mà không phải chuyển đổi phần mềm để sử dụng các vòng lặp sự kiện đa luồng hoặc phức tạp. Docker, tuy nhiên, cung cấp một cách đơn giản để bạn tải cân bằng nội bộ ứng dụng của mình để tận dụng tối đa tài nguyên máy chủ. Bài viết này sẽ chỉ cho bạn cách sử dụng Nginx để tải cân bằng ứng dụng web của bạn bằng Docker trên CentOS.
Chúng tôi sẽ sử dụng rỉ sét để xây dựng ứng dụng đơn giản này. Giả sử rằng bạn đã cài đặt gỉ, chạy cargo new webapp –bin
. Khi thành công, bạn sẽ thấy một thư mục được gọi là webapp
. Bên trong webapp
, bạn sẽ thấy một tập tin được gọi là Cargo.toml
. Nối các dòng sau vào nó:
[dependencies.iron]
version = "*"
Tiếp theo, bên trong src/main.rs
tệp, xóa mọi thứ và điền vào tệp sau:
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
Iron::new(|_: &mut Request| {
Ok(Response::with((status::Ok, "Hello Vultr :)")))
}).http("0.0.0.0:3000").unwrap();
}
Lưu ý: Không thay đổi IP trong ứng dụng. Điều này được cấu hình để Docker có thể nghe ứng dụng của bạn.
Một khi bạn đã hoàn thành, biên dịch ứng dụng bằng cách thực hiện cargo build –release
. Tùy thuộc vào máy chủ của bạn, có thể mất vài phút. Nếu không có lỗi, hãy kiểm tra ứng dụng bằng cách làm theo các bước sau:
target/release/webapp
.http://0.0.0.0:3000/
trong trình duyệt của bạn. Thay thế 0.0.0.0
bằng địa chỉ IP của máy chủ của bạn.Nếu mọi thứ hoạt động tốt, bạn sẽ thấy "Xin chào Vultr :)" trên trang.
Tạo một Dockerfile
và điền vào nó như sau:
FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp
Lưu các tập tin. Sau đó tạo một tệp được gọi deploy.sh
và điền vào tệp sau:
DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example .
for ((i=0; i<DEPLOY; i++)); do
docker kill $NAME$i ; docker rm $NAME$i
docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done
Khi bạn chạy tập lệnh này, nó sẽ xây dựng hình ảnh và triển khai vùng chứa dựa trên số lượng bạn đã đặt (mặc định là 5). Nếu container tồn tại, nó sẽ giết và xóa nó khỏi registry trước khi nó được triển khai lại.
Bây giờ, tạo tệp cấu hình Nginx và điền vào tệp sau:
upstream application {
server localhost:45710;
server localhost:46710;
server localhost:47710;
server localhost:48710;
server localhost:49710;
}
server {
listen 0.0.0.0:80;
location / {
expires 1w;
proxy_pass http://application;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Thay thế 0.0.0.0
bằng địa chỉ IP của máy chủ của bạn.
Khởi động lại Nginx bằng cách làm systemctl restart nginx
. Giải quyết bất kỳ lỗi nào, sau đó tiến hành bước tiếp theo.
Triển khai ứng dụng bằng cách chạy bash ./deploy.sh
.
Bạn có thể kiểm tra trạng thái của ứng dụng của mình với docker ps
- sẽ có 5 hình ảnh được tạo bắt đầu bằng webapp
. Bây giờ, điều hướng đến http://0.0.0.0:3000/
trong trình duyệt của bạn, bạn sẽ thấy thông báo "Xin chào, Vultr :)".
Vì vậy, chính xác sự khác biệt này làm gì?
Nếu bạn chạy thử nghiệm điểm chuẩn so với cấu hình cân bằng tải, bạn sẽ nhận thấy rằng nhiều tài nguyên máy chủ của bạn đang được sử dụng, đó là điều bạn muốn, đặc biệt là nếu ứng dụng của bạn được xây dựng bằng các ngôn ngữ như Node, nơi nó thường được phân luồng. Nếu bạn cần nâng cấp ứng dụng của mình, bạn có thể làm như vậy và chạy lại deploy.sh
để xây dựng lại hình ảnh và triển khai các thùng chứa của bạn.
Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.
ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.
Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm
Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+
Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.
Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm
13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn
Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true
Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.
Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1