搜索
您的当前位置:首页正文

CentOS 7下PHP 7的环境安装

来源:六九路网


CentOS 7下PHP7.0环境安装手册

制作单位 文档编号 版本号 作者 编写日期

深圳市曼拓莱科技有限公司 MTL-HELP-SOFT-C0002 1.0 GavinYan 2016-05-22 目录

一、 CentOS 7 的安装 ..................................................................................................................... 3 二、 MySQL 5.7的安装 ................................................................................................................... 9 三、 PHP 7.0的安装 ....................................................................................................................... 14 四、 Nginx的安装 ........................................................................................................................... 21

一、 CentOS 7 的安装

CentOS的安装基本和其他的Linux安装基本一致,

1. 首先开始进入安装界面,用方向键选择“Install CentOS 7”然后回车进入安装

2. 选择安装语言,这里我选择简体中文

3. 其他配置选择

这里根据自己的实际情况来做选择,一般“软件选择”这一项都选择最小安装,就是不用安装界面。“网络和主机名”如果你已经连接网络了,那么选择这一项,进行开启网络,系统会自动获取ip并且连接到网络

4. 点击开始安装,进入安装界面

在这里我们可以进行创建用户或者给Root用户设置密码

设置完密码后点击完成,然后等待安装完成。当安装完成后,会提示重启计算机。这时点击重启,重新启动计算机,CentOS 7 就安装完成了。

5. 重启完成后,提示我们需要输入用户名密码登录

这里我们输入root。密码输入我们在安装的时候设置的密码登录即可

登录之后我们就可以看到操作界面

6. 设置开启SSH

由于CentOS自带了OpenSSH-Server。所以我们无需在安装OpenSSH-Server,我们这里只需要设置开启SSH-Server的Root远程登录即可,当然这个根据实际情况来做决定,一般生产环境为了安全是不会开启这个的,这里我们为了方便开启root的远程登录。

首先进入/etc/ssh目录,cd /etc/ssh,然后打开编辑文件“sshd_config”vi sshd_config。然后我们找到PermitRootLogin,然后删除掉注释的“#”,

然偶保存并且退出。然后我们执行命令service sshd restart重启sshd服务,然后我们用命令ps –ef | grep sshd看sshd有没有启动,如下图证明服务已经启动

7. 设置防火墙开启SSH的22端口

由于CentOS默认开启了防火墙FireWall,所以我们需要开启ssh的22端口我们才能用SecureCRT连接CentOS进行操作,使用命令firewall-cmd –-permanent –-add-port=22/tcp。这样我们就永久开启了22端口,然后执行命令firewall-cmd -–reload来重新加载配置防火墙配置文件,然后再执行命令firewall-cmd -–list-ports看看端口是否开启。如下图

8. 设置开启MySQL数据库的3306端口 这里的设置如上设置开启22端口的方法一样,

9. 设置开启Web服务器所需要的80端口 这个设置同上,开启80端口即可

二、 MySQL 5.7的安装

1. 首先我们去官网下载mysql的安装源,地址为:http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm。安装了这个源之后,我们就可以通过yum来安装mysql了,具体的版本根据自己的实际情况去下载。用 wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 下载。然后安装rpm –ivh mysql57-community-release-el7-8.noarch.rpm。

2. 然后用yum来安装mysql。yum install mysql-server。

这里我们看到找到的mysql版本是5.7,是和我们下载的源的那个版本是对应的,5.7也是目前最新的版本。开始安装,因为要下载安装包以及相关的依赖包,所以可能需要

一点时间,耐心等待安装完成就好。

3. 安装完成之后我们需要设置mysql的密码等信息,否则我们是无法连接的到mysql的。

首先我们进入/etc目录,然后编辑my.cnf文件,在最后一行加上skip-grant-tables 这段代码,这段代码表示跳过mysql的密码验证。

然后保存退出,然后执行命令::service mysqld restart重启mysql服务

然后我们可以用命令:mysql –u root,执行这段命令后,会直接进入mysql,无需输入密码

然后我们执行sql命令:use mysql;进入mysql这个数据库

然后再执行sql命令:update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';来修改root的密码,执行完成后,会提示我们修改的结果,如下图表示修改成功。

然后我们再执行sql:flush privileges;命令提交刚才的修改

提交完成之后执行命令exit我们退出mysql

然后我们再修改/etc/my.cnf文件,注释掉刚才我们添加的那行配置

然后保存并退出,再执行命令::service mysqld restart重启mysql服务,然后执行命令:mysql –r root –p命令来登陆mysql

执行后,会提示我们输入密码,我们输入刚才修改的密码回车就可以登陆

但是这个时候我们登陆之后想开启远程连接会提示我重置密码。

这个时候mysql会提示我们必须要重新初始化密码我们才能进行操作。那我们必须执行命令:alter user 'root'@'localhost' identified by '123456';重置密码,但是这个命令会提示我们设置的密码不符合规则,

我们设置复杂点的密码,在执行命令:alter user 'root'@'localhost' identified by 'Mtl@.com123';这个时候提示我们修改成功。

再执行flush privileges;提交修改结果

然后执行exit退出mysql登陆,在执行mysql –u root –p来,然后再输入刚才重置的密码登陆

然后再执行:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mtl@.com123' WITH GRANT OPTION;这其中BY后面的就是我们上面设置的密码

再执行flush privileges;提交修改结果

现在我们就可以用Navicat工具,用root身份来登陆mysql了

三、 PHP 7.0的安装

1. 我们去官网下载php的安装源码,目前我在官网没发现rpm安装包(其实生产环境我希望用rpm安装因为不再需要安装其他的一些开发库等等,给服务器造成不必要的安全性),我们只能下载源码编译安装,下载地址:http://cn2.php.net/distributions/php-

7.0.6.tar.gz。,然后下载wget http://cn2.php.net/distributions/php-7.0.6.tar.gz下载完成之后我们解压文件,tar -zxvf php-7.0.6.tar.gz。解压后我们得到文件夹php-7.0.6

2. 编译php

进入解压后的文件夹 cd php-7.0.6.然后检查和设置编译配置 ./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml

--enable-inline-optimization

--enable-gd-native-ttf

--enable-

mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

上面命令中的--prefix=/usr/local/php为我们php的安装路径,执行上面命令后,就会提示我们系统没有编译器,如下图:

我们这里安装gcc编译器,yum install gcc,安装后我们再次执行上面的命令这个时候又提示我们系统没有libxml2依赖包。

我们继续安装需要的依赖包yum install libxml2,为了全部安装php需要的依赖包,我们这里直接全部安装。yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype

freetype-devel libxml2 libxml2-devel mysql pcre-devel openssl openssl-devel yum -y install curl-devel

yum -y install libxslt-devel执行这三条安装命令后,php需要的依赖包基本全部安装完成。我们再次执行 ./configure ….这条命令。这个时候环境检查提示我们成功,可以进行编译了。如下图:

现在我们可以执行make命令进行编译了。执行make命令编译。这里编译需要一段时间。需要耐心等待。编译完成之后,提示我们执行make test来测试,其实我这里也可以不用测试。如下图:

我这里执行make test测试。这个过程也需要等待比较长时间。等待测试完成之后,一般不出现大问题的情况下都会测试通过,他会提示我们是否发送信息,我们选择否

然后我们执行make install安装,

安装完成之后,我们执行make clean清理编译的文件。

然后我们可以利用whereis php查看安装路径

然后再将源代码目录中的php.ini-development文件copy到php的安装目录,并且修改名称为php.ini。cp php.ini-development /usr/local/php/etc/php.ini,然后编辑该文件,vi /usr/local/php/etc/php.ini,找到data.timezone节点,去掉注释,设置时区为Asia/Shanghai

data.timezone = ‘Asia/Shanghai’至于其他的设置,具体参考百度,这里不做详细说明,然后保存退出。

然后重命名文件php-fpm.conf.default为php-fpm.conf,命令:mv php-fpm.conf.default php-fpm.conf。然后再进入php-fpm.d目录,重命名文件www.conf.default为www.conf。这个文件为fmp pool的定义,可以定义多个。然后通过 cat www.conf。我们就会看到fpm的一些配置信息了。

其中的listen为php-fpm监听的地址。这些我们都无需配置了。默认就好。 然后我们进入目录/usr/local/php/sbin。然后执行./php-fpm –t来测试配置信息是否有正确

如果没有异常,则说明fpm配置正确。剩下的就是我们需要在nginx中配置php的解析信息了。

四、 Nginx的安装

1. Nginx的安装有源码编译安装和rpm包安装,一般生产环境的服务器都采用rpm包安装,免去了在服务器安装编译器等其他库带来的麻烦和不安全性

wget

http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm,然后安装 rpm –ivh nginx-release-centos-5-0.el5.ngx.noarch.rpm

安装完成之后我们查看安装路径 whereis nginx

然后我们进入/etc/nginx,编辑nginx.conf配置文件 vi nginx.conf,然后配置php的解析服务器

编辑完成之后保存并且退出,执行/usr/sbin/nginx –t 来测试配置信息是否正确

然后/usr/sbin/nginx启动nginx。如果nginx已经启动,则利用重新加载配置文件/usr/sbin/nginx –s reload。然后在启动fpm,在php的安装目录下有fpm程序,运行他即可。我这里的目录是/usr/local/php,然后进入sbin目录然后./php-fpm就可以启动了,当然你也可以直接执行/usr/local/php/sbin/php-fpm启动。

根据上面的配置,我们在/home/www这个站点目录下新建一个index.php,然后输入 然后保存退出

在浏览器中输入http://192.168.177.135/index.php来测试,如果成功浏览器会打印php环境的信息。

如果在访问,则需要在防火墙开通80端口,firewall-cmd -–permanent -–add-port=80/tcp然后再执行firewall-cmd -–reload。现在就可以访问了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top