Ubuntu 16.04 + Nuxt 2 + Nginx 설정

0. 환경
- ubuntu 16.04
- nuxt 2.10
- node.js 4.6 -> 8.16.2
- npm 3.5 -> 6.4
- nginx 1.10

1. fibers 패키지 설치 오류
  nuxt의 dependency인 fibers가 설치가 안돼서 nuxt도 설치되지 않는 문제가 발생했다.
fibers 설치 시 node 명령어를 찾아오지 못하는 문제였다.
아래 명령어로 강제로 링크시키면 된다.
ln -s /usr/bin/nodejs /usr/bin/node

오류 메시지에 ubuntu 사용자면 apt-get install g++ build-essential를 실행하라는 메시지가 나오는데 이미 설치되어 있는 것 같다.

2. nuxt를 실행시킬 수 없는 오류
  오류 메시지로 node.js를 최신 버전으로 업그레이드하라는 말이 나와서 업그레이드.
https://github.com/nodesource/distributions/blob/master/README.md 이 페이지를 참조해서 8.6.12 버전으로 업그레이드했다.
참고로 "curl -sL https://deb.nodesource.com/setup_버전.x | sudo -E bash -"로 바꾸면 다른 버전도 설치할 수 있다.
nvm을 사용해도 되지만 사용자가 여럿일 경우 설치를 진행한 사용자가 아닌 사용자가 nodejs를 사용할 수 없어서 nvm 삭제 후 다시 설치했다.
어떻게(?) 하면 되는 것 같지만 저 위의 방법이 더 편하다.

3. fibers 문제 다시 발생
 devDependencies에 있던 fibers를 지우니까 된다...
node_modules/를 지우고 전체 패키지를 재설치했다(sudo npm install).

4. nginx 설정
  사이트 주소로 들어오면 3000포트로 연결하도록 설정하면 된다.
nginx경로/sites-enabled/default(파일 이름 변경 가능)에 아래 내용을 추가/수정했다.

listen 80 default_server;
listen [::]:80 default_server;
server_name 서버이름;
charset utf-8;
add_header Access-Control-Allow-Headers Origin,X-Requested-With,Content-Type,Accept;

location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

}

5. vue-client-only module이 없는 문제
  왜 없는지는 모르겠는데 npm으로 설치해주면 된다.



  

이 블로그의 인기 게시물

Postgresql에서 5432 port가 열려있냐는 문제(Ubuntu 기준)

vue에서 v-html에 포함된 class의 css가 적용되지 않는 경우

Linux screen 명령어 정리