ºìÁªLinuxÃÅ»§
Linux°ïÖú

nginxµÄ°²×°ÒÔ¼°¼òµ¥À©Õ¹

·¢²¼Ê±¼ä:2011-10-20 22:37:46À´Ô´:ºìÁª×÷Õß:luoning504
NginxÅäÖÃ

Nginx ÊÇÓÉ Igor Sysoev Ϊ¶íÂÞ˹·ÃÎÊÁ¿µÚ¶þµÄ Rambler.ru Õ¾µã¿ª·¢µÄ£¬µÚÒ»¸ö¹«¿ª°æ±¾0.1.0·¢²¼ÓÚ2004Äê10ÔÂ4ÈÕ¡£Æä½«Ô´´úÂëÒÔÀàBSDÐí¿ÉÖ¤µÄÐÎʽ·¢²¼£¬ÒòËüµÄÎȶ¨ÐÔ¡¢·á¸»µÄ¹¦Äܼ¯¡¢Ê¾ÀýÅäÖÃÎļþºÍµÍϵͳ×ÊÔ´µÄÏûºÄ¶øÎÅÃû.

ÏÖÔÚÎÒ¾ÍÀ´½Ì´ó¼ÒÈçºÎÔÚRHEL6ÖÐÅäÖÃnginx

²Î¿¼ÍøÕ¾£ºhttp://wiki.nginx.org/NginxChs


1.·þÎñÆ÷ÐèÒª°²×°µÄ°ü

yum install pcre-devel openssl-devel gcc zlib-devel -y

2. °²×°
useradd nginx
tar zxf nginx-1.0.8.tar.gz
cd nginx-1.0.8
vi auto/cc/gcc
# debug
#CFLAGS=¡±$CFLAGS -g¡± (×¢Ê͵ôÕâÐÐ,È¥µôdebugģʽ±àÒë,±àÒëÒÔºó³ÌÐòÖ»Óм¸°Ùk)

vi src/core/nginx.h
#define NGINX_VERSION "1.0.6"
#define NGINX_VER "nginx" (Ð޸ĴËÐÐ,È¥µôºóÃæµÄ¡°NGINX_VERSION¡±,ΪÁ˰²È«,ÕâÑù±àÒë
ºóÍâ½çÎÞ·¨»ñÈ¡³ÌÐòµÄ°æ±¾ºÅ)

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /usr/local/nginx/sbin/nginx /sbin3. ÅäÖÃÎĵµ
vi /usr/local/nginx/conf/nginx.conf
user nginx nginx; #ʹÓõÄÓû§ºÍ×é
worker_processes 8; #Ö¸¶¨¹¤×÷ÑÜÉú½ø³ÌÊý
error_log logs/error.log info; #´íÎóÈÕÖ¾¶¨ÒåÀàÐÍ
pid logs/nginx.pid; #Ö¸¶¨ pid ´æ·ÅµÄ·¾¶

events {
use epoll; #ʹÓøßÐ§ÍøÂçI/OÄ£ÐÍ ¾ßÌåÄÚÈݲ鿴 http:/wiki.codemongers.com/ʼþÄ£ÐÍ
worker_connections 1024; #ÔÊÐíµÄÁ¬½ÓÊý
}
http {
include mime.types; #ÎļþÀ©Õ¹ÃûÓëÎļþÀàÐÍÓ³Éä±í
default_type application/octet-stream; #ĬÈÏÎļþÀàÐÍ
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #ÈÕÖ¾É趨
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
server_names_hash_bucket_size 128; #·þÎñÆ÷Ãû×ÖµÄhash±í´óС
client_header_buffer_size 32k; #ÉÏ´«Îļþ´óСÏÞÖÆ
large_client_header_buffers 4 32k; #É趨ÇëÇó»º
client_max_body_size 8m; #É趨ÇëÇó»º

sendfile on; ¿ªÆô¸ßЧÎļþ´«Êäģʽ
tcp_nopush on; ·ÀÖ¹ÍøÂç×èÈû
tcp_nodelay on; #·ÀÖ¹ÍøÂç×èÈû
keepalive_timeout 65; ³¬Ê±Ê±¼ä
gzip on;
gzip_min_length 1k; #×îСѹËõÎļþ´óС
gzip_buffers 4 16k; #ѹËõ»º³åÇø
gzip_http_version 1.0; #ѹËõ°æ±¾(ĬÈÏ1.1,ǰ¶ËΪsquid2.5ʹÓÃ1.0)
gzip_comp_level 2; #ѹËõµÈ¼¶
gzip_types text/plain application/x-javascript text/css application/xml; #ѹËõÀàÐÍ
gzip_vary on;

server {
listen 80;
server_name localhost;

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

location /status { #É趨²é¿´Nginx״̬µÄµØÖ·
stub_status on;
access_log off;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate cert.pem; # £¨ÐèÒªÊÖ¹¤Éú³É make -C /etc/pki/tls/certs/cert.pem £©
£¨mv /etc/pki/tls/certs/cert.pem /usr/local/nginx/conf£©
ssl_certificate_key cert.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root html;
index index.html index.htm;
}
}
4.ÅäÖÃcert.pemÎļþ
cd /etc/pki/tls/certs/
make cert.pem
.......
Country Name (2 letter code) [XX]:ch #¹ú¼ÒÃû³Æ£¨2×Öĸ´úÂ룩
State or Province Name (full name) []:shannxi #ÖÝ»òÊ¡µÄÃû³Æ£¨È«³Æ)
Locality Name (eg, city) [Default City]:xi'an #µØÇøÃû³Æ£¨È磬ÊУ©[ĬÈϳÇÊÐ]
Organization Name (eg, company) [Default Company Ltd]:123.org #ĬÈÏÓÐÏÞ¹«Ë¾×éÖ¯µÄÃû³Æ£¨ÀýÈ磬¹«Ë¾£©]
Organizational Unit Name (eg, section) []:linux #×éÖ¯µ¥Î»µÄÃû³Æ£¨ÀýÈ磬һ½Ú£©
Common Name (eg, your name or your server's hostname) []:salim #ͨÓÃÃû³Æ£¨ÀýÈ磬ÄúµÄÐÕÃû»òÄúµÄ·þÎñÆ÷µÄÖ÷»úÃû
Email Address []:root@localhost #µç×ÓÓʼþµØÖ·


cp /etc/pki/tls/certs/cert.pem /usr/local/nginx/conf/

5. µ÷ÊÔ
nginx -t #²é¿´Óï·¨
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

6. Æô¶¯
nginx
nginx -s reload Ë¢ÐÂ

·ÃÎÊ£ºhttp://127.0.0.1 Welcome to nginx!

ÕâÑùÄú¾ÍÄÜ¿´µ½nginx»­ÃæÁË


°²×°Íê±Ïnginxºó£¬ÎÒ½«»á»á´ó¼Ò½øÐÐһЩÀ©Õ¹£¬ÆäÖÐ×îÓÐÓõÄÊÇÐéÄâÓû§£¬ºÍ¸ºÔؾùºâ¡£

Ò» ÐéÄâÓû§

1.´´½¨ÐéÄâÖ÷»ú£º
mkdir /usr/local/nginx/conf/virtualhost
cd /usr/local/nginx/conf/virtualhost
mkdir www.luoning.com
mkdir www.luoning.cn
2.н¨Ä¬ÈÏÒ³£º
cd www.luoning.com echo luoning.com > index.html
cd www.luoning.cn echo www.luoning.cn> index.html
3.Ìí¼Ó½âÎö£º
vi /etc/hosts
192.168.0.27 www.luoning.com
192.168.0.27 www.luoning.cn
4.ÓÃping¼ì²âÐéÄâÖ÷»ú²é¿´Â·¾¶
5.vi /usr/local/nginx/conf/nginx.conf

Ìí¼Ó

server {
listen 80;
server_name www.luoning.cn;
location / {
root virtualhost/www.luoning.cn;
index index.html index.htm;
}
}

server {
listen 80;
server_name www.luoning.com;
location / {
root virtualhost/www.luoning.com;
index index.html index.htm;
}
}

nginx -t µ÷ÊԲ鿴Óï·¨

·ÃÎÊ£º http://www.luoning.com
http://www.luoning.cn



¶þ .¸ºÔؾùºâ

vi /usr/local/nginx/conf/nginx.conf
......
upstream hello {
server 192.168.0.1:80;
server 192.168.0.2:80;
}

server {
listen 80;
server_name www.luoning.com;
location / {
proxy_pass http://hello;
}
}

nginx -t µ÷ÊԲ鿴Óï·¨
nginx -s reload Ë¢ÐÂ

Ìí¼Ó½âÎö£ºvi /etc/hosts
www.hello.org
ÓÃping²é¿´Â·¾¶£º ping www.luoning.com

·ÃÎÊ·¾¶£º http://www.luoning.com ²é¿´Ìí¼ÓÖ÷»úÊÇ·ñ¿ÉÒÔÏ໥ת»»£¬¿ÉÏ໥ת»»±íʾ¸ºÔؾùºâÍê³É
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 4 ÌõÆÀÂÛ

  1. danmovip ÓÚ 2011-10-21 22:02:16·¢±í:

    ĿǰÕýÔÚÓÃÕâ¸ö ËùÒÔ ÊܽÌÁË

  2. danmovip ÓÚ 2011-10-21 22:02:09·¢±í:

    ĿǰÕýÔÚÓÃÕâ¸ö ËùÒÔ ÊܽÌÁË

  3. luoning504 ÓÚ 2011-10-21 10:38:21·¢±í:

    »¶Ó­´ó¼Òµ½ÎҵIJ©¿Í·ÃÎÊ
    http://luoning504.blog.51cto.com/624454/684605

  4. viesdn ÓÚ 2011-10-21 08:42:46·¢±í:

    ÊܽÌ