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ư proxy ngược cho máy chủ web Apache hoặc Nginx của bạn. 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à 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ủ CentOS 7.
Cài đặt Apache/httpd bằng lệnh yum bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ httpd và cho phép dịch vụ này chạy khi khởi động hệ thống bằng các lệnh bên dưới.
Vì vậy, dịch vụ httpd hiện đang chạy. Kiểm tra bằng lệnh netstat hoặc curl như hiển thị bên dưới.
Như vậy, máy chủ web Apache/httpd đã được cài đặt.
Vào thư mục cấu hình Apache và chỉnh sửa tệp httpd.conf.
Thay đổi cổng mặc định 80 thành 8080 trên dòng 'Listen'.
Lưu và thoát.
Bây giờ hãy kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó khởi động lại dịch vụ apache/httpd.
Bây giờ hãy kiểm tra lại bằng netstat và đảm bảo máy chủ web đang chạy trên cổng 8080.
Cài đặt kho lưu trữ EPEL bằng lệnh sau.
Bây giờ hãy cài đặt Varnish từ kho lưu trữ EPEL bằng lệnh yum bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động Varnish và thêm nó để khởi chạy khi khởi động hệ thống bằng lệnh systemctl bên dưới.
Theo mặc định, Varnish sẽ sử dụng cổng 6081 và 6082. Kiểm tra bằng lệnh netstat bên dưới.
Và đảm bảo rằng chúng ta có được cổng Varnish mặc định như bên dưới.
Vào thư mục cấu hình Varnish và chỉnh sửa cấu hình mặc định trong 'default.vcl'.
Xác định phần backend mặc định. Chúng tôi đang sử dụng máy chủ web Apache chạy trên cổng 8080, vì vậy cấu hình như sau.
Lưu và thoát.
Tiếp theo, cấu hình Varnish để chạy với cổng HTTP 80. Chỉnh sửa tệp 'varnish.params' có trong thư mục cấu hình Varnish.
Trong tệp này, hãy thay đổi giá trị của dòng 'VARNISH_LISTEN_PORT' thành cổng HTTP 80.
Lưu và thoát.
Bây giờ hãy khởi động lại Varnish và kiểm tra số liệu thống kê bằng lệnh netstat.
Đảm bảo bạn có kết quả tương tự như kết quả hiển thị bên dưới.
Varnish HTTP Accelerator đã được cài đặt và hiện hoạt động như một proxy ngược cho máy chủ web Apache.
Cài đặt Firewalld bằng lệnh yum sau.
Bây giờ hãy khởi động dịch vụ và cho phép nó chạy tự động khi khởi động hệ thống.
Tiếp theo, mở cổng mới cho các yêu cầu HTTP và HTTPS bằng lệnh firewalld-cmd, như hiển thị bên dưới.
Tải lại cấu hình tường lửa.
Vậy là xong. Cấu hình Firewalld đã hoàn tất.
Và trong đầu ra, hãy đảm bảo bạn nhận được tiêu đề HTTP tương tự như tiêu đề được hiển thị trong ảnh chụp màn hình sau.
Tiếp theo, hãy kiểm tra Varnish từ trình duyệt. Để thực hiện, hãy mở trình duyệt web và nhập URL hoặc địa chỉ máy chủ.
Đảm bảo nó hoạt động như bên dưới.
Lưu ý: Nếu bạn nhận được lỗi '403' Bị cấm, bạn cần tạo tệp 'index.html' trong thư mục '/var/www/html'.
Tiếp theo, hãy kiểm tra nhật ký varnish bằng lệnh bên dưới.
Và bạn sẽ nhận được nhật ký truy cập cho varnish.
Vậy là xong. Varnish HTTP accelerator đã được cài đặt và hiện đang chạy như một proxy ngược cho máy chủ web Apache.
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ủ CentOS 7.
Những gì chúng tôi sẽ làm
- Cài đặt Apache trên CentOS 7
- Cấu hình Apache trên cổng 8080
- Cài đặt Varnish trên CentOS 7
- Cấu hình Varnish như proxy ngược cho Apache
- Cấu hình Firewalld
- Kiểm tra
Điều kiện tiên quyết
- CentOS 7 server
- Quyền root
Bước 1 - Cài đặt và cấu hình Apache trên CentOS 7
Chúng tôi sẽ cài đặt máy chủ web Apache/httpd từ kho lưu trữ CentOS 7, sau đó cấu hình máy chủ sẽ chạy trên cổng 8080.Cài đặt Apache/httpd bằng lệnh yum bên dưới.
Mã:
yum -y install httpd
Mã:
systemctl start httpd
systemctl enable httpd
Mã:
netstat -plntu
curl -I localhost
Như vậy, máy chủ web Apache/httpd đã được cài đặt.
Bước 2 - Cấu hình Apache trên cổng 8080
Trong bước này, chúng ta sẽ cấu hình máy chủ web Apache/httpd để chạy trên cổng 8080. Để thực hiện, trước tiên chúng ta phải chỉnh sửa tệp cấu hình 'httpd.conf'.Vào thư mục cấu hình Apache và chỉnh sửa tệp httpd.conf.
Mã:
cd /etc/httpd/
vim conf/httpd.conf
Mã:
Listen 8080
Bây giờ hãy kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó khởi động lại dịch vụ apache/httpd.
Mã:
apachectl configtest
systemctl restart httpd
Bây giờ hãy kiểm tra lại bằng netstat và đảm bảo máy chủ web đang chạy trên cổng 8080.
Mã:
netstat -plntu
Bước 3 - Cài đặt Varnish trên CentOS 7
Trong bước này, chúng ta sẽ cài đặt trình tăng tốc HTTP hiệu suất cao Varnish. Nó có sẵn trên kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux), vì vậy chúng ta cần cài đặt kho lưu trữ trước khi cài đặt Varnish.Cài đặt kho lưu trữ EPEL bằng lệnh sau.
Mã:
yum -y install epel-release
Mã:
yum -y install varnish
Mã:
systemctl start varnish
systemctl enable varnish
Mã:
netstat -plntu
Bước 4 - Cấu hình Varnish làm proxy ngược cho Apache
Vậy là Varnish đã được cài đặt và bây giờ chúng ta sẽ cấu hình nó làm proxy ngược cho máy chủ web Apache. Varnish sẽ chạy trên cổng HTTP 80 theo mặc định.Vào thư mục cấu hình Varnish và chỉnh sửa cấu hình mặc định trong 'default.vcl'.
Mã:
cd /etc/varnish
vim default.vcl
Mã:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Tiếp theo, cấu hình Varnish để chạy với cổng HTTP 80. Chỉnh sửa tệp 'varnish.params' có trong thư mục cấu hình Varnish.
Mã:
vim varnish.params
Mã:
VARNISH_LISTEN_PORT=80
Bây giờ hãy khởi động lại Varnish và kiểm tra số liệu thống kê bằng lệnh netstat.
Mã:
systemctl restart varnish
netstat -plntu
Varnish HTTP Accelerator đã được cài đặt và hiện hoạt động như một proxy ngược cho máy chủ web Apache.
Bước 5 - Cấu hình Firewalld
Trong bước này, chúng ta sẽ cài đặt Firewalld và mở các cổng HTTP và HTTPS mới.Cài đặt Firewalld bằng lệnh yum sau.
Mã:
yum -y install firewalld
Mã:
systemctl start firewalld
systemctl enable firewalld
Mã:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Vậy là xong. Cấu hình Firewalld đã hoàn tất.
Bước 6 - Kiểm tra
Để kiểm tra Varnish, trước tiên hãy thực hiện lệnh curl sau.
Mã:
curl -I hakase-labs.co
Tiếp theo, hãy kiểm tra Varnish từ trình duyệt. Để thực hiện, hãy mở trình duyệt web và nhập URL hoặc địa chỉ máy chủ.
Mã:
[URL=http://hakase-labs.co?utm_source=diendancongnghe.com]http://hakase-labs.co[/URL]
Lưu ý: Nếu bạn nhận được lỗi '403' Bị cấm, bạn cần tạo tệp 'index.html' trong thư mục '/var/www/html'.
Mã:
cd /var/www/html/
echo '[HEADING=1] Varnish- Apache - hakase-labs[/HEADING]' > index.html
Mã:
varnishncsa
Vậy là xong. Varnish HTTP accelerator đã được cài đặt và hiện đang chạy như một proxy ngược cho máy chủ web Apache.