LNMP开荒条件搭建连串简要介绍

对于直播平台如何搭建这一问题,很多时候大家可能会将直播平台开发过程也包含其中。其实,直播平台搭建是基于已经开发完成的直播系统,使之通过搭建部署能够正常运行。整个过程来讲,会涉及到很多技术环节的问题,对于那些没有技术团队和不懂任何技术的朋友而言,会是一件非常麻烦的事。今天我们就简单介绍下直播平台如何搭建,主要包含哪些内容环节。

centos7 LNMP环境搭建

lamp与lnmp的优劣

LAMP==Linux Apache Mysql PHP
LNMP==Linux Nginx Mysql PHP

Apache是世界是用排名第一的Web服务器软件,其几乎可以在所有广泛使用的计算机平台上运营,由于其跨平台和安全性被广泛使用,是最流行的Web服务端软件之一。

相比于nginx,apache有些臃肿,内存和CPU开销较大,性能上有损耗,nginx对于静态文件的响应能力远高apache。

Apache是负载PHP的最佳选择,如果流量很大的话,可以使用nginx来负载非PHP的Web请求。在整个IT界而言,70%的流量访问均来源于Apache。

下面说说Nginx
Nginx是一款高性能额Http和反向代理服务器,也是一个AMAP/POP3/SMTP服务器,Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx 1.0.4发布。

相比于Apache,nginx使用资源更少,支持更多并发连接,效率更高,作为负载均衡服务器。nginx即可对内进行支持,也可对外进行服务。其还是一款非常优秀的邮件代理服务器,安装简单,配置简介。

LNMP是Linux Nginx Mysql PHP的组合方式,其特点是利用Nginx的快速与轻量级,替代以前的LAMP(Linux Apache Mysql PHP)的方式。由于安装方便,并且安装脚本也随时更新。

LNMP方式的优点:占用VPS资源较少,Nginx配置起来也比较简单,利用fast-cgi的方式动态解析PHP脚本。

LNMP方式的缺点:php-fpm组件的负载能力有限,在访问量巨大的时候,php-fpm进程容易僵死,容易发生502 bad gateway错误

综上所述:
基于 LAMP 架构设计具有成本低廉、部署灵活、快速开发、安全稳定等特点,是 Web 网络应用和环境的优秀组合。若是服务器配置比较低的个人网站,当然首选 LNMP 架构。

当然,在大流量的时候。把Apache和Nginx结合起来使用,也不失为一个不错选择,如下:

LNAMP是Linux Nginx Apache Mysql PHP的组合方式,其特点是利用Nginx来作为静态脚本的解析,而利用 Nginx的转发特性,将动态脚本的解析转交给Apache来处理,这样,能充分利用两种Web服务器的特点,对于访问量需求较大的站点来说,是一个很不错的选择。

LNAMP方式的优点:由于Apache本身处理PHP的能力比起php-fpm要强,所以不容易出现类似502 bad gateway的错误。适合访问量较大的站点使用。

LNAMP方式的缺点:相比LNMP方式会多占用一些资源,另外,配置虚拟主机需要同时修改Nginx和Apache的配置文件,要稍微麻烦一些。

一、centos7下载安装

1、去centos官网下载

图片 1

选择DVD ISO ,之后选择一个镜像源。推荐网易的镜像

2、安装在虚拟机中,下载地址为 box

二、Nginx安装

输入 yum -y install nginx

安装成功后启动 ystemctl start nginx

设置为开机启动 systemctl enable nginx

配置文件 /etc/nginx/nginx.conf

默认网站路径 /usr/share/nginx/html

图片 2server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;

root /etc/htmlwxw;

location / {
index index.html;
}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

root后为网站根目录,可以修改

index后为默认的网页

三、mysql的安装

centos7的yum -y install mysql 只能安装mariadb(MariaDB是MySQL源代码的一个分支,在意识到Oracle会对MySQL许可做什么后分离了出来(MySQL先后被Sun、Oracle收购)。除了作为一个Mysql的“向下替代品”,MariaDB包括的一些新特性使它优于MySQL。)

不过mysql的command是一样的。

1、启动mysql systemctl start mariadb

2、安装完后进入数据库 mysql -u root (第一次进入不需要密码)

3、设置新密码

mysql> set password for 'root'@'localhost' =password('password');

4、mysql配置文件为/etc/my.cnf

最后加上编码配置

[mysql]default-character-set =utf8

这里的字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。

5、远程连接

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to [email protected]'%'identified by 'password';

如果是新用户而不是root,则要先新建用户

mysql>create user 'username'@'%' identified by 'password';  

此时就可以进行远程连接了。

6、数据库操作

导出
mysqldump -u root -p 数据库名>文件名
导入
mysql -uroot -p 数据库名<文件名

7、安装mysql(官网下载法)

# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# rpm -ivh mysql-community-release-el7-5.noarch.rpm# yum install mysql-community-server

四、PHP安装

PHP 通过 PHP-FPM(FastCGI进程管理器)可以很好地与 Nginx 协同工作。

PHP-FPM 针对不同规模的网站功能和性能都非常优良,尤其是高并发大型网站。

如下,安装PHP5或PHP7都可以,两者安装其一即可。

PHP5安装步骤:

yum install php php-mysql php-fpm

PHP7安装步骤:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm   # 安装 EPEL 源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm                      # 安装 Webstatic 源yum install php70w php70w-common php70w-fpm php70w-opcache php70w-mysqlnd php70w-gd php70w-mbstring  # PHP 5.3.0以上推荐使用mysqlnd驱动,而不是msyql

这里,我们用webstatic源来安装PHP7。

webstatic源还有很多PHP7.0扩展,地址:

PHP7.1版本把地址中的php70改成php71即可。

然后是配置。打开文件 /etc/php.ini,删除cgi.fix_pathinfo前面的;注释符,再赋值为0,如下:

[...]cgi.fix_pathinfo=0[...]

再配置PHP-FPM。打开文件 /etc/php-fpm.d/www.conf,

  1. 127.0.0.1:9000改为php-fpm.sock文件
  2. 取消listen.ownerlisten.group前面的注释
  3. usergroup的值由apache改为nginx

如下:

[...]listen = /var/run/php-fpm/php-fpm.sock[...]listen.owner = nobodylisten.group = nobody[...]user = nginxgroup = nginx[...]

启动 PHP-FPM,并设置为开机启动:

systemctl start php-fpmsystemctl enable php-fpm

PHP-FPM 启动之后,会生成 socket 文件 /var/run/php-fpm/php-fpm.sock作为守护进程运行 FastCGI 服务。

接下来配置 Nginx 的时候会用到这个 socket 文件。

LNMP环境搭建 lamp与lnmp的优劣 LAMP==Linux Apache Mysql PHP LNMP==Linux Nginx Mysql PHP Apache是世界是用排名第一的Web服务器软件,其几乎可以在所有...


  经过市场分析发现,伴随移动互联网技术的发展,年轻的互联网用户已不能满足传统的文字或图片的社交方式。4G时代网络时代开启,各类视频直播APP的出现,这种更为直接的社交模式深受80、90 ~ 00 一代的追捧。很显然,视频APP已成为目前最火的社交方式了,小编给大家分享下直播源码与直播系统搭建经验来帮助创业者和从业者们!

直播平台搭建部署环节,大家可以想象成我们安装游戏软件的过程。我们从网上下载下来的游戏程序,需要进行安装之后才能正常运行。这里举个简单的例子,相信很多80后、90后都非常熟悉一款经典的单机游戏《魔兽争霸》,这款游戏的安装推荐配置为2.4GHz以上CPU、1G以上的内存、2G以上硬盘、Windows2000/XP/7系统,这里的安装配置其实可以看做是保证游戏正常运行的环境条件。对于直播平台搭建而言,同样需要这样的一个搭建配置环境,比如我们常见的LNMP或LAMP环境。

title: LNMP开发环境搭建系列简介
link: index
date: 2018-03-10
project: LNMP
excerpt: LNMP(Linux,Nginx,Mysql,PHP)的开发环境搭建是每一个PHP程序员在成长道路上必须学会掌握的技能,本系列课程将围绕LNMP开发环境的搭建进行展开

图片 3

图片 4


    壹,首先是视频直播系统搭建环境方面目前常用的是Lnmp或Lamp。Lnmp:LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。Lamp:Linux Apache Mysql/MariaDB Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

LNMP环境

简介

LNMP(Linux,Nginx,Mysql,PHP)的开发环境搭建是每一个PHP程序员在成长道路上必须学会掌握的技能,本系列课程将围绕LNMP开发环境的搭建进行展开。作为一名PHP程序员特别是在中小型公司需要掌握的技能是要求比较多的。前端知识得了解能够独立进行前端页面的编写,PHP程序得熟悉能够进行后台程序的开发,服务器环境得知道配置能够随时进行开源工具的安装和服务器环境的搭建。

大部分PHPer在接触PHP时应该是使用Windows下的XAMPP或者WAMP进行环境搭建(我自己也是),傻瓜式安装,一路点击下一步即可轻松的完成本地开发环境的搭建。但是在实际工作中即使是使用的XAMPP这类工具也需要对配置文件进行适当的修改以配合团队的开发环境一致性要求。因此掌握环境的配置和安装是每一个PHPer必须掌握的技能。

任何环境搭建和软件的安装最全最完整的手册一定是软件的官方网站,因此一定去软件官网下载安装包,一定先阅读官网的安装手册。我在开发过程中接触到很多刚进入职场的PHPer他们,遇到问题找百度(这个还是可取),搜索安装包解决安装问题第一反应也是百度,因为一些原因用百度搜索安装包很多排在搜索结果第一和前列的并不是官方的地址,导致下载的安装包有可能有问题。安装包和安装手册一定是去官网原厂原汁原味。

    贰,直播系统程序开发程序语言方面,由稳定的直播源码搭建而成的直播系统程序通常是可以应用于多个终端的,例如PC,手机Android、iOS,手机wap,微信等。因此,安全稳定、系统流畅的直播系统程序通常由以下几部分组成:WEB 系统、REDIS服务、MYSQL服务、视频服务、聊天服node.js

以LNMP环境为例,LNMP实际上是组合使用的用于运行动态网站或者服务器的软件。L指的是Linux,N指的是Ngix,M一般指的是Mysql,P通常指的是PHP。

LNMP开发环境搭建系列主要包括以下几方面的内容,每个内容块会陆续更新内容

  • 在Windows环境下搭建Linux虚拟机
  • 使用快捷方式安装Nginx和Mysql
  • 使用源码方式安装PHP7
  • 搭建PHP5和PHP7同时运行的环境
  • PHP扩展安装

1)WEB 系统主要是提供页面、接口逻辑。

Linux是一款免费的计算机操作系统;Ngix则是一个高性能的服务器;Mysql是关系型数据库管理系统;PHP则是在服务器端执行的脚本语言。由于这四款软件都是免费的,因此被广泛应用,并且网上也有现成的一键安装包,操作起来十分方便,大大提升了程序搭建部署效率,因此环境配置是直播平台搭建的重要前提。

2)REDIS 服务提供数据的缓存、存储动态数据。

Redis配置

3)MYSQL 服务提供静态数据的存储。

Redis也是一种数据库,使用它的重要意义在于进行数据库的主从读写分离部署。即数据可以从主服务器向任意数量的从服务器上同步,从服务器之间也可以进行互相关联,Redis主要用于直播平台中的缓存服务。

4)视频服务提供视频直播,旁路直播,转码、存储、点播等。

程序部署

    至于程序框架方面,web框架方面主要是thinkPHP框架,手机端由于由Android和iOS之分,所以用到的开发语言也是不同的。手机Android端主要采用Java语言,iOS端则通常采用iOS原生开发语言object-c,至于服务端的开发语言则主要采用了PHP语言开发。

具备了直播平台搭建环境,配置完Redis,创建完数据库之后,就要开始部署直播平台程序了。部署直播平台程序主要分为两个环节,即web站点搭建和直播APP程序部署,这里我们就不再详细介绍部署流程了,因为不同服务商开发的直播平台程序部署环节会存在一定的差别。

    叁.手机直播系统程序服务器相关知识点。一套成熟的手机直播系统程序在搭建时通常会用到多个服务器,采用分布式部署方式,保障了直播平台后期的稳定运行。

nodejs部署

1)消息服务器:主要用于消息推送,给用户推送房间聊天消息、私信消息。

不过还需要注意一点,除了上面提到的环境配置、数据库配置和程序部署之外,还会涉及到nodejs的部署,部署完nodejs之后在直播平台的管理后台进行聊天服务配置,最后配置完视频推拉流地址和文件存储,直播平台搭建才算完成。

2)业务服务器:手机直播的业务部分、好友关系、直播管理、货币系统、礼物系统等。

整个直播平台搭建流程主要就分为以上几个步骤,大家只需要简单了解就可以了,毕竟很多直播平台开发服务商还是会提供程序搭建部署服务的。如果大家想要知道直播平台如何搭建的每一步具体的流程,可以去相关的技术论坛搜索下,相信会对大家有所帮助。

3)视频服务器:视频直播、点播、转码、存储和点播等。

4)IM即时聊天:使用Node.js服务自主搭建部署聊天服务器。

5)视频流:第三方CDN,无需自己搭建部署服务器,开通帐户即可使用。关于CDN方面的内容,我们将会在下一篇中详细介绍。

6)业务服务器:网站逻辑基于 php-tlinkphp、 thinkcmf、mysql、redis。

本篇主要为大家介绍的是直播系统程序搭建过程中所需要的搭建环境、直播源码所用到的程序框架及开发语言,以及服务器的架设。

  如今直播行业已经具备了成熟商业模式。如果要搭建一套视频直播系统,必须拥有需要一套安全稳定、功能齐全、可快速搭建部署的成熟直播源码 。自己研发直播系统需要投入大量的资金,资金也不是创业团队能承受的,最要紧的是,时间和机会成本,那是创业公司的生命线。所以最好的打算就是采用像呆萌直播这样的第三方音视频SDK,把擅长的事留给擅长的人去做,而自己可以把更多的时间和精力用在运营上,岂不两全其美。由于目前直播技术相对都比较成熟,设备也都支持硬编码,建议可以自主购买一整套的程序源码,把程序架构搭好,然后再进行程序的二次开发快速运营。

本文由betway必威登录平台发布于互联网医疗,转载请注明出处:LNMP开荒条件搭建连串简要介绍

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。