在此之前在应用nginx和nginx-rtmp-module搭建流媒体服务器的时候境遇1个很为难的难点,就是在把nginx-rtmp-module模块添加到nginx中去的时候,笔者起初河应用的做法是先卸载原来的nginx,再下载nginx和nginx-rtmp-module的源码重新编译并安装.重装完之后作者测试了一晃流媒体服务器是例行的,可是接下去难题来了,由于本身有部分WEB工程是安插在在此之前搭建好的LUMP环境下的,现在重装了nginx,这一个工程必要重新安排.于是,作者又起来重新安排那些WEB工程,不过结果让自己哭晕在了洗手间,因为nginx的目录结构爆发了十分大改变,导致自家不能布置原来的WEB工程了.此后本人陷入了相当短日子的垂死挣扎和动摇,网上寻找了不少化解方案,可是这几个方案大多都以讲求讲怎么编写翻译安装nginx以及举办推拉流测试,没有涉嫌到自家那地方的难点.后来,作者在浏览帖子的时候来看有人说把团结编译的nginx可执行文件替换掉原来的nginx共享库能解决难题,于是立马试了壹把,结果发现确实能够!今后的nginx能同时运维流媒体服务和配备WEB工程,鱼与熊掌兼得!

  在此之前在利用nginx和nginx-rtmp-module搭建流媒体服务器的时候碰着三个很难堪的题材,正是在把nginx-rtmp-module模块添加到nginx中去的时候,作者最开端利用的做法是先卸载原来的nginx,再下载nginx和nginx-rtmp-module的源码重新编写翻译并安装.重装完之后小编测试了1晃流媒体服务器是正规的,不过接下去难点来了,由于自个儿有1对WEB工程是布署在此前搭建好的LUMP环境下的,今后重装了nginx,那一个工程须求重新布署.于是,小编又起来重新计划这一个WEB工程,不过结果让自己哭晕在了洗手间,因为nginx的目录结构发生了非常的大改变,导致自家无法布署原来的WEB工程了.此后自个儿陷入了十分长日子的垂死挣扎和动摇,网上搜寻了不胜枚举消除方案,不过那几个方案大多都是强调讲什么样编写翻译安装nginx以及进行推拉流测试,未有涉及到本身那地点的难题.后来,笔者在浏览帖子的时候见到有人说把温馨编写翻译的nginx可执行文件替换掉原来的nginx共享库能一举成功难点,于是立马试了壹把,结果发现真正能够!将来的nginx能同时运转流媒体服务和安顿WEB工程,鱼与熊掌兼得!

Ubuntu下选择nginx和nginx-rtmp-module搭建流媒体服务器的不利姿势,nginxrtmpmodule

  此前在运用nginx和nginx-rtmp-module搭建流媒体服务器的时候遭遇三个很尴尬的难点,正是在把nginx-rtmp-module模块添加到nginx中去的时候,笔者最开首选拔的做法是先卸载原来的nginx,再下载nginx和nginx-rtmp-module的源码重新编写翻译并安装.重装完之后作者测试了弹指间流媒体服务器是健康的,不过接下去难题来了,由于笔者有1对WEB工程是布置在事先搭建好的LUMP环境下的,现在重装了nginx,那些工程须求重新布置.于是,作者又起来重新安排这一个WEB工程,可是结果让自身哭晕在了厕所,因为nginx的目录结构发生了很大改观,导致本身无法陈设原来的WEB工程了.此后作者陷入了非常长日子的挣扎和徘徊,网上搜索了众多缓解方案,不过这么些方案大多都是强调讲怎么编写翻译安装nginx以及实行推拉流测试,未有提到到自家那地点的难题.后来,小编在浏览帖子的时候见到有人说把团结编写翻译的nginx可执行文件替换掉原来的nginx共享库能一蹴而就难题,于是立马试了1把,结果发现真正能够!今后的nginx能而且运转流媒体服务和安排WEB工程,鱼与熊掌兼得!

  上面容易介绍一下自家的操作进度,希望能为赶上同样标题的你带来一些支援(笔者的布局环境:Ubuntu
Server 1陆.0肆 + nginx一.十.0 + nginx-rtmp-module-master).

  壹.先采取apt-get的点子安装nginx.近年来用此办法安装的nginx的版本号为一.十.0

1 sudo apt-get update
2 sudo apt-get install nginx

  二.到你欣赏的目录下用你欣赏的名字创办三个目录,用于存放nginx和nginx-rtmp-module的源码,例如:作者在根目录/softwares(softwares也是本人要好创办的)上边创立了nginx目录,接下去作者会把nginx和nginx-rtmp-module下载到nginx目录下.

1 cd softwares/
2 sudo mkdir nginx

  3.进入nginx目录.

1 cd nginx/

  四.下载nginx源码,注意:下载的源码版本须求与步骤1安装的nginx的本子保持1致,以幸免不供给的难题.获取nginx源码的路子很多,此处推荐二种方式.

  方式a:在顶峰履行apt-get source nginx命令,间接拿走到对应版本的源码.

1 sudo apt-get source nginx

  此措施下载完现在会自动解压,nginx-一.10.0索引即nginx源码目录.

  情势b:在nginx的官网上边找到对应版本然后下载.

1 sudo wget http://nginx.org/download/nginx-1.10.0.tar.gz

  此方法下载完未来需求协调手动解压.解码命令:

1 sudo tar zxvf nginx-1.10.0.tar.gz

  5.下载nginx-rtmp-module的源码.

1 sudo wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

  因为nginx-rtmp-module已在GitHub上开源,所以也得以直接从GitHub上获取.GitHub地址:
.

module搭建流媒体服务器的科学姿势,⑦进程详解。  陆.解压nginx-rtmp-module源码的缩减包.

1 sudo unzip master.zip

  7.进来nginx源码目录.

1 cd nginx-1.10.0/

  八.查看当前nginx的布局新闻,并将近期计划消息完整保存到一个地点,前边在编写翻译nginx源码的时候必要依照当前的配置音讯来展开配置.

1 nginx -V

  注意命令行中的V是大写哦,小写只可以看看nginx的版本号.我日前的nginx配置新闻如下:

--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

  玖.陈设nginx源码编写翻译新闻,将nginx-rtmp-module添加到nginx中.

1 sudo ./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master

  注意,那1行命令其实是这么组合的: sudo ./configure
<原来的配备消息>
–add-module=../nginx-rtmp-module-master.那样就将nginx-rtmp-module添加到nginx配置内部了,同时将事先封存的nginx配置音讯添加到了用来此番编写翻译的布局音信里面,尽只怕地确认保障了编写翻译出来的nginx与原来的nginx作用壹致.缜密的同学会发现,其实自身在配备nginx音讯的时候并从未将原来有所的布署音信都写进去,原因是一旦整个复制粘贴过去,在编写翻译的时候会产出1些不太好处理的荒谬,那几个错误最近半会儿还没找到好的消除方案,所以就减弱了1部分配备音信,缩减之后在成效模块上并无太大距离,所以可放心使用.

  拾.布署完毕未来,执行make命令伊始编写翻译nginx源码.编写翻译达成未来,会在nginx源码目录的objs目录下生成nginx可实施文件.

1 sudo make

  1壹.将转移的nginx可执行文件拷贝到/usr/sbin目录下,替换原来的nginx共享库文件.
注意:
原来/usr/sbin目录有贰个nginx共享库文件,大家利用编写翻译出来的nginx可执行文件对其展开替换.

1 sudo nginx /usr/sbin

  12.重启nginx.

1 sudo service nginx restart

  1三.重新查看nginx配置音讯.

1 nginx -V

  能够见到nginx-rtmp-module模块已经添加到了nginx里面.

1 --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master

  试了试推流拉流,效用平常,再运维了1晃本来的WEB工程,也正常!

  最终,小编说惠氏(WYETH)下为啥要先通过apt-get的措施安装nginx,再拓展编写翻译替换.原因是为着便利在LUMP环境下安排WEB工程.固然不先通过apt-get的不2诀窍安装nginx,而是平素下载源码编写翻译安装,则nginx的配置目录会不完备,很难去布署WEB项目(可能通过某个操作也能兑现安插,可是实际怎么操作如故要花时间去研究nginx的).假诺不搭建流媒体服务,笔者提议都通过apt-get的章程安装nginx,步骤省略又便捷!

 

之前在使用nginx和nginx-rtmp-module搭建流媒体服务器的时候碰到2个…

前言

  下边简单介绍一下自小编的操作进度,希望能为遇见相同难点的您带来1些帮扶(笔者的安排环境:Ubuntu
Server 1陆.0四 + nginx一.十.0 + nginx-rtmp-module-master).

  上面不难介绍一下本身的操作进程,希望能为赶上同样难题的您带来一些支持(小编的布置环境:Ubuntu
Server 1陆.0四 + nginx1.十.0 + nginx-rtmp-module-master).

近日由于换了硬盘重装了(升级)系统到Ubuntu1陆.0四将来,开发条件也要重新安装,其实16.04源之中私下认可的PHP版本就是7.x,然而有个难点正是从未OCI扩张,有品种须求采取到Oracle数据库。

  一.先选择apt-get的办法安装nginx.如今用此办法安装的nginx的版本号为一.10.0

  壹.先采纳apt-get的措施安装nginx.近期用此措施安装的nginx的版本号为一.10.0

准备编写翻译环境

1 sudo apt-get update
2 sudo apt-get install nginx
1 sudo apt-get update
2 sudo apt-get install nginx

鉴于全数编写翻译太过头繁琐,而且许多借助会失常,所以大家挑选别的一种方案,能运用apt-get安装都施用apt-get安装。不能动用apt-get才自己编写翻译,那样可以节省大批量的年月。因为有的重视真的是很脑瓜疼。

  二.到您喜爱的目录下用你欢跃的名字创办三个索引,用于存放nginx和nginx-rtmp-module的源码,例如:作者在根目录/softwares(softwares也是自小编本人成立的)上边创造了nginx目录,接下去小编会把nginx和nginx-rtmp-module下载到nginx目录下.

  贰.到您喜爱的目录下用你欢欣的名字创办二个目录,用于存放nginx和nginx-rtmp-module的源码,例如:我在根目录/softwares(softwares也是自身要好创制的)上面创制了nginx目录,接下去作者会把nginx和nginx-rtmp-module下载到nginx目录下.

出于在Ubuntu1陆.0四上,默许的PHP版本正是7.x。由于我们要使用Apache贰.4+PHP,所以安装如下模块即可直接解析PHP。

1 cd softwares/
2 sudo mkdir nginx
1 cd softwares/
2 sudo mkdir nginx
sudo apt-get install php-dev libapache2-mod-php

  3.进入nginx目录.

  3.进入nginx目录.

这般最基本的模块就安装好了,假诺还索要其它的模块,能够由此apt-get急忙安装;比如还亟需MySQL和mb_string相关的模块。

1 cd nginx/
1 cd nginx/
sudo apt-get install php-mysql php-mbstring

  四.下载nginx源码,注意:下载的源码版本须求与步骤一装置的nginx的版本保持壹致,以幸免不要求的难题.获取nginx源码的路径很多,此处推荐二种格局.

  肆.下载nginx源码,注意:下载的源码版本须求与步骤一安装的nginx的版本保持一致,以制止不须求的难点.获取nginx源码的路径很多,此处推荐三种格局.

诸如此类就会自行安装好不非亲非故系的模块。

  情势a:在终端履行apt-get source nginx命令,间接获得到对应版本的源码.

  情势a:在极端履行apt-get source nginx命令,直接得到到对应版本的源码.

安装Oracle Client

1 sudo apt-get source nginx
1 sudo apt-get source nginx

由于要编写翻译OCI扩张,我们要求Oracle客户端,那里我们下载Oracle Instant
Client,选择Instant Client for Linux x86-64 basic本子下载。

  此办法下载完之后会活动解压,nginx-壹.10.0索引即nginx源码目录.

  此办法下载完事后会自行解压,nginx-一.十.0目录即nginx源码目录.

别的要编写翻译OCI必须还亟需instant client SDK包,下载解压之后合并到Base。

  形式b:在nginx的官网下边找到对应版本然后下载.

  格局b:在nginx的官网上边找到对应版本然后下载.

付出的网页最终边也有安装步骤,那里简述一下

1 sudo wget http://nginx.org/download/nginx-1.10.0.tar.gz
1 sudo wget http://nginx.org/download/nginx-1.10.0.tar.gz
  • 解压zip包,放置到有个别目录下
  • 为近来版本的Instant Client创设合适的链接
  • 安装环境变量

  此方法下载完之后要求团结手动解压.解码命令:

  此情势下载完之后要求团结手动解压.解码命令:

sudo unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
sudo unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
sudo mv instantclient_12_1/ /opt/oracle/
cd /opt/oracle/instantclient_12_1/
# 建立符号链接
sudo ln -s libclntsh.so.12.1 libclntsh.so
sudo ln -s libocci.so.12.1 libocci.so
# 打开 /etc/profile 在最后面加入
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_12_1:$PATH
# 最后source一下,使配置生效
source /etc/profile
1 sudo tar zxvf nginx-1.10.0.tar.gz
1 sudo tar zxvf nginx-1.10.0.tar.gz

下载PHP源码

  5.下载nginx-rtmp-module的源码.

  5.下载nginx-rtmp-module的源码.

先是大家要规定已经安装的PHP的版本,由于应用apt-get安装,版本恐怕不是PHP官网放的摩登的版本,使用上边的命令既可查阅

1 sudo wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
1 sudo wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
php -v

  因为nginx-rtmp-module已在GitHub上开源,所以也足以直接从GitHub上获取.GitHub地址:
.

  因为nginx-rtmp-module已在GitHub上开源,所以也能够直接从GitHub上获取.GitHub地址:
.

发觉自身的装置的版本是七.0.四,那么大家相应的下载PHP-7.0.4版本的源码。

  六.解压nginx-rtmp-module源码的缩减包.

  陆.解压nginx-rtmp-module源码的削减包.

两种办法得以下载到源码。

1 sudo unzip master.zip
1 sudo unzip master.zip
  1. 从官网下载源码包
  2. 从GitHub 仓库 clone

  柒.进入nginx源码目录.

  七.进去nginx源码目录.

官网下载源码很不难,打开php.net的Download页面,选择要下载的本子。恐怕从GitHub仓库clone钦命版本(或许先clone再checkout想要的版本),如

1 cd nginx-1.10.0/
1 cd nginx-1.10.0/
git clone -b PHP-7.0.4 https://github.com/php/php-src && cd php-src

  捌.查看当前nginx的布署新闻,并将近来安插信息完全保留到三个地点,前边在编写翻译nginx源码的时候供给依照当前的安插音讯来进展配置.

  8.翻看当前nginx的配备新闻,并将近日布局音讯完全保留到三个地方,前边在编写翻译nginx源码的时候须要依照当前的计划消息来展开配置.

编译OCI8/PDO_OCI

1 nginx -V
1 nginx -V

透过如上的步子大家早已跻身到下载的PHP源码根目录了,那么我们起首编写翻译。

  注意命令行中的V是大写哦,小写只好见到nginx的本子号.我眼下的nginx配置新闻如下:

  注意命令行中的V是大写哦,小写只赏心悦目看nginx的版本号.笔者当下的nginx配置音讯如下:

编译oci8

--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

跻身到扩大oci八的源码目录,使用phpize

  九.安顿nginx源码编写翻译音讯,将nginx-rtmp-module添加到nginx中.

  玖.安顿nginx源码编写翻译音讯,将nginx-rtmp-module添加到nginx中.

cd ext/oci8
phpize
./configure --with-oci8=instantclient,/opt/oracle/instantclient_12_1
sudo make
1 sudo ./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master
1 sudo ./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master

实践完上面包车型客车步调,应该会扭转二个modules文件夹,里面就有大家想要的extension。

  注意,这一行命令其实是如此组合的: sudo ./configure
<原来的布局音信>
–add-module=../nginx-rtmp-module-master.那样就将nginx-rtmp-module添加到nginx配置内部了,同时将事先封存的nginx配置音讯添加到了用来本次编写翻译的配备信息里面,尽只怕地确认保障了编写翻译出来的nginx与原先的nginx效能壹致.仔细的同学会发现,其实自己在安排nginx音讯的时候并不曾将原来有所的布局音讯都写进去,原因是一旦整个复制粘贴过去,在编写翻译的时候会产出壹些不太好处理的荒谬,那一个错误目前半会儿还没找到好的缓解方案,所以就收缩了部分安插音讯,缩减之后在功效模块上并无太大差距,所以可放心使用.

  注意,那1行命令其实是这般组合的: sudo ./configure
<原来的安顿新闻>
–add-module=../nginx-rtmp-module-master.那样就将nginx-rtmp-module添加到nginx配置内部了,同时将此前封存的nginx配置新闻添加到了用来本次编写翻译的计划音信里面,尽恐怕地保管了编写翻译出来的nginx与原来的nginx功效1致.细致的同学会发现,其实我在布局nginx新闻的时候并从未将原本持有的配置新闻都写进去,原因是只要全勤复制粘贴过去,在编译的时候会现出部分不太好处理的不当,那几个不当暂时半会儿还没找到好的缓解方案,所以就缩小了部分铺排新闻,缩减之后在作用模块上并无太大不同,所以可放心使用.

编译pdo_oci

  十.布署完成现在,执行make命令初始编译nginx源码.编写翻译实现之后,会在nginx源码目录的objs目录下生成nginx可实行理文件件.

  10.布局实现今后,执行make命令初叶工编织译nginx源码.编写翻译实现现在,会在nginx源码目录的objs目录下生成nginx可实施文件.

步骤和编写翻译oci八是相同的,不过configure参数不雷同,所以仍然写一下。

1 sudo make
1 sudo make
cd ../../ext/pdo_oci
phpize
# 最后面要指定版本号
./configure --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1
sudo make

  1一.将转移的nginx可执行文件拷贝到/usr/sbin目录下,替换原来的nginx共享库文件.
注意:
原来/usr/sbin目录有3个nginx共享库文件,大家利用编写翻译出来的nginx可执行文件对其进行替换.

  1一.将转变的nginx可执行文件拷贝到/usr/sbin目录下,替换原来的nginx共享库文件.
注意:
原来/usr/sbin目录有1个nginx共享库文件,大家选拔编译出来的nginx可执行文件对其展开替换.

结果也和方面1样。

1 sudo nginx /usr/sbin
1 sudo nginx /usr/sbin

运用大家编写翻译的扩展

  12.重启nginx.

  12.重启nginx.

先是大家要精通现行反革命PHP的ext目录在何地

1 sudo service nginx restart
1 sudo service nginx restart
php -i | grep "extension_dir"

  壹三.双重查看nginx配置消息.

  壹3.再一次查看nginx配置音信.

本人那里展现的是extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012,那么大家先把大家编写翻译的恢弘复制到/usr/lib/php/20151012

1 nginx -V
1 nginx -V
# 先进入对应的modules目录下
cp oci8.so /usr/lib/php/20151012
cp pdo_oci.so /usr/lib/php/20151012

  能够观望nginx-rtmp-module模块已经添加到了nginx里面.

  能够看到nginx-rtmp-module模块已经添加到了nginx里面.

接下来大家还要在php.ini中添加相关铺排项,首先也要精通php.ini的岗位

1 --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master
1 --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master
p -i | grep "Configuration File"

  试了试推流拉流,功用不奇怪,再运维了瞬间原本的WEB工程,也常常!

  试了试推流拉流,作用平常,再运转了眨眼之间间原本的WEB工程,也正常!

打印出了如下新闻

  最后,作者说圣元(Synutra)(Nutrilon)下为什么要先经过apt-get的秘诀安装nginx,再拓展编译替换.原因是为着便利在LUMP环境下布署WEB工程.假设不先通过apt-get的措施安装nginx,而是径直下载源码编写翻译安装,则nginx的安插目录会不完备,很难去安插WEB项目(恐怕通过一些操作也能实现布置,可是现实怎么操作依旧要花时间去商讨nginx的).若是不搭建流媒体服务,我建议都经过apt-get的办法安装nginx,步骤省略又省事!

  最终,笔者说美素佳儿下怎么要先经过apt-get的法子安装nginx,再展开编写翻译替换.原因是为着便于在LUMP环境下布署WEB工程.假使不先通过apt-get的点子安装nginx,而是一向下载源码编写翻译安装,则nginx的配置目录会不完备,很难去安顿WEB项目(恐怕通过①些操作也能落到实处布署,可是具体怎么操作依然要花时间去钻探nginx的).若是不搭建流媒体服务,笔者提议都经过apt-get的不贰秘籍安装nginx,步骤省略又省事!

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

 

 

如此那般咱们就通晓了php.ini的岗位,可是那一个是CLI(命令行接口)的安插文件,我们须求使用Apache的(CGI)。我们到目录/etc/php/柒.0/下发现还有八个名叫apache二的目录,里面也有php.ini文件,那么我们编辑apache二目录下的php.ini

sudo vim php.ini

在里边加入

extension=oci8.so
extension=pdo_oci.so

末段重启Apache

systemctl restart apache2.service

查看一下phpinfo()发现OCI和PDO_OCI均已设置。到此处安装已经全体到位了。

Linux小技巧

澳门金沙国际,在设置和查资料的长河中发觉了一下很实用的下令,也把它们记录下来。

# 重启某个服务
sudo systemctl restart apache2.service
# 查看某个服务的状态
sudo systemctl status apache2.service
# 查看php相关的模块(其他的类似)
apt-cache search php- | less
# 具体查看某个模块的详细信息
apt-cache show package_name

总结

如上正是那篇文章的全体内容了,希望本文的始末对大家的学习也许工作能推动一定的扶植,如若有问号大家能够留言沟通,谢谢大家对台本之家的支撑。

您恐怕感兴趣的文章:

  • #实践笔记#Ubuntu配置Apache+PHP+MySQL
  • 在Linux(Ubuntu)下搭建PHP环境的操作步骤
  • Ubuntu中搭建Nginx、PHP环境最简便易行的格局
  • ubuntu上陈设Nginx+PHP5法斯特CGI服务器配置
  • Ubuntu linux 安装
    PHP5.3.0的命令
  • 基于ubuntu下nginx+php+mysql安装配备的具体操作步骤
  • 在Ubuntu 14.04上部署 PHP 环境及
    WordPress
  • ubuntu下配置nginx+php+mysql详解
  • Ubuntu中援救PHP伍与PHP7双版本的粗略落成

相关文章