手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

在 Ubuntu 9.10 Server 上安装 Nginx 0.8.34

首页 > Linux >

本文的内容对我来说或许可以有用,因为我的VPS用的就是9.10,用默认的apache好象效率并不高,所以。。。真的可以参考一下。

Nginx 在 3 月 3 日放出了 0.8.34 这个开发版。张宴也随即更新了《Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器》 到第六版。不过,他写的记录是针对 CentOS、Redhat 等 rpm 包管理的服务器。由于习惯了 debian 系列的服务器,特别是用惯了 ubuntu 服务器,在这里特别做一下 Ubuntu 9.10 下的安装笔记。其他基于 deb 包管理的发行版也类似。

首先,为了编译 Nginx,应在新装好的 Ubuntu server 环境下安装如下软件包:

sudo apt-get install build-essential libpcre3-dev libssl-dev libxslt-dev libgd2-xpm-dev libgeoip-dev

然后下载 0.8.34 版本的 Nginx:

wget http://www.nginx.org/download/nginx-0.8.34.tar.gz

解压:

tar xvzf nginx-0.8.34.tar.gz

下载 upstream fair 模块。upstream fair 是比内建的负载均衡更加智能的负载均衡模块。它采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小、加载时间长短智能的进行负载均衡。

wget http://github.com/gnosek/nginx-upstream-fair/tarball/master

解压:

tar xvzf gnosek-nginx-upstream-fair-2131c73.tar.gz

然后进入 nginx 源码目录执行 configure 配置编译选项。下面是我所使用的配置:


XML/HTML代码
  1. ./configure --conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \  
  2. --pid-path=/var/run/nginx.pid \  
  3. --lock-path=/var/lock/nginx.lock \  
  4. --http-log-path=/var/log/nginx/access.log \  
  5. --http-client-body-temp-path=/var/lib/nginx/body \  
  6. --http-proxy-temp-path=/var/lib/nginx/proxy \  
  7. --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \  
  8. --with-debug \  
  9. --with-http_stub_status_module \  
  10. --with-http_flv_module \  
  11. --with-http_ssl_module \  
  12. --with-http_dav_module \  
  13. --with-http_gzip_static_module \  
  14. --with-mail \  
  15. --with-mail_ssl_module \  
  16. --with-ipv6 \  
  17. --with-http_realip_module \  
  18. --with-http_geoip_module \  
  19. --with-http_xslt_module \  
  20. --with-http_image_filter_module \  
  21. --with-sha1=/usr/include/openssl \  
  22. --with-md5=/usr/include/openssl \  
  23. --add-module=/home/mikespook/gnosek-nginx-upstream-fair-2131c73  

这个配置来自于 Jeff Waugh 的 PPA 中的 nginx 0.8.34 编译选项。配置、lock、pid 等文件的位置都是按照 ubuntu 系统惯例设置的。需要注意的是 –add-module 指向的是 upstream fair 的解压缩目录的绝对路径。这样就可以将 upstream fair 编译进 nginx。

然后编译并安装:

make && make install

nginx 就安装成功了。目录 /var/lib/nginx 需要手工建立,否则启动 nginx 会报错:

[emerg]: mkdir() "/var/lib/nginx/body" failed (2: No such file or directory)

建立shell 脚本 /etc/init.d/nginx:

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

并执行命令:

sudo update-rc.d -f nginx defaults

更新 rc 后,即可使用:

sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx restart

控制 nginx 启动。
其他配置不再累述,张宴的 blog 里写得非常清晰。只补充一下 upstream fair 的使用,只要在 nginx 配置文件的 upstream 段加入 fair 开关即可:

upstream backend {
server server1;
server server2;
fair;
}

当然,ubuntu 还可以用上面提到的 Jeff 的 ppa 源进行安装:

XML/HTML代码
  1. echo "deb http://ppa.launchpad.net/jdub/devel/ubuntu hardy main" >> /etc/apt/sources.list  
  2. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9EEF4A1  
  3. apt-get update  
  4. apt-get install nginx  

简单快捷。

原文来自:http://www.mikespook.com/index.php/archives/483,做个参考 。。。。




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):