1) dist 파일 생성
로컬에서 npm run build 하면 dist파일이 생성된다.
2) 파일 옮기기
dist파일 통째로 서버로 옮긴다.
이 때, 서버에 dist파일을 담을 디렉토리 생성
/var/www/내가 원하는 디렉토리명
이 경로 안에 dist파일을 옮겨줌
Ex) var/www/datatool
3) nginx 설치
Nginx란 ? ubuntu에서 vuejs 프로젝트 (dist) 를 구동시키게 해줄 웹 서버 소프트웨어
-> sudo apt update (패키지 목록 업데이트)
-> sudo apt upgrade (패키지를 최신으로 업그레이드)
-> sudo apt-get install nginx
4) nginx config 파일 설정하기
-> cd /etc/nginx/sites-available : 가상 서버 환경들에 대한 설정 파일들이 위치하는 부분
-> sudo vi default
-> default 파일 편집
https://wedul.site/579
(1) Listen -> 설정해주지 않으면 80이 기본 port번호가 된다.
(2) Root -> index.html을 찾는 경로
(3) Location / -> vue.js의 기본 경로
(4) Try_files -> 경로 이동을 했을 때 404 error 해결
예를 들어, /about경로로 들어갔을 때 새로고침을 한다던가 경로를 이동했을 때 404가 뜨는 현상
Host/about으로 요청을 보내면 nginx가 이 요청을 받아서 루트 디렉토리 아래에 /about을 찾기 때문.
그런데 vue나 react는 싱글페이지라서 파일이 있지 않기 때문에 404 error가 난다.
(안적혀있으면 default로 try_files $uri $uri/ =404) ?.
https://www.python2.net/questions-1300255.htm
https://krksap.tistory.com/1931
(5) Error_page 405 -> 405 not allowed 해결
Nginx는 기본적으로 정적파일로 post 요청 처리를 허용하지 않는다.
Nginx 설정을 수정하여 post처리를 우회할 수 있다.
=200에서 =뒤에 공백이 없는 이유는 공백을 넣어주게 되면 문법 오류가 난다.
https://12bme.tistory.com/569
(6) location ~ /(api)/(.*)$ -> api라는 단어가 경로에 포함되어 있으면 proxy로 변환해주어 요청함.
https://yongho1037.tistory.com/807
(7) proxy_buffer 어쩌구 -> 502 bad gateway error 해결
https://doogle.link/nginx-proxy-502-bad-gateway-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0-bad-upstream-sent-too-big-header-while-reading-response-header-from-upstream/
5) nginx 실행 (처음 실행)
-> sudo nginx -t : 문법 체크
-> sudo systemctl restart nginx : 재실행
6) nginx reload (파일 수정 시)
-> sudo nginx -t : 문법 체크
-> sudo systemctl reload nginx : 새로고침 ..?
https://www.python2.net/questions-1121291.htm
전체적 : https://jay-ji.tistory.com/57
jdk 설치
-> sudo apt install openjdk-11-jdk
(처음에는 8버전을 설치했다가 404error가 남. 프로젝트 jdk버전과 서버 jdk버전이 안맞아서 생겼던 error 였음)
tomcat9 설치
-> sudo apt-get install tomcat9
tomcat9 실행 후 한번 접속해서 확인 (주소 : 8080)
-> sudo systemctl start tomcat9.service
filezila에 war파일 이동
-> /var/lib/tomcat9/webapps에 war파일 옮기기
기존에 올려져 있던 리눅스 서버 사용법에서 xml수정이나 다른 파일 수정은 안해도 됨
Etc) 현재 실행되고 있는 경로 확인하기
netstat -ntlp | grep :80