zoukankan      html  css  js  c++  java
  • nginx+php环境搭建详解(Linux)

    今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下,望广大读友以后不要采坑。

    搭建nginx环境

    linux系统以centos7 64位为例

    准备目录

    mkdir /usr/local/nginx

    cd /usr/local/nginx/

    下载

    从http://nginx.org/download/上下载相应的版本(我这里以http://nginx.org/download/nginx-1.5.9.tar.gz为例)

    解压

    tar -zxvf nginx-1.5.9.tar.gz

    解压后移至目录

    [root@localhost nginx]# cd nginx-1.5.9/

    设置Nginx安装路径,如果没有指定,默认为/usr/local/nginx

    [root@localhost nginx-1.5.9]# ./configure --prefix=/usr/local/nginx

    结尾如果是这样,且没显红,就说明执行成功了

    Configuration summary
      + using system PCRE library
      + OpenSSL library is not used
      + md5: using system crypto library
      + sha1: using system crypto library
      + using system zlib library
    
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"
    
    [root@localhost nginx-1.5.9]# 

    然后进行编译

    make (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)

    [root@localhost nginx-1.5.9]# make

    结尾若是这,就说明成功了

    make[1]: Entering directory `/usr/local/nginx/nginx-1.5.9'
    sed -e "s|%%PREFIX%%|/usr/local/nginx|" 
        -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" 
        -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" 
        -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" 
        < man/nginx.8 > objs/nginx.8
    make[1]: Leaving directory `/usr/local/nginx/nginx-1.5.9'
    [root@localhost nginx-1.5.9]# 

    安装

    make install  (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

    [root@localhost nginx-1.5.9]# make install

    启动

    参数 -c 指定了配置文件的路径,如果不加的话就是使用默认的配置文件

    [root@localhost nginx-1.5.9]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    启动命令一般在 /usr/local/nginx/sbin/ 目录下的nginx

    可以先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx 也可启动

    重启

    重启命令也是在 /usr/local/nginx/sbin/ 目录下的nginx

    先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动

    停止

    停止操作是通过向nginx进程发送信号来进行的

    先查询nginx的主进程号

    ps -ef | grep nginx

    在进程列表里 面找master进程,它的编号就是主进程号了。

    发送信号

    从容停止Nginx

    kill -QUIT 主进程号

    快速停止Nginx

    kill -TERM 主进程号

    强制停止Nginx

    pkill -9 nginx

    访问

    在浏览器中输入IP:端口号(默认80),出现如下图所示,说明安装成功。

    搭建php环境

    准备目录

    mkdir /usr/local/php
    
    cd /usr/local/php/

    解压

    tar -zxvf php-7.3.2.tar.gz

    解压后进入目录 php-7.3.2/

    [root@localhost php]# cd php-7.3.2/

    进入目录开始编译安装:

    ./configure --prefix=/usr/local/php --enable-fpm

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

    ./configure --prefix=/usr/local/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm

    编译

    make

    安装

    make install

    配置

    php的默认安装位置已经指定为/usr/local/php,接下来配置对应的文件
    cp /usr/local/php/php-7.3.2/php.ini-development /usr/local/php/lib/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/php-7.3.2/sapi/fpm/php-fpm /usr/local/bin

    首先我们应该创建web用户(这跟后面nginx.conf有很大联系)
    groupadd daye
    useradd -g daye daye

    注意,不能是root账户,否则后面运行php-fpm就会报错

    默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    vim /usr/local/php/etc/php-fpm.d/www.conf

    默认user和group的设置为nobody,将其改为daye

     

    修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

    /usr/local/bin/php-fpm

    ps:先切换到 /usr/local/bin 目录下

    然后执行 ./php-fpm

    启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:

    9000端口正常使用,说明php-fpm服务启动成功

    然后执行vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

    修改的地方主要有三处

    1.

    2.

    3.

    修改完这些保存并退出,然后重启nginx:

    重启命令是在 /usr/local/nginx/sbin/ 目录下的nginx

    先切换到 /usr/local/nginx/sbin/ 目录下,然后执行 ./nginx -s reload 就可重新启动

    最后测试一下

    在 /usr/local/nginx/html 目录下新建一个test.php文件

    <?php phpinfo();?>

    访问该页面

    说明nginx+php环境搭建成功!!!

    参考:https://www.cnblogs.com/hftian/p/9469128.html

              https://www.jianshu.com/p/ca3f65117217

  • 相关阅读:
    Java 处理 multipart/mixed 请求
    SpringBoot 动态更新 resources 目录的文件
    dubbo 2.7.0 中缺乏 <dubbo:annotation /> 的解决方案
    设计模式 — 终章.
    代理模式
    状态模式.
    第七节、双目视觉之空间坐标计算
    第六节、双目视觉之相机标定
    经典项目博客集合
    第五节、轮廓检测、直线和圆、多边形检测
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/13281907.html
Copyright © 2011-2022 走看看