CentOS7 에 Nginx 설치
CentOS7 에 Nginx 설치 방법에 대해서 설명이다.
yum을 활용하여 쉽게 설치해 보자.
요약
- yum 외부 저장소 추가
- yum install
- 방화벽 포트 개방
- nginx 포트 설정
- nginx 데몬 실행
- 데몬 실행시 오류 발생 (오류 없으면 생략)
- 실행
1. yum 외부 저장소 추가
yum 저장소에는 nginx가 없기 때문에 외부저장소를 추가해야 한다.
vi /etc/yum.repos.d/nginx.repo |
/etc/yum.repos.d 경로에 nginx.repo 파일을 추가하고 내용은 다음과 같이 작성한다.
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 |
위 내용은 공식사이트에 있으며 OS가 다르다면 해당 OS에 맞게 수정해주면 됨.
CentOS7은 위와 같이 작성하면 됨.
2. yum install
yum install -y nginx |
yum install 명령어를 사용하여 nginx를 설치한다.
3. 방화벽 포트 개방
firewall-cmd –permanent –zone=public –add-port=8089/tcp firewall-cmd –reload firewall-cmd –list-ports |
차례대로 포트 개방, 방화벽 재시작, 개방된 포트 목록 확인이다.
필자는 8089번 포트를 개방하고 nginx에서 사용할 계획이다.
4. nginx 포트 설정
nginx 설정파일의 Listen의 포트 80을 8089로 변경한다.
vi /etc/nginx/conf.d/default.conf |
listen 80; -> listen 8089; |
5. nginx 데몬 실행
설치와 포트설정이 모두 끝났으므로 nginx 데몬을 실행한다.
systemctl start nginx systemctl enable nginx |
서버 부팅시 자동으로 nginx 서비스를 구동하기 위해서 systemctl enable 명령어를 실행한다.
필요없다면 생략 가능함.
6. 데몬 실행시 오류 발생 (오류 없으면 생략)
데몬 실행 시 다음과 같은 오류가 발생할 수 있다.
Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details. |
이럴땐 다음 명령어로 오류의 상세 정보를 확인한다.
journalctl -xe |
오류 상세 정보
— Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has finished shutting down. 10월 21 11:20:00 192.168.nate.com polkitd[687]: Unregistered Authentication Agent for unix-process:11231:22076 (system bus name :1.33, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) (disconnected from bus) 10월 21 11:23:43 192.168.nate.com polkitd[687]: Registered Authentication Agent for unix-process:11256:44452 (system bus name :1.35 [/usr/bin/pkttyagent –notify-fd 5 –fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) 10월 21 11:23:43 192.168.nate.com systemd[1]: Starting nginx – high performance web server… — Subject: Unit nginx.service has begun start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has begun starting up. 10월 21 11:23:43 192.168.nate.com systemd[1]: PID file /var/run/nginx.pid not readable (yet?) after start. 10월 21 11:23:43 192.168.nate.com systemd[1]: Started nginx – high performance web server. — Subject: Unit nginx.service has finished start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has finished starting up. — — The start-up result is done. 10월 21 11:23:43 192.168.nate.com polkitd[687]: Unregistered Authentication Agent for unix-process:11256:44452 (system bus name :1.35, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) (disconnected from bus) 10월 21 11:23:49 192.168.nate.com polkitd[687]: Registered Authentication Agent for unix-process:11265:44983 (system bus name :1.36 [/usr/bin/pkttyagent –notify-fd 5 –fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) 10월 21 11:23:49 192.168.nate.com systemd[1]: Stopping nginx – high performance web server… — Subject: Unit nginx.service has begun shutting down — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has begun shutting down. 10월 21 11:23:49 192.168.nate.com systemd[1]: Stopped nginx – high performance web server. — Subject: Unit nginx.service has finished shutting down — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has finished shutting down. 10월 21 11:23:49 192.168.nate.com polkitd[687]: Unregistered Authentication Agent for unix-process:11265:44983 (system bus name :1.36, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) (disconnected from bus) 10월 21 11:24:01 192.168.nate.com polkitd[687]: Registered Authentication Agent for unix-process:11276:46211 (system bus name :1.37 [/usr/bin/pkttyagent –notify-fd 5 –fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) 10월 21 11:24:01 192.168.nate.com systemd[1]: Starting nginx – high performance web server… — Subject: Unit nginx.service has begun start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has begun starting up. 10월 21 11:24:01 192.168.nate.com nginx[11282]: nginx: [emerg] bind() to 0.0.0.0:8089 failed (13: Permission denied) 10월 21 11:24:01 192.168.nate.com systemd[1]: nginx.service: control process exited, code=exited status=1 10월 21 11:24:01 192.168.nate.com systemd[1]: Failed to start nginx – high performance web server. — Subject: Unit nginx.service has failed — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit nginx.service has failed. — — The result is failed. 10월 21 11:24:01 192.168.nate.com systemd[1]: Unit nginx.service entered failed state. 10월 21 11:24:01 192.168.nate.com systemd[1]: nginx.service failed. 10월 21 11:24:01 192.168.nate.com polkitd[687]: Unregistered Authentication Agent for unix-process:11276:46211 (system bus name :1.37, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ko_KR.UTF-8) (disconnected from bus) |
8089포트가 권한이 없다고 하는 내용인데 SElinux 사용 시 포트 등록이 안되어 있어서 발생하는 오류이다.
semanage로 포트를 등록해 주자.
semanage port -a -t http_port_t -p tcp 8089 |
포트를 등록했으면 다시 nginx 데몬을 실행한다.
systemctl start nginx systemctl enable nginx |
7. 실행
정상적으로 위 페이지가 출력되면 설치 완료
※이 포스팅이 문제될 시 삭제 처리 하겠습니다.
댓글 없음:
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.