"Nginx"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
잔글
2번째 줄: 2번째 줄:
  
 
*홈페이지 : [http://www.nginx.net/ http://www.nginx.net/]
 
*홈페이지 : [http://www.nginx.net/ http://www.nginx.net/]
*다운로드 : http://wiki.nginx.org/Install
+
**매뉴얼 : http://nginx.org/en/docs/
 +
*다운로드 : [http://wiki.nginx.org/Install http://wiki.nginx.org/Install]
 
*라이선스 :
 
*라이선스 :
 
*플랫폼 : C
 
*플랫폼 : C
100번째 줄: 101번째 줄:
  
 
== Nginx 환경 설정 ==
 
== Nginx 환경 설정 ==
 
 
  
 
=== Mediawiki Rewrite Rule 적용 ===
 
=== Mediawiki Rewrite Rule 적용 ===
 
 
  
 
Mediawiki를 사용할 때 URL rewrite 기능을 사용하면 편리한 점이 많습니다. 우선 긴 URL을 의미 있는 간단한 URL로 변경할 수 있고 폴더의 위치와 URL을 동일하게 유지할 필요도 없습니다.
 
Mediawiki를 사용할 때 URL rewrite 기능을 사용하면 편리한 점이 많습니다. 우선 긴 URL을 의미 있는 간단한 URL로 변경할 수 있고 폴더의 위치와 URL을 동일하게 유지할 필요도 없습니다.
118번째 줄: 115번째 줄:
 
<ul style="list-style-type: square;">
 
<ul style="list-style-type: square;">
 
<li>Nginx 사용 중</li>
 
<li>Nginx 사용 중</li>
<li>DOCUMENT_ROOT :&nbsp;/cloudnas/www/jopenbusiness/public_html/</li>
+
<li>DOCUMENT_ROOT&nbsp;:&nbsp;/cloudnas/www/jopenbusiness/public_html/</li>
<li>Mediawiki가 설치된 폴더 :&nbsp;/cloudnas/www/jopenbusiness/public_html/mediawiki/</li>
+
<li>Mediawiki가 설치된 폴더&nbsp;:&nbsp;/cloudnas/www/jopenbusiness/public_html/mediawiki/</li>
 
</ul>
 
</ul>
  
126번째 줄: 123번째 줄:
 
요구 사항
 
요구 사항
 
<ul style="list-style-type: square;">
 
<ul style="list-style-type: square;">
<li>URL Rewrite 전 :&nbsp;http://www.jopenbusiness.com/'''<span style="color: #008000;">mediawiki/index.php?title=SuiteCRM</span>'''</li>
+
<li>URL Rewrite 전&nbsp;:&nbsp;[http://www.jopenbusiness.com/ http://www.jopenbusiness.com/]'''<span style="color: #008000;">mediawiki/index.php?title=SuiteCRM</span>'''</li>
<li>URL Rewrite 후 :&nbsp;http://www.jopenbusiness.com/<span style="color: #008000;">'''mediawiki/SuiteCRM'''</span></li>
+
<li>URL Rewrite 후&nbsp;:&nbsp;[http://www.jopenbusiness.com/ http://www.jopenbusiness.com/]<span style="color: #008000;">'''mediawiki/SuiteCRM'''</span></li>
 
</ul>
 
</ul>
  
158번째 줄: 155번째 줄:
 
<span style="font-size:larger;">참고 사이트</span>
 
<span style="font-size:larger;">참고 사이트</span>
 
<ul style="list-style-type: square;">
 
<ul style="list-style-type: square;">
<li>https://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access</li>
+
<li>[https://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access https://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access]</li>
<li>https://www.mediawiki.org/wiki/Manual:Short_URL/Apache</li>
+
<li>[https://www.mediawiki.org/wiki/Manual:Short_URL/Apache https://www.mediawiki.org/wiki/Manual:Short_URL/Apache]</li>
 
</ul>
 
</ul>
  

2018년 2월 20일 (화) 18:01 판

비동기 이벤트 기반의 Web Server인 nginx를 정리 합니다.

nginx 개요

Nginx 설치

CentOS 6.5에 nginx 설치

Nginx 저장소 생성

vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1


Nginx 설치

yum install nginx


Nginx 설정 파일

  • /etc/nginx/ : 설정 파일 폴더
    • nginx.conf
    • conf.d/
  • /var/log/nginx/ : 로그 폴더
    • access.log
    • error.log
  • /usr/share/nginx/html/ : Document Root 폴더


기본 설정

vi /etc/nginx/nginx.conf

worker_processes 1;                #--- core 수만큼 지정

gzip on;


vi /etc/nginx/conf.d/default.conf

server_name  ossnode101.ossbiz.co.kr;


방화벽 설정 및 서비스 기동

setup                                 #--- 방화벽에서 80/tcp port를 오픈 합니다.

service nginx restart


브라우저에서 http://ossnode101.ossbiz.co.kr:80/ 으로 접속 합니다.

File:Nginx init.png

Windows에 nginx 설치

다운로드 사이트에서 nginx-1.7.10.zip 파일을 다운로드 합니다.
c:/appl/nginx/ 폴더에 압축을 해제 합니다.

nodepad /etc/nginx/nginx.conf
    worker_processes 1;                #--- core 수만큼 지정
    gzip on;

# nginx -s [ stop | quit | reopen | reload ]
start nginx

http://localhost/ 로 접속하여 확인 합니다.

Nginx 환경 설정

Mediawiki Rewrite Rule 적용

Mediawiki를 사용할 때 URL rewrite 기능을 사용하면 편리한 점이 많습니다. 우선 긴 URL을 의미 있는 간단한 URL로 변경할 수 있고 폴더의 위치와 URL을 동일하게 유지할 필요도 없습니다.

 

서버 환경과 요구 사항

 

서버 환경

  • Nginx 사용 중
  • DOCUMENT_ROOT : /cloudnas/www/jopenbusiness/public_html/
  • Mediawiki가 설치된 폴더 : /cloudnas/www/jopenbusiness/public_html/mediawiki/

 

요구 사항

 

URL Rewrite 설정

 

vi  /etc/nginx/sites-available/jopenbusiness.conf

  location / {
rewrite    ^/mediawiki([^?]*)(?:\?(.*))?    /mediawiki/index.php?title=$1&$2 last;
index index.html index.htm index.php;
}

 

vi  /cloudnas/www/jopenbusiness/public_html/mediawiki/LocalSettings.php

  $wgScriptPath = "/mediawiki";                                   #--- Mediawiki가 설치된 폴더
$wgArticlePath = "/mediawiki/$1";                           #--- URL 호출 방법
$wgUsePathInfo = true;

 

참고 사이트

 

 

PHP 사용 설정

PHP를 설치 합니다.

yum install php php-*

mkdir /var/lib/php/upload
chown apache:apache /var/lib/php/upload


vi /etc/php.ini

[PHP]
cgi.fix_pathinfo = 0
upload_tmp_dir = "/var/lib/php/upload"
upload_max_filesize = 10M
post_max_size = 10M

[Date]
date.timezone = Asia/Seoul

[Session]
session.save_path = "/var/lib/php/session"

PHP-FPM (FastCGI Process Manager) 서비스를 실행 합니다

service php-fpm restart


Site를 설정 합니다.

mkdir -p /nas/www/ossnode101/public_html
mkdir -p /nas/www/ossnode101/logs
chown -R apache:apache /srv/www/ossnode101

mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled

cp /usr/share/nginx/html/* /nas/www/ossnode101/public_html


vi /etc/nginx/nginx.conf

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;               #--- 이 라인을 추가 합니다.


vi /etc/nginx/conf.d/default.conf

   server_name  nouse.ossbiz.co.kr;


vi /etc/nginx/sites-available/ossnode101.conf

server {
    server_name ossnode101.ossbiz.co.kr;
    access_log /nas/www/ossnode101/logs/access.log;
    error_log /nas/www/ossnode101/logs/error.log;
    root /nas/www/ossnode101/public_html;

    location / {
        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /nas/www/ossnode/public_html$fastcgi_script_name;
    }
}


sites-enabled에 ossnode101.conf를 추가 합니다.

    ln -s /etc/nginx/sites-available/ossnode101.conf /etc/nginx/sites-enabled/ossnode101.conf


vi /nas/www/ossnode101/public_html/phpinfo.php

<?php
  phpinfo();

?>


nginx를 재기동 합니다.

service php-fpm restart

 service nginx restart

브라우저에서 http://ossnode101.ossbiz.co.kr:80/phpinfo.php 으로 접속 합니다.

Tomcat 6 설정

Apache Tomcat 설치

 yum install tomcat6 tomcat6-*

cp /usr/share/tomcat6/webapps/ROOT/*.gif /nas/www/ossnode101/public_html
cp /usr/share/tomcat6/webapps/ROOT/*.svg /nas/www/ossnode101/public_html
cp /usr/share/tomcat6/webapps/ROOT/*.ico /nas/www/ossnode101/public_html


vi /etc/nginx/sites-available/ossnode101.conf   #--- 아래 항목을 추가 합니다.

    location ~ \.do$ {
      proxy_pass              http://localhost:8080;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        Host $http_host;
    }
    location ~ \.jsp$ {
      proxy_pass              http://localhost:8080;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        Host $http_host;
    }
    location ^~/servlets/* {
      proxy_pass              http://localhost:8080;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        Host $http_host;
    }


방화벽 설정 및 서비스 기동

setup                                 #--- 방화벽에서 8080/tcp port를 오픈 합니다.

service tomcat6 restart


http://ossnode101.ossbiz.co.kr/index.jsp 사이트로 접속하여 Tomcat 화면을 표시해 봅니다.

Nginx에 UTF-8 설정


관리자 가이드

업로드 파일 크기 변경

vi /etc/php.ini

post_max_size = 10M
upload_max_filesize = 10M


vi /etc/nginx/sites-available/jopenbusiness.conf

client_max_body_size 10M;                  #--- server, location, http 내에 설정할 수 있습니다.

참고 문헌