PHP+nginx环境安装部署

1.下载源码

当前使用的源码为:

https://github.com/php/php-src/tree/PHP-7.3

2. configure

./configure --prefix=/usr/local/php --with-curl--with-gd --with-gettext --with-kerberos --with-libdir=lib64 --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --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-sysvshm --enable-xml --enable-zip

 

配置当中可能会出现找不到库的情况

yum -y install libxml2

yum -y install libxml2-devel

yum -y install openssl

yum -y install openssl-devel

yum -y install curl

yum -y install curl-devel

yum -y install libjpeg

yum -y install libjpeg-devel

yum -y install libpng

yum -y install libpng-devel

yum -y install freetype

yum -y install freetype-devel

yum -y install pcre

yum -y install pcre-devel

yum -y install libxslt

yum -y install libxslt-devel

yum -y install bzip2

yum -y install bzip2-devel

 

完成以上动作后,还有可能出现libzip,libiconv,libmcrypt等不能找到的错误.

可通过下载源码的方式,进行安装。

3.make

configure没有错误后,可以继续使用make进行编译。

编译过程中可能会出现undefined reference to `libiconv_open’的错误。

此时可以通过make ZEND_EXTRA_LIBS=‘-liconv’,将libiconv加入到链接库当中

4.make install

在make install时可能会出现错误

PHP+nginx环境安装部署_第1张图片

这是因为在make install时会下载php的doc,找到MakeFile的下载操作,然后将—no-check-certificate 加入wget对应的命令中

然后再执行make install后。没有提示错误,安装成功。

 

5. 测试

再命令行,输入php,会提示没有该命令。

因为php被安装到了/usr/local/php/bin,目录下,并不在PATH路径下,所以打开~/.bashrc,然后在文件末尾添加export PATH=$PATH:/usr/local/php/bin后,执行source ~/.bashrc,然后再执行php -v

会得到如下信息:

PHP 7.3.0-dev (cli) (built: Nov  8 2018 10:11:31) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies

说明php安装成功。

6. 配置php

在php的安装目录 /usr/local/php目录下有etc目录,该目录存放了配置文件。

首先cp php-fpm.conf.default php-fpm.conf

在php-fpm.conf文件中会有include /usr/local/php/etc/php-fpm.d/*.conf语句,进入include=/usr/local/php/etc/php-fpm.d/后,会发现存在文件:

www.conf.default

执行cp www.conf.default www.conf

然后打开www.conf

 

可以看到

listen = 127.0.0.1:9000

;listen = /dev/shm/fpm-cgi.sock      (该方式使用unix socket的方式进行监听)

配置,如有需要可修改该配置。

 

修改

user = nobody

group = nobody

user = nginx

group = nginx

然后执行

php-fpm

如果没有出错,则说明php-fpm已经启动成功

7. 配置nginx

打开/etc/nginx/nginx.conf

写入如下内容:

server {

    listen       80;

    server_name  web1.test.com;

    charset utf8;

    location / {

        root   /var/www/html;

        index  index.html index.htm;

    }

    error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html;

    }

    location ~ \.php$ {

        root           html;

        fastcgi_pass   127.0.0.1:9000;

        #fastcgi_pass unix:/dev/shm/fpm-cgi.sock   (该方式需要与php-fpm的配置配合使用)

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;;

        include        fastcgi_params;

    }

}

同时在/var/www/html目录下新增文件

phpinfo.php加入内容

 

然后重启 nginx。

 

浏览器打开页面http://ip/phpinfo.php,如果出现形如如下界面

PHP+nginx环境安装部署_第2张图片

则说明配置成功。

你可能感兴趣的:(PHP+nginx环境安装部署)