Varnish là một máy chủ proxy tập trung vào bộ nhớ đệm HTTP. Nó được thiết kế như một trình tăng tốc HTTP và có thể hoạt động như một proxy ngược cho máy chủ web của bạn (Apache hoặc Nginx). Varnish đã được sử dụng cho các trang web có lưu lượng truy cập cao và nổi tiếng, bao gồm Wikipedia, The Guardian và The New York Times.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình trình tăng tốc HTTP Varnish như một proxy ngược cho máy chủ web Apache. Máy chủ web thực Apache sẽ chạy dưới cổng HTTP không chuẩn (chạy trên cổng 8080). Và Varnish sẽ chạy như proxy ngược trên cổng HTTP 80. Đối với hướng dẫn này, chúng tôi sẽ sử dụng máy chủ Ubuntu 16.04.
Cập nhật kho lưu trữ Ubuntu rồi cài đặt Apache bằng lệnh apt.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Apache và cho phép dịch vụ này tự động chạy khi khởi động hệ thống bằng các lệnh systemctl sau.
Máy chủ web Apache đã được cài đặt.
Tiếp theo, để cho phép mọi người truy cập Đối với máy chủ web, chúng ta phải cho phép HTTP và HTTPS trên quy tắc tường lửa của mình. Theo mặc định, Ubuntu đi kèm với một gói tường lửa có tên là UFW.
Mở các cổng SSH, HTTP và HTTPS mới bằng các lệnh ufw sau.
Bây giờ hãy khởi động dịch vụ tường lửa và cho phép nó tự động khởi chạy khi khởi động hệ thống.
Gõ 'y' và nhấn Enter để xác nhận.
Các cổng mới cho http, https và ssh đã được mở và có thể truy cập từ bên ngoài mạng.
Nếu bạn muốn kiểm tra máy chủ web Apache, bạn có thể sử dụng lệnh netstat và đảm bảo rằng apache đang chạy dưới cổng 80.
Hoặc bạn có thể sử dụng lệnh curl sau.
Bạn nên lấy kết quả như hiển thị bên dưới.
Để thay đổi cổng apache mặc định, chúng ta cần chỉnh sửa cấu hình apache 'ports.conf' và tất cả cấu hình máy chủ ảo trong thư mục 'sites-available'.
Đi tới thư mục cấu hình Apache.
Thay thế cổng '80' bằng '8080' trong cấu hình Apache 'ports.conf' và tất cả các tệp máy chủ ảo trong thư mục 'sites-available'. Chúng ta có thể thực hiện điều đó bằng cách chạy các lệnh sed sau.
Tiếp theo, hãy kiểm tra cấu hình Apache và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Apache.
Bây giờ Apache đang chạy dưới cổng http '8080', hãy kiểm tra bằng lệnh netstat như hiển thị bên dưới.
Đảm bảo bạn có kết quả như bên dưới.
Vì vậy, bạn có thể thấy máy chủ web Apache đang chạy trên cổng '8080'.
Cài đặt varnish bằng lệnh apt sau.
Sau khi cài đặt hoàn tất, hãy khởi động Varnish và cho phép nó tự động khởi chạy khi khởi động hệ thống.
Varnish đã được cài đặt trên hệ thống Ubuntu 16.04.
Theo mặc định, nó chạy dưới các cổng '6081' cho địa chỉ công khai và '6082' cho địa chỉ máy chủ cục bộ. Kiểm tra bằng lệnh netstat bên dưới.
Và bạn sẽ nhận được cổng varnish mặc định.
- Cấu hình Backend
Đi đến thư mục cấu hình 'varnish' và sao lưu tệp mặc định 'default.vcl'.
Chỉnh sửa cấu hình varnish 'default.vcl' bằng trình soạn thảo vim.
Xác định cấu hình 'backend' ở dòng 16. Backend cho thiết lập của chúng ta là Apache và nó đang chạy trên cổng 8080. Vì vậy, cấu hình varnish cho thiết lập apache của chúng ta phải như sau:
Lưu và thoát.
- Chạy Varnish trên Cổng 80
Tiếp theo, chúng ta cần thay đổi các cổng Varnish mặc định. Các cổng mặc định cho varnish là '6081' và '6082', và chúng ta cần thay đổi cổng thành cổng http 80 (chỉ dành cho địa chỉ công khai).
Chỉnh sửa cấu hình tham số varnish trong thư mục '/etc/default'.
Chỉnh sửa dòng 'DAEMON_OPTS', thay đổi cổng mặc định '6081' cho địa chỉ công khai thành cổng http chuẩn '80' như hiển thị bên dưới.
Lưu và thoát.
Tiếp theo, chúng ta cần chỉnh sửa tệp dịch vụ varnish 'varnish.service'. Vào thư mục '/lib/systemd/system' và chỉnh sửa tệp dịch vụ bằng vim.
Trên dòng 'ExecStart', hãy thay đổi lệnh bắt đầu varnish như bên dưới.
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Lưu và thoát.
Tải lại cấu hình dịch vụ systemd rồi khởi động lại varnish.
Bây giờ hãy kiểm tra varnish và đảm bảo rằng nó đang chạy trên cổng http 80.
Vì vậy, Varnish hiện đang chạy dưới cổng http 80 làm giao diện cho máy chủ web Apache, nằm trên cổng 8080.
Đảm bảo bạn nhận được tiêu đề http như hiển thị bên dưới.
Kiểm tra từ trình duyệt web, URL của máy chủ thử nghiệm của tôi là:http://hakase-labs.co/. Chọn URL máy chủ của bạn tại đây.
Và chúng ta vẫn nhận được nội dung Apache.
Kiểm tra nhật ký varnish bằng lệnh 'varnishncsa'.
Và chúng ta nhận được nhật ký chỉ từ nhật ký truy cập Apache.
Quá trình cài đặt và cấu hình Varnish cho máy chủ web Apache đã hoàn tất.
Tham khảo
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình trình tăng tốc HTTP Varnish như một proxy ngược cho máy chủ web Apache. Máy chủ web thực Apache sẽ chạy dưới cổng HTTP không chuẩn (chạy trên cổng 8080). Và Varnish sẽ chạy như proxy ngược trên cổng HTTP 80. Đối với hướng dẫn này, chúng tôi sẽ sử dụng máy chủ Ubuntu 16.04.
Những gì chúng tôi sẽ làm
- Cài đặt máy chủ Web Apache
- Thay đổi cổng mặc định của Apache
- Cài đặt Varnish
- Cấu hình Varnish
- Kiểm tra thiết lập
Điều kiện tiên quyết
- Ubuntu 16.04
- Quyền root
Bước 1 - Cài đặt máy chủ Web Apache
Để bắt đầu, hãy cài đặt máy chủ web Apache. Theo mặc định, nó có sẵn trong kho lưu trữ Ubuntu.Cập nhật kho lưu trữ Ubuntu rồi cài đặt Apache bằng lệnh apt.
Mã:
sudo apt update
sudo apt install -y apache2
Mã:
systemctl start apache2
systemctl enable apache2
Máy chủ web Apache đã được cài đặt.
Tiếp theo, để cho phép mọi người truy cập Đối với máy chủ web, chúng ta phải cho phép HTTP và HTTPS trên quy tắc tường lửa của mình. Theo mặc định, Ubuntu đi kèm với một gói tường lửa có tên là UFW.
Mở các cổng SSH, HTTP và HTTPS mới bằng các lệnh ufw sau.
Mã:
ufw allow ssh
ufw allow http
ufw allow https
Mã:
ufw enable
Các cổng mới cho http, https và ssh đã được mở và có thể truy cập từ bên ngoài mạng.
Nếu bạn muốn kiểm tra máy chủ web Apache, bạn có thể sử dụng lệnh netstat và đảm bảo rằng apache đang chạy dưới cổng 80.
Mã:
netstat -plntu
Mã:
curl -I hakase-labs.co
Bước 2 - Thay đổi Cổng mặc định của Apache
Trong hướng dẫn này, chúng ta sẽ sử dụng Apache làm máy chủ phụ trợ và nó sẽ không chạy dưới cổng http chuẩn 80. Máy chủ web Apache sẽ chạy trên cổng 8080 làm máy chủ phụ trợ và cổng http chuẩn 80 sẽ được 'Varnish' sử dụng.Để thay đổi cổng apache mặc định, chúng ta cần chỉnh sửa cấu hình apache 'ports.conf' và tất cả cấu hình máy chủ ảo trong thư mục 'sites-available'.
Đi tới thư mục cấu hình Apache.
Mã:
cd /etc/apache2
Mã:
sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*
Mã:
apachectl configtest
systemctl restart apache2
Bây giờ Apache đang chạy dưới cổng http '8080', hãy kiểm tra bằng lệnh netstat như hiển thị bên dưới.
Mã:
netstat -plntu
Vì vậy, bạn có thể thấy máy chủ web Apache đang chạy trên cổng '8080'.
Bước 3 - Cài đặt Varnish HTTP Accelerator
Trong bước này, chúng ta sẽ cài đặt Varnish từ kho lưu trữ Ubuntu. Và đối với hướng dẫn này, chúng ta sẽ sử dụng varnish 4.Cài đặt varnish bằng lệnh apt sau.
Mã:
sudo apt install -y varnish
Mã:
systemctl start varnish
systemctl enable varnish
Varnish đã được cài đặt trên hệ thống Ubuntu 16.04.
Theo mặc định, nó chạy dưới các cổng '6081' cho địa chỉ công khai và '6082' cho địa chỉ máy chủ cục bộ. Kiểm tra bằng lệnh netstat bên dưới.
Mã:
netstat -plntu
Bước 4 - Cấu hình Varnish làm Proxy ngược cho Apache
Trong bước này, chúng ta sẽ cấu hình varnish ở mặt trước của máy chủ web Apache. Varnish sẽ chạy dưới cổng http 80 và mọi yêu cầu từ máy khách sẽ được xử lý bởi nó trước khi được gửi đến máy chủ web Apache chạy trên cổng 8080.- Cấu hình Backend
Đi đến thư mục cấu hình 'varnish' và sao lưu tệp mặc định 'default.vcl'.
Mã:
cd /etc/varnish/
cp default.vcl default.vcl.aseli
Mã:
vim default.vcl
Mã:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Lưu và thoát.
- Chạy Varnish trên Cổng 80
Tiếp theo, chúng ta cần thay đổi các cổng Varnish mặc định. Các cổng mặc định cho varnish là '6081' và '6082', và chúng ta cần thay đổi cổng thành cổng http 80 (chỉ dành cho địa chỉ công khai).
Chỉnh sửa cấu hình tham số varnish trong thư mục '/etc/default'.
Mã:
cd /etc/default/
vim varnish
Mã:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Lưu và thoát.
Tiếp theo, chúng ta cần chỉnh sửa tệp dịch vụ varnish 'varnish.service'. Vào thư mục '/lib/systemd/system' và chỉnh sửa tệp dịch vụ bằng vim.
Mã:
cd /lib/systemd/system/
vim varnish.service
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Lưu và thoát.
Tải lại cấu hình dịch vụ systemd rồi khởi động lại varnish.
Mã:
systemctl daemon-reload
systemctl restart varnish
Mã:
netstat -plntu
Vì vậy, Varnish hiện đang chạy dưới cổng http 80 làm giao diện cho máy chủ web Apache, nằm trên cổng 8080.
Bước 5 - Kiểm tra
Kiểm tra bằng lệnh curl.
Mã:
curl -I hakase-labs.co
Kiểm tra từ trình duyệt web, URL của máy chủ thử nghiệm của tôi là:http://hakase-labs.co/. Chọn URL máy chủ của bạn tại đây.
Và chúng ta vẫn nhận được nội dung Apache.
Kiểm tra nhật ký varnish bằng lệnh 'varnishncsa'.
Mã:
varnishncsa
Quá trình cài đặt và cấu hình Varnish cho máy chủ web Apache đã hoàn tất.
Tham khảo