zoukankan      html  css  js  c++  java
  • linux-centos7 下安装 php-nginx 服务器

    ( 选用的操作系统为 centos7 )

    01,安装 nginx => 请移步 https://www.cnblogs.com/lovling/p/9197572.html

    02,下载 php 安装包 => https://secure.php.net/downloads.php

    03,上传到 linux 服务器,并解压 tar -zxvf php.tar.gz

    04,cd 到解压后的文件夹

    05,配置参数 ./configure --prefix=/usr/local/php  -enable-fpm --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

    这里的 --prefix=/root/software/php 指定程序安装的位置 mysqlnd mysqli pdo_mysql 三个扩展错过了这次机会,

    之后再编译安装的时候会报各种各样的错误,很难解决,建议在这次编译的时候一定要带上

    06,以上步骤可能缺少 libxml2, 用 yum 安装时发现已经安装,那是因为缺少 libxml2-devel, 可用 yum 安装

    yum install -y libxml2-devel

    07,再次执行 5,无报错后执行 make & make install 出现以下画面为安装成功

    08,如果出现错误  make:*libtool: link: `ext/libxml/libxml.lo' is not a valid libtool object

    09,执行 make clean 后再执行 => make  => make install

    10,进入到安装后的目录 => cd /usr/local/php

    11,修改配置文件,修改启动用户和用户组

    cp etc/php-fpm.conf.default etc/php-fpm.conf

    cp etc/php-fpm.d/www.conf.default  etc/php-fpm.d/www.conf

    vim etc/php-fpm.d/www.conf

    将 user 和 group 赋予相应的用户和组,和 nginx 的启动用户要一致,生产环境切勿使用 root

    12,启动 php-fpm => ./sbin/php-fpm

    13,如果配置的是 root 用户和组,需要加 -R参数 => ./sbin/php-fpm -R

    14,检查是否启动成功 => netstat -anp | grep tcp

    15,将改服务设置为开机自启 => vim /etc/rc.local,请确保 该文件有执行权限,如果没有可赋予 chmod +x /etc/rc.local

     

    16,修改 nginx 配置 vim /root/software/nginx/conf/nginx.con 在 server 中加入如下配置

    location ~ .php$ {
      root html;                              
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
    }

    17,检查配置文件并启动 nginx => nginx -t => nginx

    18,在 nginx 目录下的 html 目录中编辑一个文件 test.php  写入 <?php  phpinfo() ?> 

    19,地址栏输入 http://server_ip/test.php ,出现如下画面为配置成功

    20,接下来就是配置文件,由于文件太多,很难找到 php.ini 文件

    21,我们可以用命令查看配置文件的地址 => php -r "phpinfo(INFO_GENERAL);"|grep "php.ini"

    22,但是我们在以上路径去却找不到配置文件,一般自己编译的都不会存在配置文件,我们需要到源码包去拷贝

    23,找到上图中两个 php.ini 开头的文件,复制到 /usr/local/php/lib/ 目录下

    24,php.ini.development  常为测试环境下使用,权限比较高

    25,php.ini.production      常为生产环境使用,拥有较高的安全性

    26,确定好自己要用哪一个,复制一份命名为 php.ini

    27,建议将配置文件中的 pid 项目打开如下,这样就可以平滑的重启和关闭 php-fpm 了

    28,以下命令中的 /usr/local/php/var/run/php-fpm.pid 为 pid存放的地址,根据具体情况查找

    # 立即终止 

    kill -INT  `cat /usr/local/php/var/run/php-fpm.pid`

    kill -TERM `cat /usr/local/php/var/run/php-fpm.pid`

    # 平滑终止

    kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`

    # 重新打开日志文件

    kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

    # 平滑重载所有worker进程并重新载入配置和二进制模块

    kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

  • 相关阅读:
    boost开发指南
    boost bind function用法说明
    boost库 bind/function的使用
    OpenCV——PS滤镜, 碎片特效
    pthread_join()
    基于用例点来度量软件规模并管理进度 之中的一个
    tomcat的JK和JK2
    rackup工具
    ORACLE EXP命令
    很好的理解遗传算法的样例
  • 原文地址:https://www.cnblogs.com/lovling/p/9301851.html
Copyright © 2011-2022 走看看