Webサーバ勉強会第4回のお題について
11/11に予定通りやりたいと思います。
Nginxの発表をする人は以下のお題をどれか一つ調べて発表か、
お題以外の事(運用Tipsや性能についてなど)を発表よろしくお願いします!
ATND上で登録した人は、どれをやるかコメントで書いてくださいねー。
で、かぶったら他のを選択して下さい!ATNDは、多分10/27、28には立てますので、
作成次第、ツイッター(ハッシュタグ #study2study)とこのエントリに追記します。
→ATNDはこちら!!
http://atnd.org/events/21473
■Nginxの基本的な仕組み 枠:2人
・Nginx自体の仕組みについて 1人
・Apacheや他のサーバとの簡単な違いについて 1人
■Nginxのインストール解説 枠:2人
http://wiki.nginx.org/NginxInstallOptions#Example_3
を例にして
・ソースコードからのインストール手順のまとめ 1人
・コンパイルオプションについて 1人
(使用しているモジュールとかの簡単な説明とかも)
お題は以下の例を使って下さい。 ./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_gzip_static_module \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/run/nginx/client/ \ --http-proxy-temp-path=/var/run/nginx/proxy/ \ --http-fastcgi-temp-path=/var/run/nginx/fcgi/ \ --http-uwsgi-temp-path=/var/run/nginx/uwsgi/ \ --http-scgi-temp-path=/var/run/nginx/scgi/
■Nginxのconfig解説 枠:5人
http://wiki.nginx.org/NginxFullExampleに記載されている内容を分割して。
以下を分割して3人で
nginx.conf
1-24行まで 1人
25-53行まで 1人
54-70行まで 1人
1 user www www;
2 worker_processes 5;
3 error_log logs/error.log;
4 pid logs/nginx.pid;
5 worker_rlimit_nofile 8192;
6
7 events {
8 worker_connections 4096;
9 }
10
11 http {
12 include conf/mime.types;
13 include /etc/nginx/proxy.conf;
14 include /etc/nginx/fastcgi.conf;
15 index index.html index.htm index.php;
16
17 default_type application/octet-stream;
18 log_format main '$remote_addr - $remote_user [$time_local] $status '
19 '"$request" $body_bytes_sent "$http_referer" '
20 '"$http_user_agent" "$http_x_forwarded_for"';
21 access_log logs/access.log main;
22 sendfile on;
23 tcp_nopush on;
24 server_names_hash_bucket_size 128; # this seems to be required for some vhosts
25
26 server { # php/fastcgi
27 listen 80;
28 server_name domain1.com www.domain1.com;
29 access_log logs/domain1.access.log main;
30 root html;
31
32 location ~ \.php$ {
33 fastcgi_pass 127.0.0.1:1025;
34 }
35 }
36
37 server { # simple reverse-proxy
38 listen 80;
39 server_name domain2.com www.domain2.com;
40 access_log logs/domain2.access.log main;
41
42 # serve static files
43 location ~ ^/(images|javascript|js|css|flash|media|static)/ {
44 root /var/www/virtual/big.server.com/htdocs;
45 expires 30d;
46 }
47
48 # pass requests for dynamic content to rails/turbogears/zope, et al
49 location / {
50 proxy_pass http://127.0.0.1:8080;
51 }
52 }
53
54 upstream big_server_com {
55 server 127.0.0.3:8000 weight=5;
56 server 127.0.0.3:8001 weight=5;
57 server 192.168.0.1:8000;
58 server 192.168.0.1:8001;
59 }
60
61 server { # simple load balancing
62 listen 80;
63 server_name big.server.com;
64 access_log logs/big.server.access.log main;
65
66 location / {
67 proxy_pass http://big_server_com;
68 }
69 }
70 }proxy_conf 1人
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k;
以下のコンフィグを合わせて1人
fastcgi_conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_index index.php; fastcgi_param REDIRECT_STATUS 200;
mime_types
types {
text/html html htm shtml;
text/css css;
text/xml xml rss;
image/gif gif;
image/jpeg jpeg jpg;
application/x-javascript js;
text/plain txt;
text/x-component htc;
text/mathml mml;
image/png png;
image/x-icon ico;
image/x-jng jng;
image/vnd.wap.wbmp wbmp;
application/java-archive jar war ear;
application/mac-binhex40 hqx;
application/pdf pdf;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/zip zip;
application/octet-stream deb;
application/octet-stream bin exe dll;
application/octet-stream dmg;
application/octet-stream eot;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/mpeg mp3;
audio/x-realaudio ra;
video/mpeg mpeg mpg;
video/quicktime mov;
video/x-flv flv;
video/x-msvideo avi;
video/x-ms-wmv wmv;
video/x-ms-asf asx asf;
video/x-mng mng;
}上は確実に発表出来る枠なので、
その他、性能測定したとか、実際の運用でこうやっているとか、
喋りたい事があれば!!
年末なのでその他サーバ、HTTPプロトコルについてでも可能です!!
もし参加者が少なかったら、上の事も調べて発表してくれると嬉しいです(´Д⊂