您的位置:首页 > 运维架构 > Nginx

nginx学习之旅(一)nginx环境准备与安装

2014-07-07 22:55 357 查看
一、linux系统安装需要一个内核位Linux2.6及以上版本的操作系统。可以输入uname -a命令来查询Linux内核版本二、nginx依赖软件安装要使用nginx的常用功能,则至少要安装如下几个软件:1、GCC编译器GCC可用来编写c语言程序,使用命令符:yum install -y gcc即可安装GCC当用到c++来编写Nginx HTTP模块时还需安装G++编译器,使用命令符:yum install -y gcc-c++即可安装G++.2、PCRE库支持正则表达式(不会用到正则表达式就不必安装它),安装方式:yum install -y pcre pcre-devel3、zlib库zlib库用于对HTTP包的内容做gzip格式的压缩,安装方式:yum install -y zlib zlib-devel4、OpenSSL开发库若想在SSL协议上传输HTTP,或想使用MD5、SHA1等散列函数,则需要安装OpenSSL。安装方式:yum install -y openssl oppenssl-devel三、源代码下载与configuration//主要写 ./configuration --xx的注解在Nginx官方网站(http:/nginx.org/en/download.html)下载Nginx源码包(1.0.14版本及以上)并放到Nginx源代码目录中,还要记得解压。解压:tar -zxvf nginx-1.0.14.tar.gz.进入nginx-1.0.14.tar.gz目录下执行:./configure命令(检测操作系统内核和已经安装的软件,参数的解析,中间目录的生成以及根据各种参数生成的一些文件等)。一些重要的onfigure参数及其含义:
--prefix=
PATH(Nginx安装部署后的根目录)
四、nginx服务配置\\主要/etc/init.d/nginx这个脚本的内容以及注解Nginx有许多官方发布的模块和第三方模块,它可以帮助我们实现Web服务器上很多的功能,而使用这些模块时,只需要增加、修改一些配置项即可。
使用命令:vim  /etc/init.d/nginx 则可为Nginx提供
sysv init脚本,如下:#!/bin/sh  #  # nginx - this script starts and stops the nginx daemon  #  # chkconfig:   - 85 15  # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \  #               proxy and IMAP/POP3 proxy server  # processname: nginx  # config:      /etc/nginx/nginx.conf  # config:      /etc/sysconfig/nginx  # pidfile:     /var/run/nginx.pid  # Source function library.  . /etc/rc.d/init.d/functions# Source networking configuration.  . /etc/sysconfig/network# Check that networking is up.  [ "$NETWORKING" = "no" ] && exit 0    //判断nginx="/usr/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs()   //函数{   # make required directories     user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`   options=`$nginx -V 2>&1 | grep 'configure arguments:'`   for opt in $options; do       if [ `echo $opt | grep '.*-temp-path'` ]; then<4000br />           value=`echo $opt | cut -d "=" -f 2`           if [ ! -d "$value" ]; then               # echo "creating" $value                 mkdir -p $value && chown -R $user $value           fi       fi   done}start()    //nginx启动{    [ -x $nginx ] || exit 5    [ -f $NGINX_CONF_FILE ] || exit 6    make_dirs    echo -n $"Starting $prog: "      daemon $nginx -c $NGINX_CONF_FILE    retval=$?    echo      [ $retval -eq 0 ] && touch $lockfile    return $retval}stop()       //Nginx停止{    echo -n $"Stopping $prog: "      killproc $prog -QUIT    retval=$?    echo      [ $retval -eq 0 ] && rm -f $lockfile    return $retval}restart()         //Nginx的重启{    configtest || return $?    stop    sleep 1    start}reload()        //Nginx重载{    configtest || return $?    echo -n $"Reloading $prog: "      killproc $nginx -HUP    RETVAL=$?    echo  }force_reload()   //强制重载   {    restart}configtest() {  $nginx -t -c $NGINX_CONF_FILE}rh_status() {    status $prog}rh_status_q() {    rh_status >/dev/null 2>&1}case "$1" in    start)        rh_status_q && exit 0        $1        ;;    stop)        rh_status_q || exit 0        $1        ;;    restart|configtest)        $1        ;;    reload)        rh_status_q || exit 7        $1        ;;    force-reload)        force_reload        ;;    status)        rh_status        ;;    condrestart|try-restart)        rh_status_q || exit 0            ;;    *)        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"          exit 2esac                                                                                                                                                                                                                           109,1         Bot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 源代码 软件 linux