Linux安装配置php7+nginx

来源:互联网 发布:c语言整人小程序 编辑:程序博客网 时间:2024/05/18 19:42

1.安装php7.0


下载

# wget  http://cn2.php.net/distributions/php-7.0.4.tar.gz


解压安装
# tar zxvf php-7.0.4.tar.gz
# cd php-7.0.4

首先查看安装帮助
./configure   --help

设置配置
./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
 --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 \
--with-zlib-dir \
--with-mhash \
--with-mcrypt \
--with-openssl-dir \
--with-jpeg-dir \
--enable-gd-jis-conv \
 --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-maintainer-zts \
 --enable-zip


如果配置错误,需要安装需要的模块,直接yum一并安装依赖库

# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel

# yum -y install curl-devel
# yum -y install libxslt-devel

编译安装
# make &&  make install


1.设置配置文件
# cp php.ini-production /usr/local/php7/etc/php.ini  
php.ini-development 适合开发测试,如本地测试环境, php.ini-production拥有较高的安全性设定,适合服务器上线运营当产品。一般修改php.ini-production为php.ini,安全性更高,确保测试环境(本地)与正式环境(线上)一致
# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
2.加入服务
# chmod +x /etc/init.d/php-fpm
# chkconfig --add php-fpm
需要注意的是php7中www.conf这个配置文件配置phpfpm的端口号等信息,如果你修改默认的9000端口号需在这里改,再改nginx的配置
启动
#  /etc/init.d/php-fpm start

安装Memcached扩展
#需要安装libmemcached最新版本(所需组件)
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make && make install
 
#安装memcached扩展
git clone https://github.com/php-memcached-dev/php-memcached -b php7
cd php-memcached
phpize (注意这里必须在php-memcached目录中执行 换句话说就是必须在扩展所在的目录中执行 其他扩展也一样)
./configure --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl --with-php-config=/usr/local/php7/bin/php-config
make && make install
   vi /usr/local/php7/etc/php.ini
   添加 extension= /usr/local/php7/lib/php/extensions/no-debug-zts-20151012/memcached.so


2.安装nginx

查看nginx相关信息

yum list | grep nginxcollectd-nginx.x86_64                        4.10.9-1.el6                   epelmunin-nginx.noarch                           2.0.25-2.el6                   epelnginx.x86_64                                 1.0.15-11.el6                  epelnginx-filesystem.noarch                      1.0.15-11.el6                  epelowncloud-nginx.noarch                        7.0.5-2.el6                    epelyum info nginxLoaded plugins: securityAvailable PackagesName        : nginxArch        : x86_64Version     : 1.0.15Release     : 11.el6Size        : 404 kRepo        : epelSummary     : A high performance web server and reverse proxy serverURL         : http://nginx.org/License     : BSDDescription : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and            : IMAP protocols, with a strong focus on high concurrency, performance and            : low memory usage.

发现版本很低,于是追加 nginx 的 yum 仓库,创建一个文件 /etc/yum.repos.d/nginx.repo,并将下面的内容复制进去

[nginx]  name=nginx repo  baseurl=http://nginx.org/packages/centos/$releasever/$basearch/  gpgcheck=0  enabled=1

编辑并保存/etc/yum.repos.d/nginx.repo文件后,在命令行下执行

yum list | grep nginxcollectd-nginx.x86_64                      4.10.9-1.el6                 epelmunin-nginx.noarch                         2.0.25-2.el6                 epelnginx.x86_64                               1.6.3-1.el6.ngx              nginxnginx-debug.x86_64                         1.6.3-1.el6.ngx              nginxnginx-debuginfo.x86_64                     1.6.3-1.el6.ngx              nginxnginx-filesystem.noarch                    1.0.15-11.el6                epelnginx-nr-agent.noarch                      2.0.0-7.el6.ngx              nginxowncloud-nginx.noarch                      7.0.5-2.el6                  epel

发现最新的稳定版1.6.3,于是直接执行

yum install nginx -y 

安装完成,下面直接就可以启动Nginx了:

/etc/init.d/nginx startStarting nginx:                                            [  OK  ]

现在Nginx已经启动了,直接访问服务器就能看到Nginx欢迎页面了的。
Nginx的命令以及配置文件位置:

/etc/init.d/nginx start # 启动Nginx服务/etc/init.d/nginx stop # 停止Nginx服务/etc/nginx/nginx.conf # Nginx配置文件位置


3.整合Nginx与PHP
Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,我们打开Nginx的配置文件看一下
 vi /etc/nginx/conf.d/default.conf       //标的部分是我们后面要修改的

看上图,Nginx已经知道怎么把得到的请求传达给PHP,Nginx在得到*.php请求时,会把请求通过9000端口传给PHP。下面我们把这些注释给去掉即可,如下图

如上图所示,我们在前面已经看到过Nginx是通过本机的9000端口将PHP请求转发给PHP的,而上图我们可以看到PHP自己是从本机的9000端口侦听数据 ,Nginx与PHP通过本机的9000端口完成了数据请求。


4.测试
我们在nginx的配置文件里面已经定义了PHP网站的存放路径,路径是/usr/share/nginx/html
下面我们在这个目录下新建一个PHP页面测试网页,文件名为test.php,内容如下
<?phpphpinfo();?>

关闭php

killall php-fpm 

php重启

/usr/local/php/sbin/php-fpm &

关闭nginx

 /usr/sbin/nginx -s stop   //关闭服务器

重启nginx

 /usr/sbin/nginx  开启服务器


重启PHP与nginx后  我们在浏览器中输入http://localhost/test.php,出现如下界面算成功
原创粉丝点击