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

目录
1、 CentOS 7 的安装 ..................................................................................................................... 3
2、 MySQL 5.7 的安装 ................................................................................................................... 9
3、 PHP 7.0 的安装 ....................................................................................................................... 14
4、 Nginx 的安装 ........................................................................................................................... 21php

 1、 CentOS 7 的安装

    CentOS 的安装基本和其余的 Linux 安装基本一致,CentOS 7下载地址:https://www.centos.org/download/mysql

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

 

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

3. 其余配置选择

    这里根据本身的实际状况来作选择,通常“软件选择”这一项都选择最小安装,就
是不用安装界面。“网络和主机名”若是你已经链接网络了,那么选择这一项,进行开启
网络,系统会自动获取 ip 而且链接到网络nginx

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

    在这里咱们能够进行建立用户或者给 Root 用户设置密码sql

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

5. 重启完成后,提示咱们须要输入用户名密码登陆

    这里咱们输入 root。密码输入咱们在安装的时候设置的密码登陆便可centos

    登陆以后咱们就能够看到操做界面api

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 端口便可

2、 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;命令提交刚才的修改

        而后咱们再修改/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 了

3、 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-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/php.d \
--with-mcrypt=/usr/include \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

上面命令中的--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 ….这条命令。这个时候环境检查提示咱们成功,能够
进行编译了。以下图:

编译安装php报错PHP configure: error: mcrypt.h not found. Please reinstall libmcrypt. 解决办法

使用php mcrypt 前必须先安装Libmcrypt
libmcrypt源码安装方法:

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure  –prefix=/usr/local
make
make install

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

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

而后咱们执行 make install 安装。

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

而后咱们能够利用 whereis php 查看安装路径

调整php配置

默认安装好以后,你会发现/usr/local/php/etc下面没有php.ini文件,这个去哪里要呢?在php7的源码安装包都有。

$ cd /usr/src/php-7.0.6/
$ ls

能够看到有两个php.ini-xxx文件,咱们能够分别vi打开来看下,一个是产品模式,一个是开发模式。

$ cp php.ini-production /usr/local/php/etc/php.ini
$ vi /usr/local/php/etc/php.ini

能够看到php的配置。本文就不作过多的配置解释了。

 

 

编辑该文件,vi /usr/local/php/etc/php.ini,找到 data.timezone 节点,去掉注释,设置时区为
Asia/Shanghai
data.timezone = ‘Asia/Shanghai’至于其余的设置,具体参考百度,这里不作详细说
明,而后保存退出。

3.启用php-fpm服务

上面咱们在编译php7的时候,已经将fpm模块编译了,那么接下来,咱们要启用php-fpm。可是默认状况下它的配置文件和服务都没有启用,因此要咱们本身来搞定。

搞定配置文件:

$ cd /usr/local/php/etc
$ mv php-fpm.conf.default php-fpm.conf
$ mv php-fpm.d/www.conf.default php-fpm.d/www.conf

经过 cat www.conf。咱们就会看到 fpm 的一些配置信息了。

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

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

php-fpm的具体配置咱们也不作深刻去详解,由于在编译以前./configure的时候,咱们都已经肯定了一些配置,好比运行fpm的用户和用户组之类的,因此默认配置应该不会存在路径问题和权限问题。

搞定php-fpm的服务载入:

就像上面的nginx同样,咱们但愿使用service php-fpm start|stop|restart这些操做来实现服务的重启,但没有像nginx那么复杂,php编译好以后,给咱们提供了一个php-fpm的程序,不须要我再编写分享了。这个文件放在php编译源码目录中:

$ cd /usr/src/php-7.0.6/sapi/fpm
$ ls
$ cp init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm
$ chkconfig --add php-fpm
$ chkconfig php-fpm on

经过上面这个操做,咱们就可使用sevice php-fpm start来启用php-fpm了。用ps -ef | grep php-fpm看看进程吧。

4、 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,而后输入

<? echo phpinfo(); ?> 而后保存退出

 

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

若是在访问,则须要在防火墙开通 80 端口,firewall-cmd -–permanent -–add-port=80/tcp 而后再执行 firewall-cmd -–reload。如今就能够访问了。

相关文章
相关标签/搜索