Chuyên mục
Linux

Cấu hình Sendy trên Nginx

Sendy là sự thay thế hoàn hảo cho các dịch vụ email marketing đắt đỏ như MailChimp, GetResponse,… Với Sendy, bạn có thể tối ưu chi phí email marketing xuống mức tối thiểu. Chi phí gửi email bằng Sendy qua Amazon SES chỉ là 1$ mỗi 10.000 mail. Với Mailchimp, chi phí lên tới $200

So sánh chi phí gửi mail của Sendy (Amazon SES) với MailChimp, Campaign Monitor

Ưu điểm của Sendy là hi phí gửi mail sẽ được tính dựa trên số lượng email thực tế bạn gửi ra. Sendy không tính tiền dựa theo số lượng email lưu trữ (subscriber) như  các nhà cung cấp khác: Mailchimp, GetResponse,… Để sử dụng Sendy, bạn chỉ tốn tiền mua bản quyền $59 được sử dụng và cập nhật trọn đời.

Đặt mua Sendy $59

Hạn chế của Sendy là bạn phải tự cài đặt và cấu hình hệ thống email marketing của riêng mình. Các bạn có thể xem hướng dẫn cài đặt và sử dụng Sendy cực kỳ chi tiết bên blog Canhme.com của Luân Trần.

Cấu hình Sendy trên Nginx

Mặc định, bạn chỉ có thể cài đặt Sendy trên máy chủ Apache. Tuy nhiên, bạn cũng thể sử dụng máy chủ Nginx với Sendy. Các bước cài đặt vẫn như hướng dẫn ở trên. Chỉ cần thêm bước cấu hình conf cho Sendy.

Thêm đoạn code sau vào giữa block server { …. } trong file cấu hình conf cho domain của bạn.

location / {
try_files $uri $uri/ $uri.php?$args;
}

location /l/ {
rewrite ^/l/([a-zA-Z0-9/]+)$ /l.php?i=$1 last;
}

location /t/ {
rewrite ^/t/([a-zA-Z0-9/]+)$ /t.php?i=$1 last;
}

location /w/ {
rewrite ^/w/([a-zA-Z0-9/]+)$ /w.php?i=$1 last;
}

location /unsubscribe/ {
rewrite ^/unsubscribe/(.*)$ /unsubscribe.php?i=$1 last;
}

location /subscribe/ {
rewrite ^/subscribe/(.*)$ /subscribe.php?i=$1 last;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 30d;
}

Ví dụ dưới đây là file cấu hình nginx cho domain mình cài đặt Sendy. Bạn cần phải thay thế phần sendy.***.com bằng domain của bạn.

server {

server_name sendy.***.com www.sendy.***.com;

access_log /var/log/nginx/sendy.***.com.access.log ;
error_log /var/log/nginx/sendy.***.com.error.log;


root /var/www/sendy.yeuchaybo.com/htdocs;

autoindex off;
index index.php index.html;

location / {
try_files $uri $uri/ $uri.php?$args;
}

location /l/ {
rewrite ^/l/([a-zA-Z0-9/]+)$ /l.php?i=$1 last;
}

location /t/ {
rewrite ^/t/([a-zA-Z0-9/]+)$ /t.php?i=$1 last;
}

location /w/ {
rewrite ^/w/([a-zA-Z0-9/]+)$ /w.php?i=$1 last;
}

location /unsubscribe/ {
rewrite ^/unsubscribe/(.*)$ /unsubscribe.php?i=$1 last;
}

location /subscribe/ {
rewrite ^/subscribe/(.*)$ /subscribe.php?i=$1 last;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 30d;
}

#include common/locations.conf;
include /var/www/sendy.***.com/conf/nginx/*.conf;

}

Nếu bạn sử dụng EasyEngine, bạn có thể tìm thấy file cấu hình này trong thư mục /etc/nginx/sites-available/.

Chúc bạn cài đặt Sendy thành công và phát triển được kênh quảng bá email hiệu quả.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại gửi tặng mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

12 trả lời trong “Cấu hình Sendy trên Nginx”

Cám ơn bài viết của bạn. Mình cũng dùng easyengine vì nó đơn giản nhưng hoàn toàn không biết cài đặt gì thêm ngoài những giòng lệnh thông thường. Cho mình hỏi nếu mình muốn thiết lập subdomain để gửi email bằng Sendy thì các bước mình cần làm là những gì ạ?

Cám ơn bạn đã đọc câu hỏi của mình nhé!

Thiết lập subdomain để gửi bằng Sendy cũng làm tương tự như khi thiết lập trên domain chính thôi bạn.

Trên EasyEngine, chạy lệnh

ee site create subdomain.domain.com

Thay subdomain.domain.com bằng domain của bạn

Sau đó copy Sendy vào /var/www/subdomain.domain.com/htdocs, và làm theo hướng dẫn trên Canhme.com. Cuối cùng làm thêm bước cấu hình Nginx là xong.

Subdomain hoàn toàn tách biệt với domain chính nên đặt ở VPS không có vấn đề gì hết bạn ơi. Mình cũng để subdomain ở VPS khác để tránh xung đột với trang chính

Cám ơn sự trả lời nhiệt tình của Thuận nhé. Tiện thể Thuận cho mình biết lĩnh vực web Thuận nhận dịch vụ vd tối ưu performance? thêm tính năng cho theme wordpress hoặc woocommerce? SEO?… để mình có thể nhờ bên mảng dịch vụ trả phí của Thuận sau này.

Mấy cái bạn liệt kê cái nào mình cũng nhận được hết nhé. Từ cài đặt, tối ưu VPS cho đến tối ưu nội dung, thêm tính năng cho theme, cấu hình Woocommerce,…Hoặc làm trọn gói website luôn. Khi nào cần bạn cứ liên hệ.

Chào Thuận, mình đã cài Sendy lên VPS của mình rồi. Mình muốn chuyển đường dẫn thành https nên dùng let’s encrypt trong easyengine, đã có https thành công nhưng khi view site thì css bị vỡ, nên mình đã gỡ let’s encrypt bằng lệnh update letsencrypt=off. Nhưng khi vô site thì url vẫn redirect qua https. Mình rất muốn chuyển qua https, nhưng nếu ko được thì muốn như cũ thôi, không như bây giờ redirect qua https. Thuận có thể chỉ mình chỉnh như thế nào không? Cám ơn Thuận nhé.

Mình không có bán tài khoản nhé. Mình thấy đăng ký cái đó dễ ẹc mà. Chỉ cần có tài khoản AWS, gửi mail cho nó phát là nó tăng liền.

Trả lời