생성일: 2022년 2월 20일 오후 8:03
태그: nginx
웹서버
Apache 구동방식
Nginx 구동 방식
하나의 프로세스로 동작하여, HTTP 요청을 event로 비동기식으로 처리함
HTTP요청마다, 프로세스든 쓰레드든 생성이 필요없으므로, 시스템자원 관리에 장점이 있음
단, 웹서버는 다양한 추가 기능과 함께 동작하므로, 종합적인 성능에는 큰 차이를 보이지 않음
ubuntu 다운로드
docker run -dit -p 80:8080 --name myos ubuntu:20.04
백그라운드 실행
docker exec -it myos /bin/bash
update
apt-get update
apt-get install nginx=1.18.0-0ubuntu1
=” “ nginx다음 버전 이름을 적을 수도 있다.
시간을 적으라 하는데!!
6 : 아시아에
69 : 서울
vim설치
nginx.conf
find -name nginx.conf
# 가볍게 위치확인
경로를 확인한 다음 파일을 실행하자!
user: 유저가 누구냐?
worker_proccess : 프로세스가 갯수 설정 —> 최적의 성능에 영향이 갈수 있음
빨간색 부분은 우리가 일반적으로 설정하는 공간이라고 보시면 된다.
아래 내리다 보면 아래의 포함 이라는 항목을 볼 수 있다.
vi로 들어간 모습
![](https://velog.velcdn.com/images/dkwktm45/post/2724b3e7-6c90-4148-91f5-23cc32c0e0e6/image.png)
**설정된 이유는 심볼링 링크 설정이 되어있기 때문이다.!!**
### 3.2 default파일의 server설정
- listen은 http 요청을 받을 포트 설정
- 아래 코드는 listen 은 IPv6 포트 관련 설정이 default로 되어 있지만 우리는 8080을 사용하기 때문에 바꿔 주겠다.
```docker
listen 8080 default_server; # 몇번 포트를 사용여부를 표현한 문장
listen [::]:80 default_server;#
```
- server_name: 요청 받을 도메인 이름 설정
```docker
**# 서버 네임 다음 사용할 도메인 이름을 적어주면 되고, 아래 처럼 두개를 나열할 수 있다.**
# ex) server_name fun-coding.org www.fun-coding.org;
# 아래는 default로 _ 를 사용한다.
server_name _;
```
- root
만약 내가
![](https://velog.velcdn.com/images/dkwktm45/post/6b358f55-9077-4598-a06d-a4b20a0fd701/image.png)
**위 그림처럼 요청을 보낸다면 어디에서 html파일을 읽어올거야?라는게 경로의 의미가 된다.**
![](https://velog.velcdn.com/images/dkwktm45/post/116b92f8-65f5-4f47-9737-432a6d27a962/image.png)
<aside>
🧐 [**login.do](http://login.do) 이러한 특정 페이지를 입력한게 아니라 ip만 입력한 경우 위 사진 처럼 순차적으로 실행해서 없는 경우 계속 아래 목록들을 찾는다.**
</aside>
- location
**경로에 따라서 다양한 서버를 실행하게 해주는 설정이 location의 역할이다.**
![](https://velog.velcdn.com/images/dkwktm45/post/06780494-8872-49fb-b3ae-e2cd3eb1b9ca/image.png)
![](https://velog.velcdn.com/images/dkwktm45/post/cac22983-e6b6-4bdf-92b9-d11d011651d4/image.png)
**더 나아간다면 13.23.353.342/blog/ 라는 경로의 요청이 있다면**
**nginx에서 그 경로를 찾아봐라 없다면 404에러를 내겠다 이런 말이다.—>** `try_files $uri $uri/ =404;`
**tip 경로를 추가하고 싶을 때는 `location /blog {}` 추가를 해주면 된다.**
또 이러한 server설정이 안될 경우가 있다.
—> service nginx restart
를 해주자! (vi 를 나가서 실행해야한다.)
WHY?
default파일로 가면
해당 경로에 html파일을 리턴 해주라고 명시가 되어 있다는 것
경로로 들어가 보자!
실제로 보니 있는것을 확인할 수 있었다.
location /blog {
root /var/www;
}
location /flask{
root /var/www;
}