리눅스
리눅스 9일차
hyestar
2022. 5. 9. 21:05
virtual hosting 개념
nginx는 웹루트폴더 제조기
일반폴더로는 웹브라우저 접속 X
nginx으로 아래를 구축하고 싶다
- 80 → /web/site0/public
- 8011 → /web/site1/public
- 8012 → /web/site2/public
-> nginx 하나로 내 컴퓨터에서 사이트 n개 운영이 가능
=> virtual hosting
virtual hosting 설정을 담당할 /etc/nginx/conf.d/vhost.conf 파일
설정 파일 찾기
- sudo locate nginx.conf
- /etc/nginx/nginx.conf
- vim /etc/nginx/nginx.conf
- include /etc/nginx/conf.d/*.conf;
- conf.d/에 확장자 .conf로 해두면 이 설정파일에서 불러옴
- 설정파일을 분할하는 법
- include /etc/nginx/conf.d/*.conf;
- cd /etc/nginx/conf.d/
- ls
- default.conf 파일 뿐
- sudo vim vhost.conf
- 이제 nginx 설정파일에서 이 파일을 읽어냄
8011, 8012 포트에 대해서 각각의 웹루트폴더를 연결
1 . sudo vim /ect/nginx/conf.d/vhost.conf
- vhost.conf 파일에 아래 코드 추가
server {
listen 8011;
server_name _;
location / {
root /web/site1/public;
}
}
server {
listen 8012;
server_name _;
location / {
root /web/site2/public;
}
}
2 . sudo systemctl restart nginx
- localhost:8010 접속 시 잘나옴
- localhost:8011, localhost:8011 접속 시 연결안됨
- 당연함 포트포워딩을 아직 안함
3 . 포트포워딩
- localhost:8011을 위한 포트포워딩
- 이름 : HTTP 8011
- 프로토콜 / 호스트 ip
- TCP / 0.0.0.0
- 호스트 포트 : 8011
- 게스트 ip / 게스트 포트
- ip addr 확인 시 리눅스 ip / 8011
- localhost:8012
- 이름 : HTTP 8012
- 프로토콜 / 호스트 ip
- TCP / 0.0.0.0
- 호스트 포트 : 8012
- 게스트 ip / 게스트 포트
- ip addr 확인 시 리눅스 ip / 8012
4 . 80, 8011, 8012 웹서버 접속
- 안됨 당연함 폴더는 있는데 파일이 없음
5 . /web/ 내 파일 생성
- cd /web/
- ls
- site 0
- ls
- 파일 복사
- cp -r site0 site1
- site0을 복사해 site1 파일을 만들겠다
- cp -r site0 site2
- site0을 복사해 site2 파일을 만들겠다
- 다시 웹서버 접속 시 파일 3개 내용이 모두 같아 모르겠음
- cp -r site0 site1
- echo "site0" > /web/site0/public/index.html
- 다른 파일들도 동일한 포맷으로 수정
- 웹서버 접속시 페이지 내용이 다 다르면 성공!
nginx 설정파일오류에 대처하는 방법
vhost.conf에 설정파일 문법에 맞지 않게 작성 후
sudo systemctl restart nginx하면 오류 문구가 나옴
Job for nginx.service failed ~
See "systemctl status nginx.service" and "journalctl -xe" for details.
- 오류가 생겼는데, 자세한 내용을 보고싶으면 "systemctl status nginx.service"나
"journalctl -xe" 명령을 입력해라
- systemctl status nginx.service | less
- 살펴보면 nginx: [emerg] 어쩌구가 보임
- 옆으로 더 늘려서 읽어보면, in ect//etc/nginx/conf.d/vhost.conf:3에서 오류가 발생했다
- 살펴보면 nginx: [emerg] 어쩌구가 보임
- journalctl -xe | less
- 여기서도 자세한 오류내용을 볼 수 있다
728x90