您的位置: 飞扬精品软件园 >> 文章中心 >> 网络通讯 >> 服务器类 >> Nginx + PHP-FPM + APC=绝妙的组合

相关文章链接

本类文章排行

最新新闻资讯

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

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


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-27


    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 

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

    [1] [2] [3]


查看所有评论

网友对Nginx + PHP-FPM + APC=绝妙的组合的评论

网名:
主题:
内容:
验证码: