阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7源码编译安装PHP5.6和Nginx1.7.9及MySQL(搭建LNMP环境)

552次阅读
没有评论

共计 4763 个字符,预计需要花费 12 分钟才能阅读完成。

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

想搭建一个 lnmp 的备份服务器…源码编译安装,各种依赖包纠结,所以呢,mariadb(mysql) 是 yum 安装的,php5.6 和 nginx1.7.9 是源码安装的…装着装着,在跑./configure 脚本的时候,又忘记启用 enable curl 等等常用扩展鸟,装完后,又去源码目录编译扩展,动态添加扩展…

一、安装 mariadb(mysql) 服务  yum install mariadb mariadb-server mariadb-devel

自从 mysql 被 Oracle 公司收购后,mysql 就有闭源收费的风险,所以,就有了社区版改装的 mysql 分支 mariadb 来规避这个风险。centos7 开始,yum 源的 mysql 全部都替换成 mariadb 的了。所以,mariadb 是 mysql 的一个分支。不过貌似听说,google 有一部分数据库也都已经迁移到 mariadb 了,真是要鄙视一下 oracle 公司,oracle 数据库都这么赚了,还打着 mysql 的主意…

二、源码编译安装 php5.6

1. 下载 php5.6        wget http://cn2.php.net/distributions/php-5.6.5.tar.gz        纠结的是,刚安装好的 centos 7 连 wget 都木有,所以 yum -y install wget 然后再下载,,,

2. 解压  tar -xvzf php-5.6.5.tar.gz            进入  cd php-5.6.5

3. 运行./configure 脚本,启用需要的扩展模块,并指定 php 的安装目录  ./configure –enable-fpm –enable-mbstring –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd

这一步很是关键的,我忘记指定–prefix,它默认也是给我安装在 /usr/local/php,不过还是指定一下比较妥当。还有,在这里的时候只记得安装 mbstring 和 fpm 扩展,忘记 curl 和 intl(有一个东东是用 yii2 框架做的,需要介个东东) 了,不过忘了也木有关系,到时候在编译扩展,动态安装进去。不过为了能顺利一口气等下输出 phpinfo 页面,能让 nginx 支持 php,一定要把–enable-fpm 加上去,fpm 是 php 的一个脚本管理器,貌似说 php5.3 版本以前,fpm 只是一个补丁 patch,要去 patch 这个目录找他,php5.3 后呢,据说是转正了,php 里面已经集成了,不是第三方包了。只要跟上–enable-fpm 安装完后就可以跑鸟…php 链接 mysql 呢,这个东东也是必须要哒,–with-mysql 是指定 mysql 的头文件,可以 whereis mysql 然后指定 mysql 的安装目录,不过 php5.5 后,直接用 php 提供的 mysql 驱动 mysqlnd 就口以了,据说这个驱动比 mysql 写的那个性能要好。。。巴拉巴拉。。。没有超大流量的站点,我是没能体会到……………….

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

php5.6 ./configure

配置完后,如果没有错误的话,就话看到成功的信息了。如果提示缺什么扩展就装上 xxx-devel 开发包,再运行./configure

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

./configure 结果

然后就是编译 make 了,我的服务器是 3.5G 内存的,双核 cpu 来着,花了貌似十多分钟编译吧

编译完成后,就是 make install 安装滴啦…

make install 结果

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

make install

运行 php - v 就口以看到 php 的版本信息啦,php 5.6 最新版就安装上啦。

ok,到这里差不多的啦,但是还有 php 的配置文件 php.ini 呢,复制一份安装目录下的 php.ini-development 这个配置文件模板到 php 的目录。yum 安装的 php,php 会去 /etc/php.ini 下找自己的配置文件。源码安装的配置文件放哪里的呢。。。写一个 phpinfo() 的页面,然后打开这个页面,google chrome 下 ctrl + f 查找一下 php.ini 就会看到 php 是去哪里找的 php.ini,然后就 cp 这个 php.ini-development 到这个目录下,并改名成 php.ini 就口以了。当然,貌似 php.ini 一般是在 /etc/php.ini 或者 /usr/local/lib/php.ini 中,不对的话,查找一下是最靠谱的解决办法。

为了要让 nginx 支持 php,需要 fastcgi 处理有关 php 的页面,而 php 就需要 php-fpm 这个组件来支持,这个跟 appache 支持 php 是两个不同的原理。上面安装的时候已经./configure –enable-fpm 啦,所以 fpm 已经开启了。当然,我们还需要配置一下 php-fpm,在安装 php 的时候,已经为我们生成了一个配置模板了,在 /usr/local/etc/php-fpm.conf.default 了,只要复制这个模板并改名为 php-fpm.conf 就口以了,进去把 daemonize 改成 yes,以后台服务的运行方式启动。然后捏,whereis php-fpm,这个是个可执行文件,直接执行 php-fpm 就可以运行了,然后 netstat -an| grep php-fpm,看到,果然 9000 号端口在监听啦

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

php-fpm listening

三、源码编译安装 nginx1.7.9

1. 下载 nginx 最新版 wget http://nginx.org/download/nginx-1.7.9.tar.gz

2. 解压 && 进入 tar -xvzf nginx-1.7.9.tar.gz

cd nginx-1.7.9

3. 运行./configure 脚本,指定安装目录      ./configure –sbin-path=/usr/local/nginx –conf-path=/usr/local/nginx/nginx.conf –pid-path=/usr/local/nginx/nginx.pid –with–http_ssl_module

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

nginx ./configure

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

nginx ./configure 结果

然后就设置完了,,,如果报错的话,一般就是找不到依赖,缺什么就 yum -y install xxx-devel,安装完后就口以了。第一次的时候,提示我缺少 pcre,介个东东是正则,rewrite 这样的模块是需要他来支持的,当然可以在 configure 加个选项–without 不安装系统推荐安装的模块就可以跳过这个错误继续安装了。但是,nginx 官方默认安装的模块还是都给装上,少了这个正则,等下 nginx 就没法匹配.php 结尾的文件,再交给 php-fpm 来处理了。

然后,就是编译 make 了。。。纠结的是,nginx 在 make 后,自动就给装上啦,不需要 make install 啦

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

nginx

nginx 成功安装啦

现在,就是要让 nginx 匹配,匹配到.php 结尾的文件,就通过 fastcgi 传给 php-fpm 来解析,解析完后再给 nginx 传给浏览器显示,刚才./configure 时已经指定了 nginx 配置文件地址

修改配置:vim /usr/local/nginx/nginx.conf

大概在 64 行左右,模板已经有支持 php-fpm 的配置了,去掉 #注释,然后重启一下 nginx 就可以了。

再回到 /usr/local/nginx/html 目录,编写一个 phpinfo() 的页面,然后在浏览器中访问这个页面,就能看到 php 和 nginx 的信息了:http://www.linuxidc.com/phpinfo.php

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

phpinfo

往下翻,看到 php 还有很多常用的扩展都没有装上的呢,比如 curl intl openssl 等等其他扩展。这是因为在 php ./configure 的时候,没有 enable 的原因。这些库有需要的时候,可以再去源码目录的 extentison 中编译安装,动态添加进去。

还有一个问题就是,装完后

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

php-mysql

mysql_connet 等系列函数用不了,这种 warning 信息,证明 mysql 驱动是装上了的。因为他毕竟不是报的 undefined function mysql_connet…,这种情况是因为 php 找不到 mysql.sock 的连接。启动 mariadb(mysql) 进入,输入 status,记住 unix socket 的路径

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

mysql.sock

然后把他配置到 php.ini 里面:

vim /usr/local/lib/php.ini 找到 mysql.default_socket,加上刚才的 sock 文件位置

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

mysql.default_socket

然后看看 phpinfo 页面,mysql 扩展中 mysql.default_socket 就有值了。最一开始是没有的,配置了之后才有的,当然如果是 yum 安装的话,不用去配置,php 也是找的到这个 mysql.sock 的。当然 mysqli 和 pdo-mysql 都要这样配一下

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

phpinfo mysql

然后,就能正常输出了

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

mysql 连接成功

因为不是 yum 安装的,nginx 还没有成为系统服务,在 /etc/rd.d/init.d 下新建一个 nginxd 的脚本,方便开机自启以及使用 service nginxd start/stop/restart 来管理 nginx

CentOS 7 源码编译安装 PHP5.6 和 Nginx1.7.9 及 MySQL(搭建 LNMP 环境)

service nginxd start

ok,终于完成了 lnmp 环境的搭建!nginx 也支持 php 了。nginx 和 php 都是源码方式安装的,mariadb 是用 yum 源安装的。好好体会一下 nginx 的魅力以及最新版 php 带来的新功能,准备用这个服务器做个备份的,有想过主从服务器,分布式部署,负载均衡,可惜这两台云服务器不在一个内网。。。慢慢思考吧。加油。

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL  http://www.linuxidc.com/Linux/2014-05/102351.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 6.4 下的 LNMP 生产环境搭建及安装脚本 http://www.linuxidc.com/Linux/2013-11/92428.htm

生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm

LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm

CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-12/126200.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4763字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7978842
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...