ubuntu 系统安装nginx记录

sudo apt-get install gcc

sudo apt-get install libpcre3 libpcre3-dev

sudo apt-get install zlib1g zlib1g-dev

sudo apt-get install openssl

sudo apt-get install libssl-dev

cd /opt

mkdir nginx

cd nginx

wget https://nginx.org/download/nginx-1.18.0.tar.gz

tar -zvxf nginx-1.18.0.tar.gz

cd nginx-1.18.0

sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

sudo make

sudo make install

cd /usr/local/nginx/sbin

启动nginx

sudo ./nginx

停止nginx

sudo /usr/local/nginx/sbin/nginx -s stop

#设置开机启动

sudo vi /etc/init.d/nginx

复制代码
#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f nginx defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add nginx'

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

# Author:   licess
# website:  http://lnmp.org

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid

case "$1" in
    start)
        echo -n "Starting $NAME... "

        if netstat -tnpl | grep -q nginx;then
            echo "$NAME (pid `pidof $NAME`) already running."
            exit 1
        fi

        $NGINX_BIN -c $CONFIGFILE

        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
        ;;

    stop)
        echo -n "Stoping $NAME... "

        if ! netstat -tnpl | grep -q nginx; then
            echo "$NAME is not running."
            exit 1
        fi

        $NGINX_BIN -s stop

        if [ "$?" != 0 ] ; then
            echo " failed. Use force-quit"
            exit 1
        else
            echo " done"
        fi
        ;;

    status)
        if netstat -tnpl | grep -q nginx; then
            PID=`pidof nginx`
            echo "$NAME (pid $PID) is running..."
        else
            echo "$NAME is stopped"
            exit 0
        fi
        ;;

    force-quit)
        echo -n "Terminating $NAME... "

        if ! netstat -tnpl | grep -q nginx; then
            echo "$NAME is not running."
            exit 1
        fi

        kill `pidof $NAME`

        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
        ;;

    restart)
        $0 stop
        sleep 1
        $0 start
        ;;

    reload)
        echo -n "Reload service $NAME... "

        if netstat -tnpl | grep -q nginx; then
            $NGINX_BIN -s reload
            echo " done"
        else
            echo "$NAME is not running, can't reload."
            exit 1
        fi
        ;;

    configtest)
        echo -n "Test $NAME configure files... "

        $NGINX_BIN -t
        ;;

    *)
        echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"
        exit 1
        ;;

esac

# 给所有用户给予可执行权限

sudo chmod a+x /etc/init.d/nginx

启动

/etc/init.d/nginx start

停止

/etc/init.d/nginx stop

重新加载配置

/etc/init.d/nginx reload

添加至开机自启动

设置开机启动

sudo update-rc.d nginx defaults

启动 Nginx

sudo /etc/init.d/nginx start

取消开机启动

sudo update-rc.d -f nginx remove

相关推荐
.R^O^27 分钟前
计算机知识
linux·服务器·网络·安全
卡戎-caryon1 小时前
【Linux网络与网络编程】11.数据链路层mac帧协议&&ARP协议
linux·服务器·网络·笔记·tcp/ip·数据链路层
夜月yeyue1 小时前
STM32启动流程详解
linux·c++·stm32·单片机·嵌入式硬件·c#
烛.照1031 小时前
RabbitMQ消息的可靠性
linux·docker·rabbitmq
RLG_星辰2 小时前
prime-2 靶场笔记(vuInhub靶场)
linux·笔记·网络安全·渗透测试·权限维持·smb协议·lxd提权
CoolScript2 小时前
WSL2 配置和离线安装linux系统。
linux·运维·服务器
稀饭过霍2 小时前
【linux】命令收集
linux·服务器·网络
珹洺2 小时前
Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码
linux·运维·服务器·网络·后端
特立独行的猫a2 小时前
嵌入式Linux设备使用Go语言快速构建Web服务,实现设备参数配置管理方案探究
linux·前端·golang
q_q王2 小时前
Ubuntu上docker、docker-compose的安装
linux·ubuntu·docker