본문으로 바로가기

728x90

CentOS 7에 NginX를 설치하는 방법을 정리합니다.

 

1. yum 외부 저장소 추가

yum 저장소에는 기본적으로 nginx가 없습니다. 따라서 수동으로 저장소를 설정해주어야 합니다.

/etc/yum.repo.d/에 nginx.repo 파일을 신규로 생성합니다.

[root@localhost ~]# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

운영체제가 맞지 않으면 적절하게 수정합니다.

 

2. yum install

yum install 명령을 수행하여 nginx를 설치합니다.

[root@localhost ~]# yum install nginx -y

 

3. 방화벽 포트 열기

firewall-cmd 명령을 사용하여 방화벽 포트를 추가합니다.

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=8090/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-ports
8090/tcp

 

4. NginX 포트 설정

기본포트 80을 8090으로 변경합니다.

[root@localhost ~]# vi /etc/nginx/conf.d/default.conf
server {
    listen       8090;
    # listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

 

5. 서비스 등록

systemctl 명령을 사용하여 서비스에 등록합니다.

[root@localhost ~]# systemctl enable nginx

[root@localhost ~]# systemctl start nginx

 

5. 오류 수정

nginx: bind() to 0.0.0.0:8090 failed (13: Permission denied)

semanage 명령을 사용하여 권한을 추가합니다.

[root@localhost ~]# semanage port -a -t http_port_t  -p tcp 8090

[root@localhost ~]# semanage port -l | grep http_port_t
http_port_t                    tcp      8090, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988

 

semanage 명령을 찾을 수 없다면 yum으로 설치합니다.

[root@localhost ~]# semanage
-bash: semanage: command not found

[root@localhost ~]# yum install policycoreutils-python -y

 

6. 접속확인

http://192.168.0.xxx:8090 로 접속하여 정상적인 구동을 확인합니다.

NginX 실행 기본 화면

 

 

 

참고자료

 

728x90