ubuntu16.04 node js 패키지 파일 설치
#Node.js v6 설치
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
#Node.js v7 설치
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
#npm에서 네이티브 애드온을 컴파일하고 실행하려면 빌드 도구도 설치
sudo apt-get install -y build-essential
#Express 설치
#(node js를 더 편리하게 사용 할 수 있게 기본 개발 틀을 만들어 주는 도구라고 생각하면됨)
#참고로 -g는 전역 이라는 뜻
#어느 폴더에서든지 express를 사용할 수 있게 한다
sudo npm install -g express
sudo npm install -g express-generator
#이제 generator로 node app을 생성할 수 있다.
#express로 작업 폴더 생성
express nodeApp
#작업폴더로 이동
cd nodeApp
# 관련 express 파일들 설치
npm install
#컴파일 후 node 서버 실행
node ./bin/www
# 웹브라우저에 localhost:3000 입력후 확인하기
#타입스크립트 개발 지원 모듈 설치
#node js 개발할 때 consle. 하면 뒤에 log, 등 자동으로 관련 메소드 찾아주는 기능
sudo npm install tsd -g
ubuntu16.04 에서 node js 웹서버
를 apache 서버와 함께 사용하기!
#mod_proxy 와 mod_proxy_http 모듈이 있어야 한다.
#아파치2를 깔면 자동으로 설치된다.
sudo apt-get -y install apache2
#직접 가서 확인해보자
cd /etc/apache2/mods-available
#mod_proxy, mod_proxy_http 확인
#관련파일 설치
sudo apt-get install libapache2-mod-proxy-html
#libxml이 안깔렸다면
sudo apt-get install libxml2-dev
#모듈을 로드하기
sudo a2enmod proxy_module proxy_http_module headers_module deflate_module
참고: 박스처리 한부분은 간혹 버전에 따라 안될 수도 있다. 래퍼런스 문서에는 명시되어 있는데 필자는 설치 도중 에러가 떠서 건너 뛰었다. 아직 apche2에 대해서 정확히 알고있지 못하다..
#이제 설정파일을 만들어야 한다
#설정파일이름을 도메인 이름으로 지정해주자
vi /etc/apache2/sites-available/amazeapp.com.conf
#설정파일 안 작성
#프록시 컨텐츠를 추가하기 만하면된다 표준 포트 (80)를 통해 제공되는 모든 요청은 곧 실행될 노드 서버와 자체 포트 (3000)를 통해 라우트되어야한다는 것을 Apache에 알리는 작업
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin your@email.com
ServerName www.amazeapp.com
ServerAlias amazeapp.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/amazeapp.com/public_html
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#이 부분에 주소 작성~
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
# Log file locations
LogLevel warn
ErrorLog /var/www/amazeapp.com/log/error.log
CustomLog /var/www/amazeapp.com/log/access.log combined
</VirtualHost>
#아파치가 새로 추가한 주소를 알 수 있게 지정
sudo a2ensite amazeapp.com.conf(파일명)
sudo service apache2 reload
# 위에서 만든 node 프로젝트 폴더(nodeApp)로 가서 서버 실행
node ./bin/www
#클라이언트(다른 pc.리눅스)에서 접속해 보자 확인
node js 에서 돌아가고 있는 웹
#apache2 서버에서 돌아가고 있는 웹과 node js 에서 돌아가고 있는 웹 모두 정상 작동!
apache2 에서 돌아가고 있는 웹
참고 문서
https://github.com/sindresorhus/guides/blob/master/run-node-server-alongside-apache.md
https://stackoverflow.com/questions/28062159/node-js-https-on-cloudflare
https://code.tutsplus.com/tutorials/going-live-with-node--net-33923
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
http://httpd.apache.org/docs/2.0/mod/mod_proxy_http.html
https://abhirama.wordpress.com/2008/11/03/apache-mod_proxy-in-ubuntu/
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
뭔일인지 어제 까지만 되던..apache2 서버와 node js 가 작동을 안하네...
apache2 와 node js 서버가 각각 작동하는 것이 아니라
apache2서버 위에서 node js 가 작동되는 상황...
원리를 아직 파악 못해서 어디서 부터 잘 못됐는가도 모르겠고..
다시 포스팅해야겠다..ㅜ
따라 하신 분들 죄송합니다..
node js, express 설치 까지는 문제 없어요..!
우분투에서 node js 서비스 하는거 다시 올릴게요!
https://gist.github.com/adamcbrewer/6060840
'매일코딩 > 리눅스-우분투' 카테고리의 다른 글
ubuntu16.04에 telnet 서버 설치 후 putty로 원격 접속해보자 (0) | 2017.07.21 |
---|---|
ubuntu16.04 에서 pm2 와 nginx로 node js 서비스 하기 (0) | 2017.07.20 |
우분투 16.04 네임서버 캐싱네임서버 마스터네임서버 FTP서버 한큐에 설치! (0) | 2017.07.18 |
리눅스 개요 (0) | 2017.06.28 |
우분투 vim 설치 시 패키지 의존성 문제 해결 (0) | 2017.06.27 |
댓글