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();
?>
好了,看下成果吧:

在测试时也不是一次就能打开这页,直接出现了下载页,我又查看了文件设置等等,但是都没有问题,主要的还是/etc/nginx/conf.d/default.conf里面写有127.0.0.1:9000,这里可以看到php是占用的9000端口,如果配置文件没问题,就要看9000端口是否被占用了,设置好后就可以正常使用php服务了,如果想做网站,现在就可以把建站安装包(如wordpress、discuz等)上传到站点目录就可以了。
安装php70结束。
本文介绍了如何在 CentOS 7 系统上卸载旧版 PHP,通过 YUM 安装 PHP 7.0,并配置与 Nginx 的集成。在安装过程中,详细讲解了如何修改 php-fpm 和 nginx 的配置文件,以及设置目录权限。最后通过 index.php 脚本测试验证 PHP 服务的正常运行,解决可能出现的端口占用问题,为后续搭建网站做好准备。
293

被折叠的 条评论
为什么被折叠?



