LNMP之php yum安装

本文介绍了如何在 CentOS 7 系统上卸载旧版 PHP,通过 YUM 安装 PHP 7.0,并配置与 Nginx 的集成。在安装过程中,详细讲解了如何修改 php-fpm 和 nginx 的配置文件,以及设置目录权限。最后通过 index.php 脚本测试验证 PHP 服务的正常运行,解决可能出现的端口占用问题,为后续搭建网站做好准备。

ENV:

[root@centos7 ~]# uname -r 
3.10.0-514.el7.x86_64
[root@centos7 ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@centos7 ~]# rpm -qa|grep nginx
nginx-release-centos-7-0.el7.ngx.noarch
nginx-1.16.0-1.el7.ngx.x86_64

为了保证系统上php的干净,已经remove掉php的所有相关安装文件

[root@centos7 ~]# yum remove php*
[root@centos7 ~]# rpm -qa|grep php        
[root@centos7 ~]# 

由于centos7的安装库带有php的相关文件,可以直接安装,如不想使用原带的php(版本太低,只是5.4版的,想安装高版本,用到epel)

[root@centos7 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm                                                                             Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
warning: /var/tmp/rpm-tmp.V0soJ9: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:webtatic-release-7-3             ################################# [100%]

安装好后查看下php的版本(新版的7.0,7.1,7.2都有了):

[root@centos7 ~]# yum list|grep php7
mod_php71w.x86_64                      7.1.27-1.w7                     webtatic 
mod_php72w.x86_64                      7.2.16-1.w7                     webtatic 
php70w.x86_64                          7.0.33-1.w7                     webtatic 
php70w-bcmath.x86_64                   7.0.33-1.w7                     webtatic 
php70w-cli.x86_64                      7.0.33-1.w7                     webtatic 
php70w-common.x86_64                   7.0.33-1.w7                     webtatic 
php70w-dba.x86_64                      7.0.33-1.w7                     webtatic 
php70w-devel.x86_64                    7.0.33-1.w7                     webtatic 
php70w-embedded.x86_64                 7.0.33-1.w7                     webtatic 
php70w-enchant.x86_64                  7.0.33-1.w7                     webtatic 
php70w-fpm.x86_64                      7.0.33-1.w7                     webtatic 
php70w-gd.x86_64                       7.0.33-1.w7                     webtatic 
php70w-imap.x86_64                     7.0.33-1.w7                     webtatic 
php70w-interbase.x86_64                7.0.33-1.w7                     webtatic 
php70w-intl.x86_64                     7.0.33-1.w7                     webtatic 
php70w-ldap.x86_64                     7.0.33-1.w7                     webtatic 
php70w-mbstring.x86_64                 7.0.33-1.w7                     webtatic 
php70w-mcrypt.x86_64                   7.0.33-1.w7                     webtatic 
php70w-mysql.x86_64                    7.0.33-1.w7                     webtatic 
php70w-mysqlnd.x86_64                  7.0.33-1.w7                     webtatic 
php70w-odbc.x86_64                     7.0.33-1.w7                     webtatic 
php70w-opcache.x86_64                  7.0.33-1.w7                     webtatic 
php70w-pdo.x86_64                      7.0.33-1.w7                     webtatic 
php70w-pdo_dblib.x86_64                7.0.33-1.w7                     webtatic 
php70w-pear.noarch                     1:1.10.4-1.w7                   webtatic 
php70w-pecl-apcu.x86_64                5.1.9-1.w7                      webtatic 
php70w-pecl-apcu-devel.x86_64          5.1.9-1.w7                      webtatic 
php70w-pecl-geoip.x86_64               1.1.1-1.w7                      webtatic 
php70w-pecl-igbinary.x86_64            2.0.5-1.w7                      webtatic 
php70w-pecl-igbinary-devel.x86_64      2.0.5-1.w7                      webtatic 
php70w-pecl-imagick.x86_64             3.4.3-1.w7                      webtatic 
php70w-pecl-imagick-devel.x86_64       3.4.3-1.w7                      webtatic 
php70w-pecl-memcached.x86_64           3.0.4-1.w7                      webtatic 
php70w-pecl-mongodb.x86_64             1.5.3-1.w7                      webtatic 
php70w-pecl-redis.x86_64               3.1.6-1.w7                      webtatic 
php70w-pecl-xdebug.x86_64              2.6.1-1.w7                      webtatic 
php70w-pgsql.x86_64                    7.0.33-1.w7                     webtatic 
php70w-phpdbg.x86_64                   7.0.33-1.w7                     webtatic 
php70w-process.x86_64                  7.0.33-1.w7                     webtatic 
php70w-pspell.x86_64                   7.0.33-1.w7                     webtatic 
php70w-recode.x86_64                   7.0.33-1.w7                     webtatic 
php70w-snmp.x86_64                     7.0.33-1.w7                     webtatic 
php70w-soap.x86_64                     7.0.33-1.w7                     webtatic 
php70w-tidy.x86_64                     7.0.33-1.w7                     webtatic 
php70w-xml.x86_64                      7.0.33-1.w7                     webtatic 
php70w-xmlrpc.x86_64                   7.0.33-1.w7                     webtatic 
php71w-bcmath.x86_64                   7.1.27-1.w7                     webtatic 
php71w-cli.x86_64                      7.1.27-1.w7                     webtatic 
php71w-common.x86_64                   7.1.27-1.w7                     webtatic 
php71w-dba.x86_64                      7.1.27-1.w7                     webtatic 
php71w-devel.x86_64                    7.1.27-1.w7                     webtatic 
php71w-embedded.x86_64                 7.1.27-1.w7                     webtatic 
php71w-enchant.x86_64                  7.1.27-1.w7                     webtatic 
php71w-fpm.x86_64                      7.1.27-1.w7                     webtatic 
php71w-gd.x86_64                       7.1.27-1.w7                     webtatic 
php71w-imap.x86_64                     7.1.27-1.w7                     webtatic 
php71w-interbase.x86_64                7.1.27-1.w7                     webtatic 
php71w-intl.x86_64                     7.1.27-1.w7                     webtatic 
php71w-ldap.x86_64                     7.1.27-1.w7                     webtatic 
php71w-mbstring.x86_64                 7.1.27-1.w7                     webtatic 
php71w-mcrypt.x86_64                   7.1.27-1.w7                     webtatic 
php71w-mysql.x86_64                    7.1.27-1.w7                     webtatic 
php71w-mysqlnd.x86_64                  7.1.27-1.w7                     webtatic 
php71w-odbc.x86_64                     7.1.27-1.w7                     webtatic 
php71w-opcache.x86_64                  7.1.27-1.w7                     webtatic 
php71w-pdo.x86_64                      7.1.27-1.w7                     webtatic 
php71w-pdo_dblib.x86_64                7.1.27-1.w7                     webtatic 
php71w-pear.noarch                     1:1.10.4-1.w7                   webtatic 
php71w-pecl-apcu.x86_64                5.1.9-1.w7                      webtatic 
php71w-pecl-apcu-devel.x86_64          5.1.9-1.w7                      webtatic 
php71w-pecl-geoip.x86_64               1.1.1-1.w7                      webtatic 
php71w-pecl-igbinary.x86_64            2.0.5-1.w7                      webtatic 
php71w-pecl-igbinary-devel.x86_64      2.0.5-1.w7                      webtatic 
php71w-pecl-imagick.x86_64             3.4.3-1.w7                      webtatic 
php71w-pecl-imagick-devel.x86_64       3.4.3-1.w7                      webtatic 
php71w-pecl-memcached.x86_64           3.0.4-1.w7                      webtatic 
php71w-pecl-mongodb.x86_64             1.5.3-1.w7                      webtatic 
php71w-pecl-redis.x86_64               3.1.6-1.w7                      webtatic 
php71w-pecl-xdebug.x86_64              2.6.1-1.w7                      webtatic 
php71w-pgsql.x86_64                    7.1.27-1.w7                     webtatic 
php71w-phpdbg.x86_64                   7.1.27-1.w7                     webtatic 
php71w-process.x86_64                  7.1.27-1.w7                     webtatic 
php71w-pspell.x86_64                   7.1.27-1.w7                     webtatic 
php71w-recode.x86_64                   7.1.27-1.w7                     webtatic 
php71w-snmp.x86_64                     7.1.27-1.w7                     webtatic 
php71w-soap.x86_64                     7.1.27-1.w7                     webtatic 
php71w-tidy.x86_64                     7.1.27-1.w7                     webtatic 
php71w-xml.x86_64                      7.1.27-1.w7                     webtatic 
php71w-xmlrpc.x86_64                   7.1.27-1.w7                     webtatic 
php72w-bcmath.x86_64                   7.2.16-1.w7                     webtatic 
php72w-cli.x86_64                      7.2.16-1.w7                     webtatic 
php72w-common.x86_64                   7.2.16-1.w7                     webtatic 
php72w-dba.x86_64                      7.2.16-1.w7                     webtatic 
php72w-devel.x86_64                    7.2.16-1.w7                     webtatic 
php72w-embedded.x86_64                 7.2.16-1.w7                     webtatic 
php72w-enchant.x86_64                  7.2.16-1.w7                     webtatic 
php72w-fpm.x86_64                      7.2.16-1.w7                     webtatic 
php72w-gd.x86_64                       7.2.16-1.w7                     webtatic 
php72w-imap.x86_64                     7.2.16-1.w7                     webtatic 
php72w-interbase.x86_64                7.2.16-1.w7                     webtatic 
php72w-intl.x86_64                     7.2.16-1.w7                     webtatic 
php72w-ldap.x86_64                     7.2.16-1.w7                     webtatic 
php72w-mbstring.x86_64                 7.2.16-1.w7                     webtatic 
php72w-mysql.x86_64                    7.2.16-1.w7                     webtatic 
php72w-mysqlnd.x86_64                  7.2.16-1.w7                     webtatic 
php72w-odbc.x86_64                     7.2.16-1.w7                     webtatic 
php72w-opcache.x86_64                  7.2.16-1.w7                     webtatic 
php72w-pdo.x86_64                      7.2.16-1.w7                     webtatic 
php72w-pdo_dblib.x86_64                7.2.16-1.w7                     webtatic 
php72w-pear.noarch                     1:1.10.4-1.w7                   webtatic 
php72w-pecl-apcu.x86_64                5.1.9-1.w7                      webtatic 
php72w-pecl-apcu-devel.x86_64          5.1.9-1.w7                      webtatic 
php72w-pecl-geoip.x86_64               1.1.1-1.2.w7                    webtatic 
php72w-pecl-igbinary.x86_64            2.0.5-1.w7                      webtatic 
php72w-pecl-igbinary-devel.x86_64      2.0.5-1.w7                      webtatic 
php72w-pecl-imagick.x86_64             3.4.3-1.2.w7                    webtatic 
php72w-pecl-imagick-devel.x86_64       3.4.3-1.2.w7                    webtatic 
php72w-pecl-libsodium.x86_64           1.0.6-1.2.w7                    webtatic 
php72w-pecl-memcached.x86_64           3.0.4-1.w7                      webtatic 
php72w-pecl-mongodb.x86_64             1.5.3-1.w7                      webtatic 
php72w-pecl-redis.x86_64               3.1.6-1.w7                      webtatic 
php72w-pecl-xdebug.x86_64              2.6.1-1.w7                      webtatic 
php72w-pgsql.x86_64                    7.2.16-1.w7                     webtatic 
php72w-phpdbg.x86_64                   7.2.16-1.w7                     webtatic 
php72w-process.x86_64                  7.2.16-1.w7                     webtatic 
php72w-pspell.x86_64                   7.2.16-1.w7                     webtatic 
php72w-recode.x86_64                   7.2.16-1.w7                     webtatic 
php72w-snmp.x86_64                     7.2.16-1.w7                     webtatic 
php72w-soap.x86_64                     7.2.16-1.w7                     webtatic 
php72w-sodium.x86_64                   7.2.16-1.w7                     webtatic 
php72w-tidy.x86_64                     7.2.16-1.w7                     webtatic 
php72w-xml.x86_64                      7.2.16-1.w7                     webtatic 
php72w-xmlrpc.x86_64                   7.2.16-1.w7                     webtatic 
[root@centos7 ~]# 

选择安装的版本,这里安装7.0版本:

 

做服务器还是最小化安装需要什么安装什么.

安装完成后修改php-fpm配置文件以及nginx的php功能:

[root@centos7 html]# vim /etc/nginx/conf.d/default.conf 
server {
    listen       80;
    #charset koi8-r;
        index index.php index.html index.htm;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
        root   /usr/share/nginx/html;
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {     //去掉这几行前的#启用php
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
                                        把这里的/scripts换成nginx站点所在的目录
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/htm$fastcgi_script_name        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_nam        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_na"/etc/nginx/conf.d/default.conf" 45L, 1109C written           

php加入nobody用户

[root@centos7 nginx]# vim /etc/php-fpm.d/www.conf 

;user = apache
user=nobody
group=nobody
; RPM: Keep a group allowed to write in log dir.
;group = apache

nginx加入nobody用户:

[root@centos7 nginx]# vim /etc/nginx/nginx.conf 

#user  nginx;
user nobody nobody;

再修改/usr/share/nginx/html/目录的所有者,防止后期出错:

[root@centos7 nginx]# ll
total 0
drwxr-xr-x. 2 root root 39 May  8 13:38 html
[root@centos7 nginx]# chown -R nobody:nobody html/ 
[root@centos7 nginx]# ll
total 0
drwxr-xr-x. 2 nobody nobody 39 May  8 13:38 html

都完成后写index.php脚本测试:

[root@centos7 ~]# vim /usr/share/nginx/html/index.php 

<?php
phpinfo();
?>

好了,看下成果吧:

php网页测试

 

在测试时也不是一次就能打开这页,直接出现了下载页,我又查看了文件设置等等,但是都没有问题,主要的还是/etc/nginx/conf.d/default.conf里面写有127.0.0.1:9000,这里可以看到php是占用的9000端口,如果配置文件没问题,就要看9000端口是否被占用了,设置好后就可以正常使用php服务了,如果想做网站,现在就可以把建站安装包(如wordpress、discuz等)上传到站点目录就可以了。

安装php70结束。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值