나의 개발일지(김지헌)
리눅스 명령어 및 EC2설정 NginX 본문
URI, URL차이점
URI : 통합 자원 식별자, URI는 인터넷상의 리소스 “자원 자체”를 식별하는 고유한 문자열 시퀀스입니다
URL: 네트워크상에서 통합 자원(리소스)의 “위치”를 나타내기 위한 규약입니다. 즉, 자원 식별자와 위치를 동시에 보여줌
URI = 식별자, URL = 식별자+위치
- example.co.kr은 URI입니다. 리소스의 이름만 나타내기 때문
- 반면, https://exwesdldfle.co.kr은 URL입니다. 이름과 더불어, 어떻게 도달할 수 있는지 위치까지 함께 나타내기 때문 (프로토콜 ‘https’ 포함)
[AWS EC2]
인스턴스생성 및 연결
——————————————————————————————————————————————————
//노드 설치
//sudo apt-get install curl
//curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
//sudo apt-get update
//sudo apt-get install -y nodejs
[NVM 설치]
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
[실행시 아래와 같이 스크립트 추가가 됨]
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[nvm 활성화]
source ~/.bashrc
[nvm 설치 확인]
nvm --version
[node 설치]
nvm install node - 최신버전
[node 버전확인]
node --version
[Node 추가 버전 설치 예시]
nvm install --lts
nvm install 16.13.0
[nvm node 버전 리스트 확인]
nvm ls
[Nvm node 활성 버전 변경]
nvm use 16.13.0
[기본 Node.js 버전을 변경]
nvm alias default 16.13.0
NGINX
[NginX 설치]
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install nginx
[Nginx 버전 확인]
sudo dpkg -l nginx
[nginx 시작 및 자동 실행]
sudo service ngnix start
sudo systemctl start nginx
[시작 후 aws 80 열고 접속해서 확인 해보기]
[Nginx 상태 확인]
sudo systemctl status nginx
[네트워크 상황 점검 -선택-]
ps aux | grep nginx - masternode, workernode,두개가 실행 되고 있는걸 확인(정상작동)
sudo apt install net-tools (Nestat 명령어 사용시 설치)
netstat -tulpN
[Port 80을 다른 서비스가 사용시 -Kill]
sudo fuser -k 80/tcp
[Config 테스트]
sudo nginx -t
[Nginx 상태 확인]
sudo systemctl status
[node.js 를 사용한다면 (리버스 프록시)3000 번 포트 막기]
sudo ufw deny 3000
sudo ufw deny 3000/tcp
[방화벽 상태확인 (80, 443 열고, 3000 포트 닫혀있어야함.)]
sudo ufw status
--------- 경로 바꾸기---------
[nginx proxy_pass 설정하기]
cd /etc/nginx/sites-available/
[default 파일 확인]
ls -al -리스트 형식
[default 파일 수정]
vi default
[location 이하 정보 수정 예시]
[location은 specific uri 에 대한 behavior를 정의하며 server 내부에 작성합니다.]
[proxy_pass는 현재 서버에 / 로 시작하는 path로 접근하면,
http://127.0.0.1:8000;으로 돌려준다는 의미
그러면 실제 사용자는 8000 접근하지 않았지만 8080 포트에 접근한 것과 동일한 효과가 발생한다.
즉 uri1로 시작하는 요청을 3000으로 보내는 것]
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location /uri1(요청들어오는 url정보) {
proxy_pass http://127.0.0.1:8000;
proxy_read_timeout 600;
}
[포트포워딩 조회]
sudo iptables -t nat -L --line-numbers
[포트포워딩 등록하기]
sudo iptables -t nat -A PREROUTING -p tcp --dport 출발 포트번호 -j REDIRECT --to-port 도착 포트번호
[포트포워딩 삭제]
sudo iptables -t nat -D PREROUTING number
[재부팅 할때도 설정 유지]
sudo apt update && sudo apt upgrade
[Nginx 재시작]
sudo service nginx restart
OR
sudo systemctl reload nginx
[Config 테스트]
sudo nginx -t
[Nginx 재시작]
sudo service nginx restart
OR
sudo systemctl reload nginx
[Nginx 상태확인]
sudo systemctl status
------------------------
EC2 명령어
[타임존 세팅]
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date - 확인 명령어
[호스트 네임 변경]
sudo vim /etc/sysconfig/network - HOSENAME 변경 후 나오기
sudo reboot - 재부팅
sudo vim /etc/hosts - HOSTNAME등록(맨아래에)
다른 NginX 명령어
[설정 파일]
/etc/nginx/
[로그 파일]
/var/log/nginx/
[load balancer]
서버가 3개 구동중이라고 가정
cd /etc/nginx/
nginx.conf - 설정 파일
conf.d - 설정 파일 있는 폴더
[nginx.conf 파일 수정]
events {}
http {
upstream php_servers {
# set load balancer servers
server localhost:10001;
server localhost:10002;
server localhost:10003;
}
server {
listen 8888;
location / {
# proxy pass to load balancer
proxy_pass http://php_servers;
}
}
}
or
[connection이 적은 server로 request 분배]
events {}
http {
upstream php_servers {
# use least connection
least_conn;
# set load balancer servers
server localhost:10001;
server localhost:10002;
server localhost:10003;
}
server {
listen 8888;
location / {
# proxy pass to load balancer
proxy_pass http://php_servers;
}
}
}
[설정 후 리로드]
sudo service nginx restart
'공부' 카테고리의 다른 글
우분투 기본 공부 (0) | 2023.03.13 |
---|---|
MYSQL 우분투 설치 및 명령어 (0) | 2023.03.13 |
공부 (0) | 2023.03.13 |
노션 API (0) | 2023.03.09 |
S3 버킷, Route53, CloudFront 연결해보기 + HTTPS통신 까지 (0) | 2023.03.07 |