建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 服务器 > Web服务 >

Nginx + PHP-FPM + APC=绝妙的组合(2)

时间:2010-07-23 17:17来源: 作者: 点击:
Nginx 和编译PHP一样非常简单: cd.. sudowgethttp://sysoev.ru/nginx/nginx-0.6.35.tar.gz sudotarzxvfnginx-0.6.35.tar.gz sudorm-fnginx-0.6.35.tar.gz cdnginx-0.6.35 sudo./configure --sbin-path =/usr/local
Nginx

 

和编译PHP一样非常简单:

  1. cd ..  
  2. sudo wget http://sysoev.ru/nginx/nginx-0.6.35.tar.gz  
  3. sudo tar zxvf nginx-0.6.35.tar.gz  
  4. sudo rm -f nginx-0.6.35.tar.gz  
  5. cd nginx-0.6.35  
  6. sudo ./configure --sbin-path=/usr/local/sbin --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module  
  7. sudo make && sudo make install 

再创建一个链接:

  1. sudo ln -s /usr/local/nginx/conf /etc/nginx 
  2.  

下一步是可有可无的,但我一直使用至今,说说也无妨。打开/etc/nginx/nginx.conf,最终修改结果如下:

  1. user  www-data;  
  2. worker_processes  6;  
  3.  
  4. events {  
  5.     worker_connections  1024;  
  6. }  
  7.  
  8. http {  
  9.     include       mime.types;  
  10.     default_type  application/octet-stream;  
  11.     sendfile        on;  
  12.     keepalive_timeout  10 10;  
  13.  
  14.     gzip  on;  
  15.     gzip_comp_level 1;  
  16.     gzip_proxied any;  
  17.     gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;  
  18.  
  19.         log_format main '$remote_addr - $remote_user [$time_local] '  
  20.                   '"$request" $status  $body_bytes_sent "$http_referer" '  
  21.                   '"$http_user_agent" "$http_x_forwarded_for"';  
  22.  
  23.         access_log  /var/log/nginx_access.log  main;  
  24.  
  25.         error_log  /var/log/nginx_error.log debug;  
  26.  
  27.         include /usr/local/nginx/sites-enabled/*;  

我们也设置了一些FastCGI参数,让PHP不会噎着,也可以避免Nginx 503错误,打开/etc/nginx/fastcgi_params,添加以下参数:

  1. fastcgi_connect_timeout 60;  
  2. fastcgi_send_timeout 180;  
  3. fastcgi_read_timeout 180;  
  4. fastcgi_buffer_size 128k;  
  5. fastcgi_buffers 4 256k;  
  6. fastcgi_busy_buffers_size 256k;  
  7. fastcgi_temp_file_write_size 256k;  
  8. fastcgi_intercept_errors on; 

最后,我们创建一个SystemV风格的启动脚本,保存为/etc/init.d/nginx。

  1. #! /bin/sh  
  2. ### BEGIN INIT INFO  
  3. # Provides:          nginx  
  4. # Required-Start:    $all  
  5. # Required-Stop:     $all  
  6. # Default-Start:     2 3 4 5  
  7. # Default-Stop:      0 1 6  
  8. # Short-Description: starts the nginx web server  
  9. # Description:       starts nginx using start-stop-daemon  
  10. ### END INIT INFO  
  11.  
  12. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
  13. DAEMON=/usr/local/sbin/nginx  
  14. NAME=nginx 
  15. DESC=nginx 
  16.  
  17. test -x $DAEMON || exit 0  
  18.  
  19. # Include nginx defaults if available  
  20. if [ -f /etc/default/nginx ] ; then  
  21.         . /etc/default/nginx  
  22. fi  
  23.  
  24. set -e  
  25.  
  26. case "$1" in  
  27.   start)  
  28.         echo -n "Starting $DESC: "  
  29.         start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \  
  30.                 --exec $DAEMON -- $DAEMON_OPTS  
  31.         echo "$NAME."  
  32.         ;;  
  33.   stop)  
  34.         echo -n "Stopping $DESC: "  
  35.         start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \  
  36.                 --exec $DAEMON  
  37.         echo "$NAME."  
  38.         ;;  
  39.   restart|force-reload)  
  40.         echo -n "Restarting $DESC: "  
  41.         start-stop-daemon --stop --quiet --pidfile \  
  42.                 /usr/local/nginx/logs/$NAME.pid --exec $DAEMON  
  43.         sleep 1  
  44.         start-stop-daemon --start --quiet --pidfile \  
  45.                 /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS  
  46.         echo "$NAME."  
  47.         ;;  
  48.   reload)  
  49.       echo -n "Reloading $DESC configuration: "  
  50.       start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \  
  51.           --exec $DAEMON  
  52.       echo "$NAME."  
  53.       ;;  
  54.   *)  
  55.         N=/etc/init.d/$NAME  
  56.         echo "Usage: $N {start|stop|restart|force-reload}" >&2  
  57.         exit 1  
  58.         ;;  
  59. esac  
  60.  
  61. exit 0 

不要忘了设置可执行权限。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片