ubuntu环境下nginx源码编译安装

服务器   发布日期:2023年05月29日   浏览次数:64

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

插入如下内容:

 #!/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:        
 # Default-Stop:        
 # Short-Description: starts the nginx web server
 # Description:       starts nginx using start-stop-daemon
 ### END INIT INFO
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 DAEMON=/usr/sbin/nginx
 NAME=nginx
 DESC=nginx
 
 # Include nginx defaults if available
 if [ -f /etc/default/nginx ]; then
    . /etc/default/nginx
 fi
 
 test -x $DAEMON || exit 
 
 set -e
 
 . /lib/lsb/init-functions
 
 test_nginx_config() {
    if $DAEMON -t $DAEMON_OPTS >/dev/null >&; then
       return 
    else
       $DAEMON -t $DAEMON_OPTS
       return $?
    fi
 }
 
 case "$1" in
    start)
       echo -n "Starting $DESC: "
       test_nginx_config
       # Check if the ULIMIT is set in /etc/default/nginx
       if [ -n "$ULIMIT" ]; then
          # Set the ulimits
          ulimit $ULIMIT
       fi
       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
           --exec $DAEMON -- $DAEMON_OPTS || 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 
       test_nginx_config
       # Check if the ULIMIT is set in /etc/default/nginx
       if [ -n "$ULIMIT" ]; then
          # Set the ulimits
          ulimit $ULIMIT
       fi
       start-stop-daemon --start --quiet --pidfile \
           /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
       echo "$NAME."
       ;;
 
    reload)
       echo -n "Reloading $DESC configuration: "
       test_nginx_config
       start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
           --exec $DAEMON || true
       echo "$NAME."
       ;;
 
    configtest|testconfig)
       echo -n "Testing $DESC configuration: "
       if test_nginx_config; then
          echo "$NAME."
       else
          exit $?
       fi
       ;;
 
    status)
       status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit  || exit $?
       ;;
    *)
       echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&
       exit 
       ;;
 esac
 
 exit 

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

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

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

7、启动nginx

sudo /etc/init.d/nginx

以上就是ubuntu环境下nginx源码编译安装的详细内容,更多关于ubuntu环境下nginx源码编译安装的资料请关注九品源码其它相关文章!