Tôi cũng có quan tâm về Node.js được một thời gian, đã nghiên cứu về nó nhưng chưa bao giờ hoàn thiện một Project hoặc ít nhất là chưa có thời gian 🙁

Một vài ngày trở lại đây, sau khi nghiên cứu về khái niệm “NoBackend” và mong muốn xây dựng hệ thống hỗ trợ khách hàng cho doanh nghiệp WitAI.biz, và tôi đã thử nghiệm Deployed ứng dụng và tập trung vào giao tiếp với khách hàng …

Tôi quan tâm đến sử dụng công nghệ “NoBackend” này trong dự án sắp tới, vì vậy tối đã nghiên cứu làm thế nào để đưa một ứng dụng Node.js triển khai cùng với một vài ứng dụng khác trên cùng một host với máy chủ Apache. Và đã thấy một giải pháp khá hay dựa vào kỹ thuật reverse-proxy mà máy chủ Apache2 đã hỗ trợ. Chắc chắn là có một vài kĩ thuật khác, song đối với trang web với traffic nhỏ thì reverse-proxy khá ổn.

nodejs-nginx

Bài viết hướng dẫn các bạn cấu hình và deploy ứng dụng node.js song song với máy chủ Apache2

1: Enable Apache proxy modules

Tôi đang sử dụng máy chủ ubuntu, để enable mode Proxy trên apache, sử dụng lệnh sau đây:

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http

2: Chỉnh sửa vhost

Cấu hình tương tự như sau:

Các bạn có thể tham khảo bài viết sau đây để cấu hình vhost trong Apache

Hướng dẫn: Cài đặt nhiều websites trên Apache2

<VirtualHost *:80>
        ServerAdmin admin@nodejs.vn
        ServerName nodejs.vn
        ServerAlias www.nodejs.vn

        DocumentRoot /var/sites/nodejs.vn
        ErrorLog /var/sites/nodejs.vn/logs/error.log
        CustomLog /var/sites/nodejs.vn/logs/access.log combined
        ProxyRequests off

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        <Location />
                ProxyPass http://localhost:3000/
                ProxyPassReverse http://localhost:3000/
        </Location>
</VirtualHost>

3: Restart Apache

service apache2 restart

About The Author