zoukankan      html  css  js  c++  java
  • ubuntu环境下nginx源码编译安装

    1、更新系统

    sudo apt-get update && sudo apt-get upgrade

    2、安装nginx的依赖包  zlib pcre openssl(可以源码安装也可以直接系统安装)

    sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential

    3、下载openssl源码包

    wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz

    sudo tar -zxvf openssl-1.0.2a.tar.gz -C /usr/local/src/

    cd /usr/local/src/openssl-1.0.2a/

    sudo ./config

    sudo make && sudo make install

    4、下载nginx源码包

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

    sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/

    cd /usr/local/src/nginx-1.8.0

    sudo ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl

    sudo make && sudo make install 

    5、配置nginx 开机服务。

    默认这么安装好以后每次检查配置、重启之类的操作略麻烦,所以我们模仿 Ubuntu 14.04 官方源,给系统设置个 nginx 服务,方便我们检查配置、启动重启关闭 Nginx 以及开机自动启动 Nginx

    sudo vim /etc/init.d/nginx

    插入如下内容:

      1 #!/bin/sh
      2 
      3 ### BEGIN INIT INFO
      4 # Provides:          nginx
      5 # Required-Start:    $local_fs $remote_fs $network $syslog
      6 # Required-Stop:     $local_fs $remote_fs $network $syslog
      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/sbin/nginx
     15 NAME=nginx
     16 DESC=nginx
     17 
     18 # Include nginx defaults if available
     19 if [ -f /etc/default/nginx ]; then
     20    . /etc/default/nginx
     21 fi
     22 
     23 test -x $DAEMON || exit 0
     24 
     25 set -e
     26 
     27 . /lib/lsb/init-functions
     28 
     29 test_nginx_config() {
     30    if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1; then
     31       return 0
     32    else
     33       $DAEMON -t $DAEMON_OPTS
     34       return $?
     35    fi
     36 }
     37 
     38 case "$1" in
     39    start)
     40       echo -n "Starting $DESC: "
     41       test_nginx_config
     42       # Check if the ULIMIT is set in /etc/default/nginx
     43       if [ -n "$ULIMIT" ]; then
     44          # Set the ulimits
     45          ulimit $ULIMIT
     46       fi
     47       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid 
     48           --exec $DAEMON -- $DAEMON_OPTS || true
     49       echo "$NAME."
     50       ;;
     51 
     52    stop)
     53       echo -n "Stopping $DESC: "
     54       start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid 
     55           --exec $DAEMON || true
     56       echo "$NAME."
     57       ;;
     58 
     59    restart|force-reload)
     60       echo -n "Restarting $DESC: "
     61       start-stop-daemon --stop --quiet --pidfile 
     62           /var/run/$NAME.pid --exec $DAEMON || true
     63       sleep 1
     64       test_nginx_config
     65       # Check if the ULIMIT is set in /etc/default/nginx
     66       if [ -n "$ULIMIT" ]; then
     67          # Set the ulimits
     68          ulimit $ULIMIT
     69       fi
     70       start-stop-daemon --start --quiet --pidfile 
     71           /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
     72       echo "$NAME."
     73       ;;
     74 
     75    reload)
     76       echo -n "Reloading $DESC configuration: "
     77       test_nginx_config
     78       start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid 
     79           --exec $DAEMON || true
     80       echo "$NAME."
     81       ;;
     82 
     83    configtest|testconfig)
     84       echo -n "Testing $DESC configuration: "
     85       if test_nginx_config; then
     86          echo "$NAME."
     87       else
     88          exit $?
     89       fi
     90       ;;
     91 
     92    status)
     93       status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
     94       ;;
     95    *)
     96       echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
     97       exit 1
     98       ;;
     99 esac
    100 
    101 exit 0

    注意要设置好nginx的启动路径  DAEMON=/usr/sbin/nginx 

    6、设置文件权限并增加到系统服务

    sudo chmod +x ./nginx
    sudo update-rc.d nginx defaults

    7、启动nginx

    sudo /etc/init.d/nginx

  • 相关阅读:
    读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第三部分)
    Spring Boot进阶系列一
    职场进阶之七种武器
    大龄IT程序员的救赎之道
    Web Service
    生产者消费者问题
    SpringBoot集成Apache Shiro
    简单模拟医院叫号系统
    IT小团队管理者的突围之道
    内部推荐
  • 原文地址:https://www.cnblogs.com/chrisDuan/p/4499731.html
Copyright © 2011-2022 走看看