자바스크립트를 이용한 노드와 Apache 연동하기
들어가며
웹 개발에서 자바스크립트는 필수적인 도구입니다. 노드는 자바스크립트를 서버 사이드에서 실행할 수 있게 해주는 환경입니다. 반면, Apache는 웹 서버로써 많이 사용됩니다. 해결하고자 하는 문제는 노드와 Apache를 연동하여 이 둘의 장점을 모두 이용하는 것입니다. 이번 글에서는 이 문제를 해결하는 방법에 대해 알아보겠습니다.
방법
Apache 먼저 설치합니다. Apache가 설치되어 있다면 이 과정을 건너뛰면 됩니다. 설치가 완료된 후, Apache 모듈 중 mod_proxy를 활성화합니다. 이 모듈은 Apache를 프록시 서버로 사용할 수 있게 해줍니다.
다음으로, 노드 앱을 작성합니다. 이 앱은 HTTP 요청을 수신하여 처리하는 서버 앱입니다.
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World!');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
이제 Apache 설정을 위해 Apache의 httpd.conf 파일을 수정합니다. 이 파일은 Apache의 기본 설정 파일입니다. 파일 끝에 다음 코드를 추가합니다.
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /node http://localhost:3000/
ProxyPassReverse /node http://localhost:3000/
이 코드는 Apache에 모든 요청을 노드 앱으로 전달하도록 지시합니다. 이제 Apache를 재시작합니다.
모든 준비를 마쳤습니다. 이제 브라우저에서 다음 URL을 열어보세요.
http://localhost/node
노드 앱이 실행되는 것을 확인할 수 있습니다.
결론
노드와 Apache를 연동하는 것은 간단하지만, 강력한 방법입니다. 따라서 프로젝트에서 적극적으로 활용해 보시길 추천합니다.
키워드: 자바스크립트, 노드, Apache