내가 작업할 서버는 brew
가 설치된 MacOS가 아니기에 Linux에 설치하는 방법들을 대강 정리하려 한다. 아마도 yum
은 이미 설치되어 있었던거 같다. 검색하면서보니 주로 사람들이 사용하는 리눅스 OS는 무료이며 가벼운 CentOS
리눅스 운영체제 👉🏻 리눅스 운영체제들에 대해 알아보자 https://ijo0r98.github.io/posts/linux/
Nginx 설치
yum 패키지 관리를 위한 yum-utils 설치
1
yum install yum-utils
Nginx package는 외부 레퍼지토리 통해서 다운받아야한다고 한다. yum
레퍼지토리 관련 위치는 /etc/yum.repos.d/
이 위치에 새로 파일을 생성하여 nginx 레퍼지토리 연결 정보를 추가해준다.
1
vi /etc/yum.repos.d/nginx.repo
1
2
3
4
5
6
[nginx]
name=nginx repo
# https://nginx.org/packages/ 여기서 본인 OS와 필요한 버전 맞춰서 작성
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
혹은 버전을 명시하여 추가할 수도 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
이럴 경우 다운받기 전 다운받을 버전을 선택해줘야한다.
1
yum-config-manager --enable nginx-mainline # stable(default) 선택 시 생략 가능
NginX는 stable, mainline 두 버전이 있다. NginX의 공식 설명에 따르면 버그 수정이나 보안 패치 등은 항상 mainline 버전에 먼저 적용되기 때문에 mainline을 사용하는 것을 추천한다고 한다. stable 버전을 사용하는 주된 경우는 third-party 모듈을 사용하고 있어서 신규 버전에서 호환성 문제가 발생할 가능성이 걱정될 때라고 한다.
stable, mainline 두 가지 버전 중에서 기본은 stable 버전으로 이를 이용 시 위의 명령어는 생략 가능하다. mainline 버전을 원할 경우 위의 명령어로 설정을 변경해줘야 한다.
Nginx 설치
1
yum -y install nginx
서비스 실행과 기본 명령어
버전 확인
1
nginx -version
서비스 기동 및 중지
1
2
3
4
systemctl enable nginx # 부팅 시 자동 실행
systemctl start nginx # 서비스 시작
systemctl stop nginx # 서비스 정지
systemctl status nginx # 서비스 상태 확인
또는
1
/etc/init.d/nginx start # sudo /etc/init.d/nginx start
환경설정
1
vi /etc/nginx/conf.d/default.conf
그 이후는 이전 블로그와 동일 👉🏻 Nginx & Spring Boot 구성하기(1) Mac M1 https://ijo0r98.github.io/posts/web-nginx-1/
- 이전 포스팅에서 nginx의 설정파일은 /etc/nginx/nginx.conf 였으나 환경에 따라 /etc/nginx/conf.d/default.conf 이기도함
/etc/nginx/nginx.conf 이 파일도 있긴 한데 열어보면 conf.d/*.conf 파일을 포함하고 있음1 2 3
http { include /etc/nginx/conf.d/*.conf; }
- 빌드 결과물 위치는 /usr/share/nginx/html
여러 블로그를 보다보니 필수 과정은 아닌 듯 하나 혹시 몰라 추가
디렉토리 설정
홈으로 사용할 디렉토리를 생성하고 해당 디렉토리의 소유권을 설정한다. 그리고 Nginx가 정상 동작하는지 확인하기 위해 설치시 함께 포함된 index.html을 홈 디렉토리로 복사한다.
1
2
3
4
mkdir -p /ncp/data/www # 디렉토리 생성
chown -R nginx:nginx /ncp/data/www # 파일권한 설정
cp /usr/share/nginx/html/index.html /ncp/data/www/index.html # index.html 이동
ls -al /ncp/data/www # 잘 복사됐는지 확인
방화벽 포트 개방
웹서버 포트 사용을 위한 방화벽 개방
1
2
3
firewall-cmd --permanent --zone=public --add-port=8080/tcp # 포트 개방
firewall-cmd --reload # 방화벽 재시작
firewall-cmd --list-ports # 개방된 포트 확인
http, https에 대한 포트 개방
1
2
firewall-cmd --permanent --zone=public --add-service=http # 80
firewall-cmd --permanent --zone=public --add-service=https # 443
firewall 설치가 안된 경우
1 2 3 yum install firewalld # 설치 systemctl start firewalld # 서비스 시작 systemctl enable firewalld # 부팅 시 서비스 자동 시작
CentOS에서 NginX 설치, 설정하는 방법 https://docs.3rdeyesys.com/compute/ncloud_compute_lemp_nginx_install_setting_centos_guide.html
[CentOS 7] CentOS 7 - NGINX 설치 방법 https://holjjack.tistory.com/114
Linux : CentOS 8 : Nginx 설치 방법, 예제, 명령어 https://jjeongil.tistory.com/1779