안그래보이지만 개발자/환경

NginX 리눅스에 컴파일 설치하기

자네트 2019. 7. 11. 16:10
반응형

카테고리를 웹으로 해야 하나 잠깐 고민했지만 설치 과정 자체는 서버컴퓨터에서 이루어지는데다 어쨌든 웹서버이므로 서버 카테고리를 새로 만들어 작성함.

나는 nginx를 잘 모르며 여기저기 검색하여 내 상황에 잘 맞게 설치했음을 알린다.

인터넷이 되지 않는 내부망/폐쇄망이므로
https://nginx.org/en/download.html 에서 압축파일을 받아 서버로 옮겼다.

stable과 mainline이 있는데 mainline 써도 무난하다 하여 mainline 1.17.1 버전을 다운받았다.
인터넷 되면 wget으로 잘 가져올 수 있는데 나는 그게 불가하여 직접 ftp로 업로드했다.

의존패키지는

PCRE, ZLIB, OPENSSL

이렇게 필요하다고 하는데, 내가 엔진엑스를 설치할 컴퓨터에는 이미 해당 패키지들이 설치되어 있어 추가적으로 가져오지는 않았다.

우선 압축을 푼다.

tar xvf nginx-1.17.1.tar.gz

압축파일과 같은 이름의 디렉토리가 만들어졌다.

CHANGES	CHANGES.ru	LICENSE	Makefile	README	auto/	conf/	configure*
contrib/	html/	man/	objs/	src/

압축파일 안에는 이런 파일이나 디렉토리가 있다.
전부 탭으로 구분한 건데 간격 왜 저렇게 엉망진창....

아무튼 여기서 컴파일 전에 설정을 해주었다.

./configure --prefix=/home/username/apps/nginx --with-http_ssl_module --with-http_stub_status_module

prefix는 nginx가 설치될 경로
실제로 저기로 안하고 각자 설치하고 싶은 경로를 쓰면 된다
suffix, log path 등 다양한 경로를 지정 가능한데 나는 다 기본값으로 사용
더 많은 옵션 정리는 여기 https://webdir.tistory.com/238
뒤에는 모듈인데 모듈에 관해서는 잘 몰라서 그냥 사람들이 쓰라는 걸로 썼다
내 환경에는 pcre, zlib, openssl이 이미 깔려 있기 때문에 설정이 간결한데
이게 깔려있지 않다면 따로 다운받아 옵션에 각 라이브러리 경로를 주어야 한다
뭐 난 안줬다
알아서 잘 찾더라

설정이 되었다면

make
.
.
.
make install

두 명령어를 순서대로 치면 prefix에 적은 경로에 nginx가 예쁘게 설치되어 있다

디렉토리 내용은 다음과 같다

client_body_temp/ conf/ fastcgi_temp/ html/ logs/ proxy_temp/ sbin/ scgi_temp/ uwsgi_temp/

이 중에서 엔진엑스를 켜...기 전에
권한 설정을 하자

cd sbin

sbin 디렉토리로 들어왔다
nginx 덩그러니 하나 있는 것이 보일 것이다
chown 명령어로 실행 권한을 주도록 한다

주고나서 sbin/ 아래의 nginx를 실행시키면 끝이다
검색해보니 setuid 옵션을 주던데 이건 좀 더 공부해봐야 할듯

해당 서버 아이피:80 포트로 접속하니 엔진엑스 기본 사이트가 잘 뜬다.

뭐 대충 이렇게 생긴 게 뜬다.
나는 스크린샷을 가져올 수가 없어서 구글링해서 가져왔다.

다음엔 프록시 설정을 해보자. 끝.

아참

끄는 방법은

nginx -s stop

이러면 꺼진다.

반응형