挑战一个人搭建一套完整直播系统1:Nginx安装

本章开始将介绍如何搭建一套完整的直播系统,首先介绍Nginx的安装,操作系统使用的是Ubuntu

Nginx安装

1.下载安装包到指定目录

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

2. 解压

 tar -xvzf nginx-1.12.2.tar.gz

3.配置

直接选择默认

cd nginx-1.12.2
./configure

4.编译和安装

make && make install

这里不再细说,如果报错可以参考文章Nginx安装

配置防火墙

安装Nginx后需要配置防火墙,开启80端口号,因为默认情况下系统是默认不允许外网访问80端口号,修改防火墙配置:

vim /etc/sysconfig/iptables

添加配置项

A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

这是centos下的配置工具,而Ubuntu则可以通过直接输入指令:

sudo ufw allow 22/tcp

允许所有的外部IP访问本机的22/tcp (ssh)端口。

启动Nginx服务

/usr/local/nginx/sbin/nginx

查看进程信息

ps -ef | grep nginx

正常的话结果如下图

默认情况下会有一个主进程master和一个工作进程worker,工作进程通常会配置多个,Nginx基于事件的模型和依赖操作系统的机制来高效地在工作进程间分配请求,工作进程数量在配置文件中定义。

配置完成后测试80端口,执行结果如下图

本地通过浏览器访问:http://127.0.0.1:80,正常结果如下图

 默认的访问的网页位置是:

/usr/local/nginx/html/index.html

设置Nginx自动开机,创建脚本

vim  /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

对脚本设置权限

chmod +x /etc/init.d/nginx

检测脚本是否能正常执行

/etc/init.d/nginx restart ##这个管理脚本支持的命令有start|stop|force-quit|restart|reload|status|configtest

若没有错误,可以开始把他加入启动项了

sysv-rc-conf --list #我们先查看一下list中有没有我们刚刚加进去的这个nginx管理脚本
sysv-rc-conf nginx on #然后用这个命令添加开机自启动

Nginx安装先说到这里。

  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值