歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Nginx在LAMP上的擴充

Nginx在LAMP上的擴充   在原來搭建好LAMP的基礎上安裝nginx   [root@localhost nginx-1.0.15]# yum install libxslt-devel   [root@localhost ~]# tar xf pcre-8.33.tar.gz -C /usr/src/   [root@localhost ~]# cd /usr/src/pcre-8.33/ [root@localhost pcre-8.33]# ./configure && make && make install   [root@localhost nginx-1.0.15]# wget http://nginx.org/download/nginx-1.0.15.tar.gz   [root@localhost nginx-1.0.15]# ./configure --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --user=daemon --group=daemon --with-rtsig_module --with-select_module --with-poll_module --with-ipv6 --with-http_ssl_module --with-http_realip_module  --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_flv_module --with-http_perl_module --with-perl=/usr/bin/perl --http-log-path=/var/log/nginx/access.log --with-pcre --with-pcre=/usr/src/pcre-8.33/  --with-http_stub_status_module   [root@localhost nginx-1.0.15]# make && make install   [root@localhost conf]# vi /usr/local/nginx/conf/nginx.conf           user  daemon; worker_processes  1; error_log  /var/log/nginx/error.log  info; pid        /var/run/nginx/nginx.pid; events {     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  /var/log/nginx/access.log  main;     sendfile        on;     #tcp_nopush     on;     #keepalive_timeout  0;     keepalive_timeout  65;     #gzip  on;     server {         listen       80;         server_name  localhost;         charset gb2312;         access_log  /var/log/nginx/access.log  main;         location / {             root   /www;             index  index.html index.htm;         }         error_page  404              /404.html;         # redirect server error pages to the static page /50x.html         #         error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   /www;         }                 location ~ \.php$ {             root           /www;             fastcgi_pass   127.0.0.1:9000;             fastcgi_index  index.php;             fastcgi_param  SCRIPT_FILENAME  /www$fastcgi_script_name;             include        fastcgi_params;         }            }   [root@localhost nginx]# cd sbin/ [root@localhost sbin]# ls nginx [root@localhost sbin]# ./nginx  [root@localhost sbin]# lsof -i:80 COMMAND   PID   USER   FD   TYPE DEVICE SIZE NODE NAME nginx   14359   root    6u  IPv4  21618       TCP *:http (LISTEN) nginx   14360 daemon    6u  IPv4  21618       TCP *:http (LISTEN) [root@localhost sbin]# pwd /usr/local/nginx/sbin               PHP安裝   [root@localhost ~]# tar xf /softs/php-5.3.27.tar.bz2 -C /usr/src/   [root@localhost php-5.3.27]# ./configure --disable-ipv6 --with-libxml-dir=/usr --with-openssl=/usr --with-pcre-regex=/usr/local  --with-zlib=/usr --with-bz2=/usr --enable-calendar --with-curl=/usr --with-pcre-dir=/usr/local --enable-ftp --with-openssl-dir=/usr --with-gd=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-xpm-dir=/usr --with-freetype-dir=/usr/local --enable-gd-native-ttf --enable-gd-jis-conv --with-mhash=/usr/local --enable-mbstring --with-mcrypt=/usr/local --with-mysql=/usr/local/mysql --with-mysql-sock=/var/run/mysqld/mysql5.socket --with-mysqli=/usr/local/mysql/bin/mysql_config --with-snmp=/usr --enable-sockets --enable-zip   && make && make install       [root@localhost cgi]# ./php-cgi -a -b 127.0.0.1:9000 -c /usr/local/lib/php.ini & [2] 9879 [1]   宸叉姝?              ./php-cgi -a -b 127.0.0.1:9000 -c /usr/local/lib/php.ini   [root@localhost cgi]# pwd /usr/src/php-5.3.27/sapi/cgi   訪問 127.0.0.1/index.php   現在只有一個php-cgi進程,當大量的並發請求時,這是不夠的。所以我用壓力測試軟件http_load測試一下   [root@localhost softs]# wget http://icn.me/http_load_tar_gz   [root@localhost http_load-12mar2006]# make && make install   [root@localhost www]# http_load -parallel 100 -seconds 10 url.txt    http://192.168.254.153/a.php: byte count wrong http://192.168.254.153/a.php: byte count wrong http://192.168.254.153/a.php: byte count wrong http://192.168.254.153/a.php: byte count wrong http://192.168.254.153/a.php: byte count wrong 30431 fetches, 100 max parallel, 5.06531e+06 bytes, in 10 seconds 166.452 mean bytes/connection 3043.1 fetches/sec, 506531 bytes/sec msecs/connect: 0.272351 mean, 137.327 max, 0.012 min msecs/first-response: 17.6569 mean, 3034.86 max, 0.097 min 29934 bad byte counts HTTP response codes:   code 200 -- 497   code 404 -- 29934   當並發數為100時,掛掉了,所以我們需要差生多個php-cgi進程,這裡引入一個工具spqwn-fcgi   [root@localhost spawn-fcgi-1.6.3]# wget http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-1.6.3.tar.gz   [root@localhost spawn-fcgi-1.6.3]# tar xf spawn-fcgi-1.6.3.tar.gz  [root@localhost spawn-fcgi-1.6.3]# cd spawn-fcgi-1.6.3 [root@localhost spawn-fcgi-1.6.3]# ./configure && make && make install   [root@localhost src]# spawn-fcgi -f /usr/local/bin/php spawn-fcgi: no socket given (use either -p or -s) [root@localhost src]# spawn-fcgi -f /usr/local/bin/php-cgi -a 127.0.0.1 -u daemon -p 9000 -C 150 spawn-fcgi: child spawned successfully: PID: 11498 [root@localhost src]# ps -e | grep php | wc     151     604    4832   [root@localhost www]# http_load -parallel 100 -seconds 10 url.txt  33289 fetches, 100 max parallel, 432757 bytes, in 10 seconds 13 mean bytes/connection 3328.9 fetches/sec, 43275.7 bytes/sec msecs/connect: 0.0322589 mean, 0.809 max, 0.024 min msecs/first-response: 29.9192 mean, 117.142 max, 8.778 min HTTP response codes:   code 200 -- 33289
Copyright © Linux教程網 All Rights Reserved