欢迎光临
我们一直在努力

Centos7编译安装(PHP、MariaDB、Nginx)环境

以前建站一直用的各种一键安装包,既方便又快捷,但是慢慢的自己的Linux技术上来以后感觉再用一键安装包会给后期的运维挖一个大坑,因为执行一个安装脚本后,都不知道干了些什么,出问题也不知道去哪里解决,那么就萌生了一个自己编译安装的想法,记过网上的资料,与多次实战,将成功的编译方法再次记录与分享一下,OK,直接开始吧。

本次编译的环境是Centos7、PHP5.5.27、MariaDB5.5.44、Nginx1.6.1,建议最小内存为1G。

一、系统前期准备:

更新系统至最新:

安装必要实用基础软件:

然后重启一下VPS。

二、下载所需软件以及介绍:

安装需要用到的软件有nginx、mysql、php、pcre、openssl、zlib、cmake、mcrypt、yasm、t1lib、libgd、tiff、libpng、libjpeg、freetype。这些软件的简介如下:

(1)Nginx
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。
官方下载地址:http://nginx.org/en/download.html

(2)PHP
官方下载网址:http://cn2.php.net/downloads.php
最新版下载地址:http://cn2.php.net/distributions/php-5.5.16.tar.bz2

(3)MariaDB
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。现在MariaDB官方主推最新版MariaDB 10,其对应MySQL 5.6,但它在文件结构、一些功能上已经和MySQL 5.6大为不同,查看官方博文《MariaDB vs. MySQL》、《MariaDB 10.0 and MySQL 5.6》。如果用于生产环境,建议使用稳定版5.5。
官方下载地址:https://downloads.mariadb.org/;MariaDB 5.5;下载页面:https://mariadb.com/kb/en/mariadb/what-is-mariadb-55/

(4)PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。PCRE被广泛使用在许多开源软件之中,最著名的莫过于Apache HTTP服务器和PHP脚本语言。
官方网址:http://www.pcre.org/

(5)OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。该程序出现安全漏洞时比较危险,建议从官方网站下载最新版。
官方下载网址:http://www.openssl.org/source/

(6)zlib
zlib是提供数据压缩用的函式库,使用DEFLATE算法.zlib是一种事实上的业界标准,以至于在标准文档中,zlib和DEFLATE常常互换使用。数以千计的应用程序直接或间接依靠zlib压缩函式库,包括: Linux核心:使用zlib以实作网络协定的压缩、档案系统的压缩以及开机时解压缩自身的核心;libpng,用于PNG图形格式的一个实现,对bitmap数据规定了DEFLATE作为流压缩方法。Apache:使用zlib实作http 1.1;OpenSSH、OpenSSL:以zlib达到最佳化加密网络传输。
官方下载网址:http://zlib.net/

(7)CMake
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。这里用来编译MySQL或MariaDB
官方网址:http://www.cmake.org/

(8)mcrypt
mcrypt 是 php 里面重要的加密支持扩展库,Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示。
下载地址:http://mcrypt.sourceforge.net/

(9)yasm
In computing, Yasm is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. Yasm is a full rewrite of Netwide Assembler (NASM). Yasm can generally be used interchangeably with NASM and supports the x86 and x86-64 architectures. It is licensed under a revision of the BSD licenses. As of 2011 it was developed by Peter Johnson and Michael Urman.
下载地址:http://yasm.tortall.net/Download.html
(10)libgd
GD 是一个开源的图像处理库,支持 PNG/JPEG/GIF以及其他格式的图像。GD一般被用来创建图表、图形、缩略图以及其他图像相关的处理操作。
下载地址:http://libgd.bitbucket.org/

(11)libpng
libpng 软件包包含 libpng 库.这些库被其他程式用于读写png文件. PNG 库是用来创立和操作PNG 格式的图像文件.PNG 格式是设计来替代GIF,他对于更小范围的TIFF(标记图象文件格式)来说, 有了非常多的进步和拓展并且减少了关于专利权的麻烦.
下载地址:http://www.libpng.org/pub/png/libpng.html

(12)FreeType
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。FreeType 2被设计为一种占用空间小的、高效的、高度可定制的、并且可以产生可移植的高品质输出(符号图像)。可以被用在诸如图像库、展出服务器、字体转换工具、图像文字产生工具等多种其它产品上。
官方网址:http://www.freetype.org/
下载页面网址:http://www.freetype.org/download.html

(13)LibJPEG
LibJPEG 是一个广泛使用的 JPEG 图像压缩库,采用 C 语言开发。
官方网址:http://www.ijg.org/

软件一键下载:

执行以上命令即可下载完毕,上面的源都是linode美国VPS下载速度较快的源,不适合国内云主机,如有在阿里云之类的云主机上下载,需要更换其中的几个源。

三、安装MariaDB:

安装依赖库、编译工具:

安装CMake:

添加mysql运行组及用户、创建数据库数据文件文件夹并授予合适权限:

Trip:/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务。如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。为了系统安全,这里建议使用/bin/false。

编译、安装MariaDB(时间较长):

由于系统自带了MariaDB配置文件,备份或删除它都可以:

初始化数据库,配置启动脚本:

配置MariaDB启动脚本:

把MariaDB加入系统环境变量:

把MariaDB的库文件链接到系统默认的位置,在编译PHP等软件时可以不用指定其库文件地址:

交互式设置数据库:

四、安装Nginx:

创建nginx的用户和用户组:

安装PCRE:

安装OpenSSL:

安装zlib:

安装第三方模块ngx_http_accesskey_module以实现Nginx防盗链

修改config文件,替换其中 的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”.

我们可以在官方文档查看更多信息(http://nginx.org/en/docs/)。下面安装Nginx:

补充:–with-http_sub_module用于替换,非常有用(见Wiki)。–with-http_stub_status_module开启Nginx状态信息,非核心模块,可不加入。

到此,Nginx软件编译并安装完毕。

更多官方文档:nginx documentation

修改Nginx配置文件,改为如下:

注意目前就只修改上面的这一部分。

配置Nginx控制脚本:

写入如下内容:

设置启动脚本、启动Nginx:

把Nginx加入系统变量:

打开地址,输出如下内容说明安装Nginx已经成功:

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

五、安装PHP:

(1)编译安装相关软件:

安装yasm:

安装mcrypt:

安装libvpx:

安装tiff:

安装libpng:

安装freetype:

安装jpeg:

安装libgd:

安装t1lib:

安装php:

注意:如果系统是64位,安装前请执行以下两条命令:

编译并安装PHP:

编译配置说明:

–enable-opcache:PHP5.5内置了Zend Opcache,即Optimizer+,是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件。现在,Zend 科技公司将 Optimizer+ 在 PHP License 下开源成为 Zend Opcache。Zend OPcache 通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。

更多编译信息请查看

编译、安装完成后结尾输出如下一段比较重要的信息:

(2)配置PHP

复制php配置文件到安装目录:

备份系统自带配置文件:

添加软链接到 /etc目录:

拷贝模板文件为php-fpm配置文件:

添加软连接到 /etc目录:

以上几步写法合并如下:

修改PHP配置文件:

配置php-fpm

拷贝php-fpm脚本到启动目录,给予执行权限, 设置开机启动:

把PHP加入系统变量:

(3)配置Nginx支持PHP

修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改:

(4)测试

述配置修改完毕,重启nginx,并启动php-fpm:

六、配置汇总:

根目录: /usr/local/nginx/html/
Nginx配置文件: /usr/local/nginx/conf/nginx.conf
PHP配置文件: /usr/local/php/etc/php.ini
PHP默认拓展文件夹:/usr/lib64/php/modules/
PHP拓展可放置于:/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212
MySQL配置文件: /etc/my.cnf
MySQL程序安装路径: basedir=/usr/local/mysql
MySQl数据库存放目录: datadir=/data/mysql

 

(未完待续,今天先装到这里,明天继续)

未经允许不得转载:李阳博客 » Centos7编译安装(PHP、MariaDB、Nginx)环境

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址