nginxè¨å®ã¡ã¢
å¿ããªãããã«ã¡ã¢ã
ããã¥ã¡ã³ã
- å ¬å¼ãµã¤ãï¼http://nginx.org/
- wikiï¼http://wiki.nginx.org/
å ¬å¼ã®ãµã¤ãããwikiã®æ¹ãå å®ãã¦ãã®ã§wikiãåèã«ããã
èªåã®ç°å¢
- OSã¯Ubuntu10.04ã
- ãã¡ã¤ã³ã¯ http://www.oh24.net/ ãåã£ããã¾ã ç¹ã«ä½ããªãã
- nginxã¯ãsudo aptitude install nginxãã§ã¤ã³ã¹ãã¼ã«ããã
$ nginx -V
ã§ãconfigure optionsã¨ãè²ã è¦ããããèªåã®æã®ã¯ãããªæãã ã£ãã(è¦ãããããã«æ¹è¡ããã)
nginx version: nginx/0.7.65 TLS SNI support enabled configure arguments: --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-http_gzip_static_module --with-http_realip_module --with-mail --with-mail_ssl_module --with-ipv6 --add-module=/build/buildd/nginx-0.7.65/modules/nginx-upstream-fair
/etc/nginx/nginx.confãè¦ãã¦ã¿ã
user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
nginxã¯ãmaster processã¨worker processã¨ãã2ã¤ã®ããã»ã¹ã§åãã¦ãããmasterã¯root権éã§å®è¡ããã¦ãããã ãã©ãworkerã®æ¹ã¯www-dataã¨ããã¦ã¼ã¶ã§å®è¡ããã¦ããããuser www-data;ãã¯ãworkerãå®è¡ããã¦ã¼ã¶ãæå®ãã¦ããã£ã½ãããããå¤ãããå®è¡ãããã¦ã¼ã¶ãå¤ããã¨æããã ãã©ç¹ã«å¿
è¦ãªãã®ã§è©¦ãã¦ãªãã
ãworker_processes 1;ãã¯worker processã®æ°ãæå®ãã¦ããããã®å ´åã¯worker processã¯1ã¤ã
ãerror_log /var/log/nginx/error.log;ãã¯æåéãã¨ã©ã¼ãã°ãä¿åããã¦ãããèªåã®æã ã¨ãfavicon.icoãrobots.txtãç½®ãã¦ããªãã®ã§ããããç¡ãã¨ããã¨ã©ã¼ãåºã¦ããããã®/var/log/nginx/ãã£ã¬ã¯ããªã«ã¯ä»ã«ãaccess.logã¨localhost.access.logã¨ãããã¡ã¤ã«ãããã
ãpid /var/run/nginx.pid;ãã«ã¯nginxã®ããã»ã¹IDãããããã®ãã¡ã¤ã«ãcatããã¨nginxããã»ã¹ã®PIDãåããã
ãevents { ... }ãã«ã¤ãã¦ã¯ http://wiki.nginx.org/EventsModule ã«è©³ããæ¸ããã¦ããããã®ä¸ã«ã¯EventsModuleã®ãã£ã¬ã¯ãã£ããæ¸ãæ¨¡æ§ã
ããã§ã¯ãworker_connections 1024;ãã¨ã ãè¨å®ããã¦ãããmax_clients = worker_processes * worker_connectionsã¨æ¸ããã¦ããã ãã©max_clientsãä½ãæãã¦ããã®ãã¯ããåãã£ã¦ãªããå¤ååæã«æ¥ç¶ã§ããã¯ã©ã¤ã¢ã³ãæ°ã ã¨æããã©ã
ãhttp { ... }ãã«ã¤ãã¦ã¯ http://wiki.nginx.org/Modules ã® Standard HTTP Modulesãè¦ãã¨ããåãããããã¤ãã®ã¢ã¸ã¥ã¼ã«ã«åå²ããã¦ãã¦ãããããã³ã³ãã¤ã«æã®ãªãã·ã§ã³ã§ç¡å¹ã«ãããã§ããã£ã½ãã
ãinclude /etc/nginx/mime.types;ãã®includeã¯æåéããã¡ã¤ã«ãèªã¿è¾¼ãæ©è½ãããã§ã¯/etc/nginx/mime.typesã¨ãããã¡ã¤ã«ãèªã¿è¾¼ãã§ããããã®ãã¡ã¤ã«ã¯ http://wiki.nginx.org/FullExample#mime_types ã®ãµã³ãã«ã®ããã«æ¡å¼µåã¨MIMEã¿ã¤ãã対å¿ä»ãã¦ããã
ãaccess_log /var/log/nginx/access.log;ãã¯ã¢ã¯ã»ã¹ãã°ã®ãã¡ã¤ã«ãæå®ãã¦ããã
ãsendfile on;ãã¯"Directive activate or deactivate the usage of sendfile()."ã¨æ¸ãã¦ãããã ãã©ããåãããªãããã®sendfile()ã¯man 2 sendfileã§åºã¦ããsendfile颿°ã®ãã¨ã ã¨æããã©ã
ãkeepalive_timeout 65;ãã¯keep-aliveã®å¤ãè¨å®ãã¦ããããã®å ´åã¯65ã
ãtcp_nodelay on;ãã¯TCP_NODELAYã®è¨å®ããããã ãã©ããããTCP_NODELAYãä½ãªã®ãåãããªãã http://wiki.nginx.org/ReadMoreAboutTcpNodelay ã«èª¬æãæ¸ãã¦ããã
ãgzip on;ãã§GZIPå§ç¸®ãæå¹ã«ãã¦ããã
ãgzip_disable "MSIE [1-6]\.(?!.*SV1)";ãã¯æ£è¦è¡¨ç¾ã«ãããããUserAgentã®å ´åå§ç¸®ãããªãããã«è¨å®ããããã®å ´åã ã¨InternetExplorer6以ä¸ã®å ´åGZIPå§ç¸®ãããªãããã«ãã¦ããã
ãinclude /etc/nginx/conf.d/*.conf;ãããinclude /etc/nginx/sites-enabled/*;ãã¯ãããããã¡ã¤ã«ãèªã¿è¾¼ãã§ãããèªåã®å ´åã/etc/nginx/conf.d/以ä¸ã«ã¯ä½ãç¡ãã£ãã/etc/nginx/sites-enabled/以ä¸ã«ã¯defaultã¨ãã/etc/nginx/sites-available/defaultã¸ã®ã·ã³ããªãã¯ãªã³ã¯ãè²¼ã£ã¦ãã£ãã
/etc/nginx/sites-available/defaultãè¦ãã¦ã¿ãã
è²ã ã³ã¡ã³ãã¢ã¦ãããã¦ãç®æããããã ãã©ããã®è¾ºã¯åã£ãã
server { listen 80 default; server_name localhost; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; index index.html index.htm; } location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex on; } }
ãlisten 80 default;ãã¯æåéãlistenãããã¼ããæå®ããããã®ãã¡ã¤ã«ã®å ´åããããã³ã«ã¯HTTPãªã®ã§80çªãæå®ãdefaultã¨ããã®ã¯å¥ã«ç¡ãã¦ãåãã®ã§æå®ããªãã¦ãæ§ããªããã©ãåãã¡ããã¨èª¬æã§ããªãã®ã§ããã¥ã¡ã³ããã¡ããã¨èªã¿ã¾ãããã
ãserver_name localhost;ãã¯server_nameãè¨å®ããããã®server_nameã¨ããã®ã¯ã¯ã©ã¤ã¢ã³ããéã£ã¦ããHTTPãããã®Hostã¨å¯¾å¿ããããããä¾ãã°www.oh24.netã¨oh24.netã¨ãã2ã¤ã®server{ ... }ãããã¯ãç¨æãã¦ããã¦ãã¯ã©ã¤ã¢ã³ããoh24.netå´ã«ã¢ã¯ã»ã¹ããã¨www.oh24.netå´ã«ãªãã¤ã¬ã¯ããããããªãã¦ãã¨ãã§ããã
ãaccess_log /var/log/nginx/localhost.access.log;ãã¯ã¢ã¯ã»ã¹ãã°ã®å ´æã®è¨å®ã
ãã®æ¬¡ã«location { ... }ãããã¯ã3ã¤ç¶ãã¦ãããã¨ããããä¸çªä¸ã®ãã®ãä¾ã«èª¬æããããlocation / { ... }ãã«ã¯ã«ã¼ããã£ã¬ã¯ããª(ã¤ã¾ã www.oh24.net/ )ã«ã¢ã¯ã»ã¹ããå ´åã®å¦çãæ¸ããã¦ããããroot /var/www/nginx-default;ãã¯ããã¥ã¡ã³ãã«ã¼ããæå®ãã¦ãããæ¬¡ã®ãindex index.html index.htm;ãã¯ã¤ã³ããã¯ã¹ãã¡ã¤ã«ã®ç¨®é¡ããã¦ããããã®å ´åã¯index.htmlãindex.htmãã¤ã³ããã¯ã¹ãã¡ã¤ã«ã¨ãªããã¤ã¾ããã®å ´åã www.oh24.net/ ã«ã¢ã¯ã»ã¹ããã¨ã /var/www/nginx-default/index.html ã®å
容ãè¿ã£ã¦ããã
ãautoindex on;ãã¯ãwikiãè¦ãã¨"Enables or disables the automatic directory listing."ã¨æ¸ããã¦ããã®ã§ãã£ã¬ã¯ããªã®ä¸è¦§ãåºåãããã©ããã®è¨å®ã£ã½ãã
allowãdenyã¯ã¾ãã¾ã§ããã
è²ã 夿´ããã
ãã®ã¾ã¾ã§ãåé¡ãªãã¦ã§ããµã¼ãã¨ãã¦æ©è½ãã¦ããã¾ãããã¡ãã£ã¨ãããããã§ãããã
- wwwãªãã«ã¢ã¯ã»ã¹ããããwwwããã«ãªãã¤ã¬ã¯ããããã
- ããã¥ã¡ã³ãã«ã¼ããç§»åãããã(ãã®ã¾ã¾ã ã¨root権éãªãã¨ãã¡ã¤ã«ã«è§¦ããªã)
- /docã¨ã/imagesã¨ãããããã
ããã¾ãããï¼
ã¨ããããã§ã¨ããããæå°æ§æã
server { listen 80; server_name oh24.net; rewrite ^/(.*) http://www.oh24.net/$1 permanent; } server { listen 80; server_name www.oh24.net; access_log /var/log/nginx/localhost.access.log; location / { root /home/akira/www; index index.html index.htm; } }
- oh24.netãwww.oh24.netã«ãªãã¤ã¬ã¯ã
- ããã¥ã¡ã³ãã«ã¼ãã/home/akira/www/ãã£ã¬ã¯ããªã¸ç§»å
æåããªãã¤ã¬ã¯ãã®ããæ¹ã§ã¡ãã£ã¨ã¯ã¾ãã¾ãããwwwãªãããwwwããã¸ãªãã¤ã¬ã¯ããããã«ã¯ãserver { ... }ãããã¯ã1ã¤ã¯oh24.netç¨ããã1ã¤ã¯www.oh24.netç¨ã¨2ã¤å¿
è¦ã«ãªãã¾ãã1ã¤ã ãserver { ... }ãããã¯ãç¨æãã¦ããã®ä¸ã§ãªãã¤ã¬ã¯ããããã°å¤§ä¸å¤«ã ããã¨æã£ãã®ã§ããããããã£ã¡ããã¨ãªãã¤ã¬ã¯ãã«ã¼ããã¦ãã¾ãã¾ããã
ãªãã¤ã¬ã¯ãã®ã«ã¼ã«ã¯ãrewrite ^/(.*) http://www.oh24.net/$1 permanent;ãã®æ§ã«æ¸ãã¾ããApacheã¨ä¼¼ã¦ã¾ããããã®å ´åã¯http://oh24.net/*ã¸ã®ã¢ã¯ã»ã¹ãhttp://www.oh24.net/*ã¸ãªãã¤ã¬ã¯ããã¦ãã¾ãã
ãã¨ããã¥ã¡ã³ãã«ã¼ãã¯ãã¼ã ã«wwwãä½ãããã®ãã£ã¬ã¯ããªãæå®ãã¾ããã
ã¨ããããããã¾ã§ã