1.下载
1.1、准备OpenSSL
可以从连接 看到所有的openssl的下载版本
这里我们选择最终版
wget ftp://ftp.openssl.org/source/openssl-1.0.0k.tar.gz
1.2、准备zlib
我这边打不开zlib官方网站,不过可以从CU下载
zlib-1.2.7.tar.gz
1.3、准备pcre
安装pcre是为了让nginx支持正则表达式
可以从连接
看到所有的pcre的版本
这里我们选择最新的一个发行版本
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
1.4、Nginx
官方nginx下载地址
目前最新版本是1.4.0,是一个稳定版,从nginx news上看,发布时间应该是两个月前,我们这里下载
最新版本的nginx
wget http://nginx.org/download/nginx-1.4.0.tar.gz
2.准备
2.1、安装zlib
tar zxvf zlib-1.2.7.tar.gzcd zlib-1.2.7./configure --prefix=/usr/localmake && make install
2.2、安装openssl
tar zxvf openssl-1.0.0k.tar.gzcd openssl-1.0.0k./config \--prefix=/usr/local --openssldir=/usr/local/sslmake && make install./config shared \ --prefix=/usr/local --openssldir=/usr/local/sslmake cleanmake && make install
2.3、解压pcre
tar zxvf pcre-8.32.tar.gz
不要进行安装,留后边用
3、安装配置
3.1、安装nginx
mkdir /usr/local/nginxtar zxvf nginx-1.4.0.tar.gzcd nginx-1.4.0./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx.pid \--lock-path=/var/lock/nginx.lock \--with-http_ssl_module \--with-http_dav_module \--with-http_realip_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-mail \--with-mail_ssl_module \--with-pcre=../pcre-8.32 \--with-zlib=../zlib-1.2.7 \--with-debug \--http-client-body-temp-path=/var/tmp/nginx/client \--http-proxy-temp-path=/var/tmp/nginx/proxy \--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgimake make install
3.2、相关flags功能介绍
--prefix #nginx安装目录,默认在/usr/local/nginx
--pid-path #pid问件位置,默认在logs目录--lock-path #lock问件位置,默认在logs目录--with-http_ssl_module #开启HTTP SSL模块,以支持HTTPS请求。--with-http_dav_module #开启WebDAV扩展动作模块,可为文件和目录指定权限--with-http_flv_module #支持对FLV文件的拖动播放--with-http_realip_module #支持显示真实来源IP地址--with-http_gzip_static_module #预压缩文件传前检查,防止文件被重复压缩--with-http_stub_status_module #取得一些nginx的运行状态--with-mail #允许POP3/IMAP4/SMTP代理模块--with-mail_ssl_module #允许POP3/IMAP/SMTP可以使用SSL/TLS--with-pcre=../pcre-8.32 #注意是未安装的pcre路径--with-zlib=../zlib-1.2.7 #注意是未安装的zlib路径--with-debug #允许调试日志--http-client-body-temp-path #客户端请求临时文件路径--http-proxy-temp-path #设置http proxy临时文件路径--http-fastcgi-temp-path #设置http fastcgi临时文件路径--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #设置uwsgi 临时文件路径--http-scgi-temp-path=/var/tmp/nginx/scgi #设置scgi 临时文件路径3.3、开机自启动配置
nginx_init
#! /bin/sh### BEGIN INIT INFO# Provides: nginx# Required-Start: $local_fs $remote_fs $network $syslog# Required-Stop: $local_fs $remote_fs $network $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: starts the nginx web server# Description: starts nginx using start-stop-daemon### END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/local/nginx/sbin/nginxNAME=nginxDESC=nginxDAEMON_OPTS=''test -x $DAEMON || exit 0# Include nginx defaults if available#if [ -f /etc/default/nginx ] ; then# . /etc/default/nginx#fiset -e. /lib/lsb/init-functions#test_nginx_config() {# if $DAEMON -t $DAEMON_OPTS# then# return 0# else# return $?# fi#}case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;;esacexit 0
sudo cp nginx_init /etc/init.d/sudo update-rc.d nginx_init defaults
3.4、ngnix配置
请参考