CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (一)Nginx安装篇

CentOS 6.5 minimal安装不再赘述
Nginx源码安装
1.安装wget下载程序

yum -y install wget

2.安装编译环境:gcc gcc-c++ automake autoconf libtool make

yum -y install gcc gcc-c++ automake autoconf libtool make

3.安装相关依赖包(目前采用的是源码安装,放置到源码目录,也可使用其他如yum方式安装):
PCRE库(用于支持http rewrite)

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar zxvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make
make install

zlib库(用于支持http gzip)

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

4.创建下载文件存放的目录(后面下载的都放入此目录),并进入

cd /root
mkdir download
cd download

5.下载nginx源码包(v1.8.0)最近稳定版

wget http://nginx.org/download/nginx-1.8.0.tar.gz

6.解压、编译、安装(采用默认安装配置,但pcre的位置需要指定)

tar zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --with-pcre=/usr/local/src/pcre-8.37
make
make install

最终nginx的安装路径信息为:

Configuration summary
  + using PCRE library: /usr/local/src/pcre-8.37
  + OpenSSL library is not used
  + using builtin md5 code
  + sha1 library is not found
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

7.我们测试运行下服务器

/usr/local/nginx/sbin/nginx

然后本地通过wget访问下:

cd ~
wget http://localhost

访问结果如下,表示已经可以访问:

--2015-10-29 03:06:59--  http://localhost/
正在解析主机 localhost... ::1, 127.0.0.1
正在连接 localhost|::1|:80... 失败:拒绝连接。
正在连接 localhost|127.0.0.1|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:612 [text/html]
正在保存至: “index.html”

100%[======================================>] 612         --.-K/s   in 0s

2015-10-29 03:06:59 (54.4 MB/s) - 已保存 “index.html” [612/612])

我们也可以通过外面浏览器去访问这个虚拟机,直接在浏览器输入该虚拟机ip: http://192.168.168.131 (具体IP以自己虚拟机为准),应该会展示出下页面(若无法访问,参考最下面):
CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (一)Nginx安装篇_第1张图片
8.以上虽然可以访问了,但每次需要手动去调用才执行,所以我们需要

8.1.编写一个服务脚本,存放到/etc/init.d/nginx (/etc/init.d目录一般用于存放系统所有的服务程序),脚本内容如下:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# pidfile:     /usr/local/nginx/logs/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/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    start
}

reload() {
    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 2
esac

然后给此脚本添加运行权限:

chmod +x /etc/init.d/nginx

测试此脚本(停止服务、启动服务、重启服务),成功后会打印“确定”字样:

service nginx stop
service nginx start
service nginx restart

8.2.将服务脚本注册为系统服务并随系统启动

chkconfig nginx on

到此,Nginx就已安装完毕并可提供服务了

你可能感兴趣的:(nginx)