挑战一个人搭建一套完整直播系统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.orgPATH=/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.pidcase "$1" instart)echo -n "Starting $NAME... "if netstat -tnpl | grep -q nginx;thenecho "$NAME (pid `pidof $NAME`) already running."exit 1fi$NGINX_BIN -c $CONFIGFILEif [ "$?" != 0 ] ; thenecho " failed"exit 1elseecho " done"fi;;stop)echo -n "Stoping $NAME... "if ! netstat -tnpl | grep -q nginx; thenecho "$NAME is not running."exit 1fi$NGINX_BIN -s stopif [ "$?" != 0 ] ; thenecho " failed. Use force-quit"exit 1elseecho " done"fi;;status)if netstat -tnpl | grep -q nginx; thenPID=`pidof nginx`echo "$NAME (pid $PID) is running..."elseecho "$NAME is stopped"exit 0fi;;force-quit)echo -n "Terminating $NAME... "if ! netstat -tnpl | grep -q nginx; thenecho "$NAME is not running."exit 1fikill `pidof $NAME`if [ "$?" != 0 ] ; thenecho " failed"exit 1elseecho " done"fi;;restart)$0 stopsleep 1$0 start;;reload)echo -n "Reload service $NAME... "if netstat -tnpl | grep -q nginx; then$NGINX_BIN -s reloadecho " done"elseecho "$NAME is not running, can't reload."exit 1fi;;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安装先说到这里。
挑战一个人搭建一套完整直播系统1:Nginx安装相关推荐
- 挑战一个人搭建一套完整直播系统5:基于阿里云搭建外网直播系统
本节将来介绍如何基于阿里云搭建一个真正的外网直播系统,其实平台的搭建在前面已经做了介绍,这里的区别是在云平台上重新搭建系统,这里采用了阿里云服务器ECS来实现(可以免费使用薅羊毛),选择的系统为ubu ...
- 挑战一个人搭建一套完整直播系统3: Nginx-rtmp-module
Nginx-rtmp-module(NRM)的出现使得非专业流媒体开发工程师也可以简单.迅速搭建媒体流服务器,本节将介绍NRM的使用. NRM模块安装 复制NRM源代码: git clone http ...
- 挑战一个人搭建一套完整直播系统4: 实现网络摄像头视频传输
摄像头采购的是海康卫视的网络摄像头: 支持通过rtsp传输视频流,网络摄像头的配置如下: ffmpeg可以直接通过rtsp获取摄像头视频数据并推流到我们之前搭建好的Nginx服务,具体指令如下: ff ...
- 拿来就能用!几步搭建一套简单直播系统 | 原力计划
作者 | mind_programmonkey 责编 | 伍杏玲 出品 | CSDN博客 本次用Ngix+RTMP+FFmpeg搭建一个流媒体服务器,实现简单的直播效果. Nginx是一款轻量级的We ...
- 胜利油田即时通文件服务器,庆祝胜利油田实验小学成功搭建我司流媒体直播系统...
一.学校概况 胜利油田实验小学,位于东营市西城,创建于1982年,2005年更名为东营市胜利实验小学.学校占地32亩,建筑面积10300平方米.现有教学班38个,教职工97名,学生1960名.学校以& ...
- 免费视频直播点播服务器系统,搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件?...
原标题:搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件? 随着Internet的飞速发展,网上现场直播已经从实验阶段走向了实用阶段.各式各样的社会活动都可以借助网上现场直播方式传遍全世 ...
- 方法论:如何从0到1搭建一套完整的邀请体系
最近对邀请好友做任务类的产品功能思考还是挺多的,有一些思考分享给大家.写文章前,把网上的邀请好友类文章,刷了大半,有很多都挺不错:有深度.有案例.有数据.有实操建议,贴部分好文如下:大部分文章都基本会 ...
- 如何搭建一套完整的深度学习系统?
假期总是过的很快,刷刷抖音,说没就没了. 说到抖音,就不得不提它的推荐系统,太 NB 了.刷了啥,立刻记住你的偏好,推荐相似内容,一不小心 2 小时就过去了,让人欲罢不能,要么日活 6 亿呢. 其实& ...
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【八】【完善整个项目】
上一章我们已经完成了菜单模块的开发工作,那么到了本章我们将完成我们角色管理模块的开发工作,在本章开始一个全新的模块进行开发的时候我们需要遵守一定的命名和开发规范如下: 1.我们的Controller的 ...
最新文章
- android cmd adb命令安装和删除apk应用
- 移动端banner css3(@keyframes )实现
- unity调整旋转需要传什么参数?参数在数学上叫做什么?_人脸识别背后,卷积神经网络的数学原理原来是这样的...
- 页面加载成功后调用_在微信小程序里实现图片预加载组件
- USACO2.1【bfs,排序,贪心,dfs,位运算】
- 健康丨汗从哪里出 病从哪里来
- linux鼠标滚轮命令,关于linux:如何使用鼠标滚轮在tmux面板中滚动?
- 事件Event:带你体验鸿蒙轻内核中一对多、多对多任务同步
- iOS :高德地图SDK配置教程(安装CocoaPods、生成Podfile文件、安装SDK、demo简单使用等)
- mysql安装包下载与检核
- threejs写的模仿微信跳一跳游戏
- 安卓学习笔记3.1 线性布局
- 火车WiFi春天已到来?
- 调整分区后分区不见的数据找回法子
- 计算机颜色系统是三大色彩体系,色彩体系三大属性学习
- win10开机“正在准备自动修复”,且无法修复你的电脑
- gdpr通用数据保护条例_从信息安全角度看通用数据保护条例(GDPR)
- STC 下载 自动波特率 设计
- 区块链思维—系统性思维
- 编译Linux报错/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start‘: