• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

nginx+php 安装

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP常见的低级错误发布时间:2022-07-10
下一篇:
屏幕取色工具推荐 ColorPix - PHP-张工发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap