zoukankan      html  css  js  c++  java
  • nginx+php 安装

    1.环境概述

    虚拟机系统:CentOS Linux release 7.3.1611 (Core)

    宿主机系统:Mac Sierra version 10.12.3

    nginx:1.10.3

    php:7.1.2

    2.虚拟机

    为了使得虚拟机和主机互通且虚拟机能联网,在安装系统之前需要设置网络。在当前虚拟机的设置里找到网络,可以看到Adapter 1默认已经设置为NAT。切到Adapter 2 tab页,设置为Host-only Adapter。

    安装完CentOS之后,编辑 /etc/sysconfig/network-scripts/ifcfg-enp0s3 和 /etc/sysconfig/network-scripts/ifcfg-enp0s8 中ONBOOT=yes(默认为no)。

    重启网络:

    systemctl restart network

    3.ssh连接

    在虚拟机中敲打命令是一件痛苦的事。因此尽可能在宿主机ssh到虚拟机。

    a.查看虚拟机ip

    ip addr

    找到enp0s8的ip地址,我的为192.168.56.101

    b.宿主机连接

    ssh root@192.168.56.101

    4.更新系统

    更新系统到最新版本(无视我的强迫症)

    yum update

    等待。。。

    5.nginx

    a.安装准备

    安装nginx官方源

    rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    成功的话,可以在 /etc/yum.repos.d目录下看到nginx.repo。如果未看到,执行一个神级命令,它将清理所有缓存数据、重建缓存并更新:

    yum clean all && yum clean metadata && yum clean dbcache && yum makecache && yum update

    再安装nginx官方源。再不生效。。。是不可能的。

    b.安装

    下面先安装nginx的支持组件pcre-devel,再安装nginx

    yum install pcre-devel
    yum install nginx

    c.启动

    systemctl start nginx

    在宿主机浏览器输入192.168.56.101,可以看到熟悉的"Welcome to nginx"。

    至此,nginx安装完成。

    d.个性化首页

    注意,nginx默认访问页面路径在 /usr/share/nginx/html/index.html。为什么呢,因为nginx的配置文件 /etc/nginx/conf.d/default.conf 如下:

    location / { 
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }  

    如果想修改主目录,则修改root。如果想修改主页面,则修改index。

    6.php

    a.下载

    具体下载地址可以到官网php.net查看

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

    b.编译安装

    tar xvf php-7.1.2.tar.gz
    cd php-7.1.2
    yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y
    ./configure --prefix=/usr/local/php --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
    make
    make install

    其中gd-devel、libjpeg-devel等为编译php的必要组件,需在configure之前安装。

    c.启动

    先将必要的配置文件拷贝好,再启动

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

    至此,php安装完成

    注意,如果启动时报错,找不到配置文件php-fpm.conf,可以使用如下命令指定配置文件路径

    /usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf

    d.测试

    在 /usr/share/nginx/html 下新建index.php,内容如下

    <?php
    echo 'Hello PHP';
    ?>

    在宿主机浏览器访问 192.168.56.101/index.php 失败。为什么呢,因为nginx不知道怎么处理php文件。

    7.php+nginx

    编辑 /etc/nginx/conf.d/default.conf

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

    重启nginx

    systemctl restart nginx

    在宿主机浏览器访问 192.168.56.101/index.php,成功。

    注意,如果报错 File not found,可以尝试修改配置文件 /usr/local/php/etc/php-fpm.d/www.conf

    user = www-data
    group = www-data

    再重启 php-fpm(先找到原有进程杀掉,再执行)。为什么呢,猜测是因为php-fpm默认启动用户是nobody,没有对index.php的读取权限。

    再重启nginx。

  • 相关阅读:
    HDU 5115 Dire Wolf (区间DP)
    HDU 4283 You Are the One(区间DP(最优出栈顺序))
    ZOJ 3469 Food Delivery(区间DP好题)
    LightOJ 1422 Halloween Costumes(区间DP)
    POJ 1651 Multiplication Puzzle(区间DP)
    NYOJ 石子合并(一)(区间DP)
    POJ 2955 Brackets(括号匹配一)
    POJ 1141 Brackets Sequence(括号匹配二)
    ZOJ 3537 Cake(凸包+区间DP)
    Graham求凸包模板
  • 原文地址:https://www.cnblogs.com/studyhs/p/6587826.html
Copyright © 2011-2022 走看看