Nginx 문서 원본 보기
←
Nginx
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
비동기 이벤트 기반의 Web Server인 nginx를 정리 합니다. *홈페이지 : [http://www.nginx.net/ http://www.nginx.net/] **매뉴얼 : http://nginx.org/en/docs/ *다운로드 : [http://wiki.nginx.org/Install http://wiki.nginx.org/Install] *라이선스 : *플랫폼 : C == nginx 개요 == == Nginx 설치 == === CentOS 6.5에 nginx 설치 === '''<span style="color:#0000FF;"><span style="font-size:larger;">Nginx 저장소 생성</span></span>''' vi /etc/yum.repos.d/nginx.repo {| cellspacing="1" cellpadding="1" style="width: 100%;" |- | style="background-color: rgb(241, 241, 241);" | [nginx]<br/>name=nginx repo<br/>baseurl=[http://nginx.org/packages/centos/$releasever/$basearch/ http://nginx.org/packages/centos/$releasever/$basearch/]<br/>gpgcheck=0<br/>enabled=1<br/> |} <span style="color:#0000FF;"><span style="font-size:larger;">'''Nginx 설치'''</span></span> {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; width: 100%;" |- | style="background-color: rgb(241, 241, 241);" | yum install nginx |} <span style="font-size:larger;"><span style="color:#0000FF;">'''Nginx 설정 파일'''</span></span> */etc/nginx/ : 설정 파일 폴더 **nginx.conf **conf.d/ */var/log/nginx/ : 로그 폴더 **access.log **error.log */usr/share/nginx/html/ : Document Root 폴더 <span style="color:#0000FF;"><span style="font-size:larger;">'''기본 설정'''</span></span> vi /etc/nginx/nginx.conf {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | worker_processes 1; #--- core 수만큼 지정 gzip on; |} vi /etc/nginx/conf.d/default.conf {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | server_name ossnode101.ossbiz.co.kr; |} <span style="color:#0000FF;"><span style="font-size:larger;">'''방화벽 설정 및 서비스 기동'''</span></span> {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | setup #--- 방화벽에서 80/tcp port를 오픈 합니다. service nginx restart |} 브라우저에서 [http://ossnode101.ossbiz.co.kr:80/ http://ossnode101.ossbiz.co.kr:80/] 으로 접속 합니다. [[File:Nginx init.png|File:Nginx init.png]] === Windows에 nginx 설치 === [http://nginx.org/en/download.html 다운로드 사이트]에서 nginx-1.7.10.zip 파일을 다운로드 합니다.<br/>c:/appl/nginx/ 폴더에 압축을 해제 합니다. nodepad /etc/nginx/nginx.conf<br/> worker_processes 1; #--- core 수만큼 지정<br/> gzip on; <span style="line-height: 20.7999992370605px;"># nginx -s [ stop | quit | reopen | reload ]</span><br/>start nginx [http://localhost/ http://localhost/] 로 접속하여 확인 합니다. == Nginx 환경 설정 == === Rewrite 사용법 === rewrite 문법은 아래와 같이 단순 합니다. 문법 : rewrite 정규표현식 대체문자열 [flag] flag <ul style="box-sizing: border-box; margin: 0px 0px 20px 7px; padding-right: 0px; padding-left: 0px; border: 0px rgb(225, 225, 225); font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: Arial, Helvetica, Verdana, sans-serif; vertical-align: baseline; list-style: square outside; color: rgb(102, 102, 102);"> <li>last : Rewrite 실행을 종료하고 변경된 URI로 다시 처리를 시작 합니다.</li> <li>break : Rewrite 처리를 종료 합니다. rewrite가 무한 반복 실행되는 것을 방지 합니다.</li> <li>redirect : 302 temporary redirect 처리를 합니다.</li> <li>permanent : 301 permanent redirect 처리를 합니다.</li> </ul> 요청된 parameter는 rewrite 처리후에 변경된 URI 뒤에 자동으로 붙습니다. === Mediawiki Rewrite Rule 적용 === Mediawiki를 사용할 때 URL rewrite 기능을 사용하면 편리한 점이 많습니다. 우선 긴 URL을 의미 있는 간단한 URL로 변경할 수 있고 폴더의 위치와 URL을 동일하게 유지할 필요도 없습니다. <span style="font-size:larger;">서버 환경과 요구 사항</span> 서버 환경 <ul style="list-style-type: square;"> <li>Nginx 사용 중</li> <li>DOCUMENT_ROOT : /cloudnas/www/jopenbusiness/public_html/</li> <li>Mediawiki가 설치된 폴더 : /cloudnas/www/jopenbusiness/public_html/mediawiki/</li> </ul> 요구 사항 <ul style="list-style-type: square;"> <li>URL Rewrite 전 : [http://www.jopenbusiness.com/ http://www.jopenbusiness.com/]'''<span style="color: #008000;">mediawiki/index.php?title=SuiteCRM</span>'''</li> <li>URL Rewrite 후 : [http://www.jopenbusiness.com/ http://www.jopenbusiness.com/]<span style="color: #008000;">'''mediawiki/SuiteCRM'''</span></li> </ul> <span style="font-size:larger;">URL Rewrite 설정</span> vi /etc/nginx/sites-available/jopenbusiness.conf {| style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;" |- | style="width: 10px; margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px; font-size: 8px; line-height: normal; color: black; background-color: gray; vertical-align: middle;" | | style="margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-size: 14px; line-height: normal; color: black; vertical-align: middle;" | location / {<br/>'''<span style="color: #008000;">rewrite ^/mediawiki([^?]*)(?:\?(.*))? /mediawiki/index.php?title=$1&$2 last;</span>'''<br/>index index.html index.htm index.php;<br/>} |} vi /cloudnas/www/jopenbusiness/public_html/mediawiki/LocalSettings.php {| style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;" |- | style="width: 10px; margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px; font-size: 8px; line-height: normal; color: black; background-color: gray; vertical-align: middle;" | | style="margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-size: 14px; line-height: normal; color: black; vertical-align: middle;" | $wgScriptPath = "/mediawiki"; #--- Mediawiki가 설치된 폴더<br/><span style="color: #008000;">$wgArticlePath = "/mediawiki/$1"; <span style="color: #000000;">#--- URL 호출 방법</span></span><br/><span style="color: #008000;">$wgUsePathInfo = true;</span> |} <span style="font-size:larger;">참고 사이트</span> <ul style="list-style-type: square;"> <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 https://www.mediawiki.org/wiki/Manual:Short_URL/Apache]</li> </ul> == PHP 사용 설정 == [[PHP 5.2.5|PHP]]를 설치 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | yum install php php-* mkdir /<span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.5px; background-color: rgb(241, 241, 241);">var/lib/php/upload<br/>chown apache:apache /var/lib/php/upload</span> |} vi /etc/php.ini {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | [PHP]<br/>cgi.fix_pathinfo = 0<br/>upload_tmp_dir = <span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 20.8px; background-color: rgb(241, 241, 241);">"/var/lib/php/upload"</span><br/>upload_max_filesize = 10M<br/>post_max_size = 10M<br/><br/>[Date]<br/>date.timezone = Asia/Seoul<br/><br/>[Session]<br/>session.save_path = "/var/lib/php/session" |} PHP-FPM (FastCGI Process Manager) 서비스를 실행 합니다 {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | service php-fpm restart |} Site를 설정 합니다. {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | mkdir -p /nas/www/ossnode101/public_html<br/>mkdir -p /nas/www/ossnode101/logs<br/>chown -R apache:apache /srv/www/ossnode101 mkdir /etc/nginx/sites-available<br/>mkdir /etc/nginx/sites-enabled cp /usr/share/nginx/html/* /nas/www/ossnode101/public_html |} vi /etc/nginx/nginx.conf {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | include /etc/nginx/conf.d/*.conf;<br/> include /etc/nginx/sites-enabled/*.conf; #--- 이 라인을 추가 합니다. |} vi /etc/nginx/conf.d/default.conf {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | server_name nouse.ossbiz.co.kr; |} vi /etc/nginx/sites-available/ossnode101.conf {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | server {<br/> server_name ossnode101.ossbiz.co.kr;<br/> access_log /nas/www/ossnode101/logs/access.log;<br/> error_log /nas/www/ossnode101/logs/error.log;<br/> root /nas/www/ossnode101/public_html; location / {<br/> index index.html index.htm index.php;<br/> } location ~ \.php$ {<br/> try_files $uri =404;<br/> include /etc/nginx/fastcgi_params;<br/> fastcgi_pass 127.0.0.1:9000;<br/> fastcgi_index index.php;<br/> fastcgi_param SCRIPT_FILENAME /nas/www/ossnode/public_html$fastcgi_script_name;<br/> }<br/>} |} sites-enabled에 ossnode101.conf를 추가 합니다. {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | ln -s /etc/nginx/sites-available/<span style="line-height: 20.7999992370605px;">ossnode101.conf</span> /etc/nginx/sites-enabled/<span style="line-height: 20.7999992370605px;">ossnode101.conf</span> |} vi /nas/www/ossnode101/public_html/phpinfo.php {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | <?php<br/> phpinfo(); ?> |} nginx를 재기동 합니다. {| cellspacing="1" cellpadding="1" style="line-height: 20.7999992370605px; color: rgb(0, 0, 0); font-family: sans-serif; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | service php-fpm restart service nginx restart |} <span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px;">브라우저에서 </span>[http://ossnode101.ossbiz.co.kr:80/phpinfo.php http://ossnode101.ossbiz.co.kr:80/phpinfo.php]<span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px;"> 으로 접속 합니다.</span> == Tomcat 6 설정 == [[Apache Tomcat|Apache Tomcat]] 설치 {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | yum install tomcat6 tomcat6-* cp /usr/share/tomcat6/webapps/ROOT/*.gif /nas/www/ossnode101/public_html<br/>cp /usr/share/tomcat6/webapps/ROOT/*.svg /nas/www/ossnode101/public_html<br/>cp /usr/share/tomcat6/webapps/ROOT/*.ico /nas/www/ossnode101/public_html |} vi /etc/nginx/sites-available/ossnode101.conf #--- 아래 항목을 추가 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | location ~ \.do$ {<br/> proxy_pass [http://localhost:8080 http://localhost:8080];<br/> proxy_set_header X-Real-IP $remote_addr;<br/> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br/> proxy_set_header Host $http_host;<br/> }<br/> location ~ \.jsp$ {<br/> proxy_pass [http://localhost:8080 http://localhost:8080];<br/> proxy_set_header X-Real-IP $remote_addr;<br/> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br/> proxy_set_header Host $http_host;<br/> }<br/> location ^~/servlets/* {<br/> proxy_pass [http://localhost:8080 http://localhost:8080];<br/> proxy_set_header X-Real-IP $remote_addr;<br/> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br/> proxy_set_header Host $http_host;<br/> } |} <span style="color: rgb(0, 0, 255);"><span style="font-size: larger;">'''방화벽 설정 및 서비스 기동'''</span></span> {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | setup #--- 방화벽에서 8080/tcp port를 오픈 합니다. service tomcat6 restart |} [http://ossnode101.ossbiz.co.kr/index.jsp http://ossnode101.ossbiz.co.kr/index.jsp] 사이트로 접속하여 Tomcat 화면을 표시해 봅니다. == Nginx에 UTF-8 설정 == *[[문자셋과 인코딩#Nginx.EC.97.90.EC.84.9C UTF-8 .EC.84.A4.EC.A0.95|Nginx에 UTF-8 설정]] == 관리자 가이드 == === 업로드 파일 크기 변경 === vi /etc/php.ini {| cellspacing="1" cellpadding="1" style="font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | post_max_size = 10M<br/>upload_max_filesize = 10M |} vi /etc/nginx/sites-available/jopenbusiness.conf {| cellspacing="1" cellpadding="1" style="font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" |- | style="background-color: rgb(241, 241, 241);" | client_max_body_size 10M; #--- server, location, http 내에 설정할 수 있습니다. |} === Server를 domain에 연결 === server { listen 80; server_name docs.jopenbusiness.com docs.obcon.biz docs.obcon.co.kr; #--- domain과 연결 root /work/appl/obcon_scada/manual; charset UTF-8; location / { proxy_no_cache 1; proxy_pass http://127.0.0.1:4000; #--- 다른 서비스 호출 } } == 참고 문헌 == *[[Apache HTTP Server|Apache HTTP Server]] *[[Node.js|Node.js]] *[[Redis|Redis]] *[http://helloworld.naver.com/helloworld/192785 NGINX 모듈 제작하기, 2012.11] [[Category:Web Server|Category:Web Server]]
Nginx
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보