nginx服务的部署

  1. useradd nginx \添加nginx用户
  2. 需要将nginx安装包拷入虚拟机内,并对nginx安装包进行解压缩。
  3. 编写并运行shell脚本
./configure \
--user=nginx \
--group=nginx \
--prefix=/opt/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/tmp/nginx/client_body \
--http-proxy-temp-path=/tmp/nginx/proxy \
--http-fastcgi-temp-path=/tmp/nginx/proxy \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/subsys/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module

  1. 若出现以下内容则需要安装相关软件包
    在这里插入图片描述在这里插入图片描述
    5.安装软件pcre openssl 软件包
yum install -y pcre-devel
yum install -y opeenssl

6.再次运行步骤3的shell脚本若出现进行下一步在这里插入图片描述

7.进行编译 make
安装 make install

安装完成后检验配置文件是否正确:nginx -t;启动nginx

#nginx	\\启动服务
#netstat -antp | grep :80
tcp  0    0
0.0.0.0:80   0.0.0.0:*   LISTEN 
5986/nginx    \\查看端口

9.打开浏览器输入虚拟机ip,测试nginx是否正常启动。
如果出现在这里插入图片描述
则安装成功。
10.实现service管理nginx
所有service能够识别的启动脚本在:cd /etc/init.d/
11.
为源码包安装的nginx创建启动脚本

cd /etc/init.d
vim nginx

#!/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/nginx

 

lockfile=/var/lock/subsys/nginx

 

make_dirs() {

   # make required directories

   user=`$nginx -V 2>&1 | grep
"configure arguments:.*--user=" | sed 's/[^*]*--user=\([^
]*\).*/\1/g' -`

   if [ -n "$user" ]; then

      if [ -z "`grep $user
/etc/passwd`" ]; then

         useradd -M -s /bin/nologin $user

      fi

      options=`$nginx -V 2>&1 | grep
'configure arguments:'`

      for opt in $options; do

          if [ `echo $opt | grep
'.*-temp-path'` ]; then

              value=`echo $opt | cut -d
"=" -f 2`

              if [ ! -d "$value" ];
then

                  # echo "creating"
$value

                  mkdir -p $value &&
chown -R $user $value

              fi

          fi

       done

    fi

}

 

start() {

    [ -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() {

    echo -n $"Stopping $prog: "

    killproc $prog -QUIT

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f
$lockfile

    return $retval

}

 

restart() {

    configtest || return $?

    stop

    sleep 1

    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

 


12.完成后便可以通过service管理nginx。


版权声明:本文为weixin_44763914原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。