Linux下编译安装以及配置PHP环境

安装准备

依次执行下面命令,不存在的就搜差不多的就行,下面安装的都是后面安装环境可能需要用上的依赖,不管37是不是21,复制粘贴就是了

Ubuntu安装:

sudo apt-get update    

sudo apt-get install    gcc    autoconf    openssl    libssl-dev    curl    libcurl4-gnutls-dev    libjpeg-dev    libpng16-dev    freetype   libpcre3 libpcre3-dev    libxslt1.1 libxslt1-dev    bzip2    libbz2-dev

centos安装:

yum -y install gcc openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel

开始安装

1. php下载以及安装

    下载: wget http://am1.php.net/distributions/php-7.3.2.tar.gz    

    解压: tar -zxvf php-7.3.2.tar.gz 

    进入目录开始编译安装:

    ./configure --prefix=/opt/soft/php --enable-fpm

    下面是直接把常用的扩展安装好,免得后面在一个一个安装(推荐)

    ./configure --prefix=/opt/soft/php  --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm

    make

    sudo make install

    设置快捷访问方式: sudo cp /opt/soft/php/bin/php /usr/local/bin/

    把php配置文件放在正确的位置

        确认正确位置:php -i | grep php.ini

        在下载的安装包中将php配置文件移动过来: sudo cp /opt/packages/php-7.3.2/php.ini-production /opt/soft/php/lib/php.ini

    ps:以后可以通过 php --ini 查看文件所在位置

2. nginx下载以及安装    

    和上面php一样的步骤,下载--解压--编译--安装

    wget http://nginx.org/download/nginx-1.14.2.tar.gz

    ./configure --prefix=/opt/soft/nginx --sbin-path=/opt/soft/nginx/sbin/nginx --conf-path=/opt/soft/nginx/config/nginx.conf --error-log-path=/opt/soft/nginx/logs/error.log --pid-path=/opt/soft/nginx/logs/nginx.pid --http-log-path=/opt/soft/nginx/logs/access.log --with-http_stub_status_module --with-http_ssl_module

    sudo make && make install

    设置快捷访问方式: sudo cp /opt/soft/nginx/sbin/nginx /usr/local/bin/

    简单配置nginx(详细配置后面再重新开文章写),然后浏览器直接访问ip就能访问了(这个时候只能访问html,访问php是直接下载文件)

Linux下编译安装以及配置PHP环境_第1张图片

    开启nginx: sudo nginx(sudo nginx -s reload 重启nginx), 查看是否开起nginx: sudo netstat -anp | grep 80(端口号) 

3. 配置nginx支持php

    nginx不能直接和php通信,需要借助FastCGI(高速地在HTTP服务器和动态脚本语言间通信的接口),需要用到php-fpm(FastCGI Process Manager:FastCGI进程管理器, 他的具体概念可以参照这里搞清楚php-FPM到底是什么),这也是为什么在编译安装php的时候需要带--enable-fpm这个扩展的原因.

I. 启动php-fpm

进入到  /opt/soft/php/etc 这个目录将php-fpm.conf.default改名为php-fpm.conf,编辑他查看最后一行

Linux下编译安装以及配置PHP环境_第2张图片

    然后进入最后一行指向php-pm.d目录,将www.conf.default改名成www.conf,并编辑成对应账号,我这里是xunan

Linux下编译安装以及配置PHP环境_第3张图片

    然后将/opt/soft/php/sbin/php-fpm设置快捷访问方式,并启动php-fpm,也就是执行下面两个命令

    sudo cp /opt/soft/php/sbin/php-fpm /usr/local/bin/        sudo php-fpm

    ps: 重启php-fpm: 先ps aux | grep php-fpm,然后kill掉对应的进程

    II. 配置nginx支持php

Linux下编译安装以及配置PHP环境_第4张图片

    具体配置:

        location ~ \.php$ {

                try_files $uri /index.php =404;

                fastcgi_split_path_info ^(.+\.php)(/.+)$;

                fastcgi_pass  127.0.0.1:9000;

                fastcgi_index  index.php;

                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include        fastcgi_params;

        }

    按照上面配置完成后,在配置文件的root目录下建立一个index.php,编辑

    然后重启nginx(sudo nginx -s reload),在浏览器ip访问

Linux下编译安装以及配置PHP环境_第5张图片


 

你可能感兴趣的:(Linux下编译安装以及配置PHP环境)