nPlayer용으로 nginx 설정하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

nPlayer용으로 nginx 설정하기 정보

nPlayer용으로 nginx 설정하기

첨부파일

nginx-dav-ext-module-master.zip (6.5K) 16회 다운로드 2013-11-05 11:17:45

본문

그럼 본격적인 강좌 들어갈게요







기존에 nginx(엔진엑스)를 설치하신 분들은







1 nginx -V




를 쳐서 엔진엑스의 설치 환경을 봅니다...




길게 나열된 부분에서 --with-http_dav_module부분이 보일겁니다... 팩맨으로 설치한 패키지에선 dav는 기본적으로 지원은합니다만!

어디에도 ext_module부분은 보이지 않습니다...




설치가 되어있는 분들은 삭제를 합니다.







1 nginx -R nginx







확장모듈을 포함해서 개별적으로 설치할려면 아래 3개가 필요합니다.




1. nignx 소스 파일  http://nginx.org/en/download.html

2. 확장모듈 파일    다운로드

3. 컴파일에 필요한 패키지  gcc 와 make







다운 받는건 pc에서 받아 ftp나 samba를 통해 포고로 이동시켜도 되고

wget으로 직접 다운받아도 됩니다.




현재 엔진엑스 최신버전은 1.4.1이고, 개발자버전은 1.5.0입니다.

둘중에 선호하는거 설치하시면 됩니다.




직접 받으시려면







1 wget http://nginx.org/download/nginx-1.4.1.tar.gz







확장모듈은







1 wget https://github.com/arut/nginx-dav-ext-module/archive/master.zip







다운받은 폴더로 가서







1 tar -xzvf nginx-1.4.1.tar.gz




압축해제합니다.




확장모듈 파일역시 압축해제 합니다.




모듈파일 2개를 (ngx_http_dav_ext_module.c와 config) 폴더 하나에 넣어둡니다.







그리고 컴파일과 설치에 필요한 패키지를 설치합니다.







1 pacman -S gcc make







모든 준비는 끝났고, 컴파일과 설치에 들어가겠습니다.







컴파일옵션은 엔진엑스를 패키지 설치했을때의 옵션 그대로 넣겠습니다.




엔진엑스 소스파일을 풀어둔 폴더에 들어가서







1 ./configure --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=http --group=http --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/client-body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-imap --with-imap_ssl_module --with-ipv6 --with-pcre-jit --with-file-aio --with-http_dav_module --add-module=확장모듈이 있는 폴더 --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_realip_module --with-http_spdy_module --with-http_ssl_module --with-http_stub_status_module




이렇게 넣어줍니다.




긴 컴파일이 끝나면




설치해주면 됩니다







1 make && make install







이제 남은일은 설정과, 시스템 서비스에 등록하는겁니다.

 

먼저 시스템 서비스에 등록하겠습니다. 편리한 실행을 위해!

이부분은 systemd가 적용된 시스템에 해당하는 내용입니다.

 

시작종료명령어









 






 







1 nano /usr/lib/systemd/system/nginx.service








01 [Unit]


02 Description=A high performance web server and a reverse proxy server


03 After=syslog.target network.target


04 


05 [Service]


06 Type=forking


07 PIDFile=/run/nginx.pid


08 ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;'


09 ExecStart=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;'


10 ExecReload=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload


11 ExecStop=/usr/sbin/nginx -g 'pid /run/nginx.pid;' -s quit


12 


13 [Install]


14 WantedBy=multi-user.target




복붙 한 뒤 ctrl+x로 저장후 나옵니다.
위 내용은 패키지 설치시 등록되는 서비스 내용 그대로입니다..




그래서 컴파일 옵션도 똑같이 했던거구요.. 다르게 하고 싶으시다면 컴파일 옵션에서 각종 경로 수정 후 서비스에더 경로를 수정하면 됩니다.







이제 설정파일을 수정할 차례입니다.







1 nano /etc/nginx/nginx.conf




합니다.







열면 뭔가 길게 적힌게 나올겁니다...





처음부터 보면




01 #user nobody;                  # 권한 관련 부분입니다. 뒤에 설명 하겠습니다


02 worker_processes  1;        # 동시 접속자 설정(worker_processes*work_processes)


03 


04 #error_log  logs/error.log;


05 #error_log  logs/error.log  notice;


06 #error_log  logs/error.log  info;


07 


08 #pid        logs/nginx.pid;


09 


10 events {                                # 동시 접속자


11    worker_connections  10;    # worker_processes*work_processes 만큼 접속가능


12 }


13 


14 http {


15    include      mime.types;


16    default_type  application/octet-stream;




조금 더 내려서 아래와 같은 부분이 있을겁니다.




35 server {


36    listen      80;        # 서비스 포트


37    server_name  localhost;


38 


39    charset utf-8;            # 한글 폴더명 파일명 깨지는 문제 처리


40 


41    #access_log  logs/host.access.log  main;


42 


43    location / {


44        root /usr/share/nginx/html;


45        index  index.html index.htm;


46    }


47 


48    location /webdav {    # 접속하고 싶은 뒷부분 주소


49        autoindex on;


50        alias /home/webdav/torrent;            # 공유하고 싶은 위치


51        auth_basic "Restricted Access";


52        auth_basic_user_file /etc/nginx/security/.htpasswd;    # 비번 저장 위치


53        client_body_temp_path /tmp/nginx/webdav;        # 임시파일 저장 위치


54        dav_methods PUT DELETE MKCOL COPY MOVE;    # 기본모듈 옵션


55        dav_ext_methods PROPFIND OPTIONS;        # 확장모듈 옵션


56        create_full_put_path  on;


57        dav_access user:rw group:rw  all:r;        # 권한에 대한 내용


58    }

주소, 공유위치, 임시저장파일 위치만 빼고 똑같이 적으시면 될겁니다.
 

비밀번호 파일 설정은





1 echo "계정:$(openssl passwd -crypt 비밀번호)" >> /etc/nginx/security/.htpasswd 

 

하면됩니다.

 

계정은 리눅스 로컬계정과 아무런 관련이 없습니다.




권한부분에서 현재 설정은 유저 읽기쓰기, 그룹 읽기쓰기, other 읽기만 가능하도록 되어있습니다.




접기


엔진엑스나 아파치나 다른 웹서버 프로그램들도 마찬가지로...

파일에 대한 권한을 가지는 소유주는 웹서버 프로세서가 됩니다.




실제로 기본설정으로 nginx를 실행시켜보면




1 ps -ef | grep 'nginx: worker process'
혹은



1 htop
로 들여다보면 nginx worker process가 http로 실행되어 있을겁니다



일반적으로 ftp나 samba에서 수정가능한 계정으로 공유하려는 파일이 소유되어있을겁니다..

따라서 nginx에서도 수정을 해줘야 합니다.





설정부분 첫부분에 보면




user 부분이 있습니다.







1 user 계정명 그룹명;

이렇게 설정하면 됩니다.
 

어차피 nPlayer에서는 읽기만 되면 되는거라 상관은 없습니다.

 

현재 nginx webdav는 윈도우나 맥에서 쓰기에 관련된 호환성 버그같은게 있는거 같고,

리눅스에서 탐색기로 접속했을 경우 쓰기가 가능하나 이 역시 버그가 조금씩 있는거 같습니다.

접기




이제 모든 설정이 끝나고 구동하면 됩니다.







1 systemctl start nginx


부팅시 자동실행은

 




1 systemctl enable nginx 


이제 남은 부분은 공유기 포트포워딩 정도겠네요^^
추천
0
  • 복사

댓글 3개

© SIRSOFT
현재 페이지 제일 처음으로