先介绍一下使用的环境:centos 7.4,  PHP 7.0 ,  nginx 1.12

Linux系统版本可以通过命令:lsb_release -a 查看.

现在开始步入正题了!

1.  首先查看一下nginx是否已经安装成功。

Linux命令:find /|grep nginx.conf  如果安装完成,会显示出你的nginx配置文件所在的目录,我这里的目录是在  /etc/nginx目录下。

不会安装的小伙伴请自行百度,有时间的时候我也会写篇博客专门介绍nginx的安装及其配置等问题,在这里就不加罗列了。

2. 安装PHP

我这里使用快捷的安装方式,采用yum直接安装。

分别执行命令:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel

# systemctl restart httpd

小伙伴们也可以使用编译安装的方法进行安装。

这时候可以在nginx的html目录中新建一个php文件,检测是否可以使用。这里我新建一个名为:index.php的文件,内容如下:

<?php

phpinfo();

?>

输入命令重启nginx     nginx -s reload

这时候就可以通过浏览器输入你的PHP测试文件进行测试了,我这里输入的是:location/index.php

这时候发现问题了,浏览器并没有正常加载PHP测试文件,而是直接将文件下载到本地了。这是因为nginx没有办法解析php后缀的文件,于是直接将它发送给你了。

清楚问题了,所以就需要配置一下nginx服务器。

打开你的nginx服务器的配置文件:nginx.conf。它的路径可以通过  find /|grep nginx.conf  查看。

在http{ }中,

找的location / {

  root html;
             index  index.html index.htm;
         }  在index后面加一句话  index.php

更改后的内容为:

location / {

  root html;
  index index.php index.html index.htm;
  } 

然后再在location / { }后面添加一下内容:

  # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
         # Fastcgi服务器和程序(PHP,Python)沟通的协议.
         location ~ \.php$ {
               # 设置监听端口
               fastcgi_pass   127.0.0.1:9000;
               # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
               fastcgi_index  index.php;
               # 设置脚本文件请求的路径
               fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
               # 引入fastcgi的配置文件
               include        fastcgi_params;
         }

配置完成后保存,重启nginx,nginx -s reload

然后这是再在浏览器中输入你的测试PHP文件路径(web访问路径),就会发现大功告成!PHP文件已经可以正常运行了。

如果你的服务器还是无法正常加载PHP的话,提示网页错误或者直接下载,那么就检查一下你的Linux是否打开9000端口或者是被占用了。

查看端口:netstat -antp

当现实没有9000端口的时候,说明现在9000端口没有被占用,利用  php-cgi -b 127.0.0.1:9000 &   开启PHP 9000端口,其中&是后台运行,别忘了加上!

有9000端口出现的时候,需要查看是哪个程序占用了,确认占用程序可以停止后杀死进程,kill PID

例如这里是:kill 5611

然后再执行  php-cgi -b 127.0.0.1:9000 &  开启PHP 9000端口即可。

这里补充一点,使用php-cgi有可能会在一段时间之后网站不能进行访问,所以建议使用php-fpm启动PHP.

这里再补充一点,也许有的小伙伴会在重启nginx服务器的时候遇到这样的错误:

nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决方法:

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

这是因为,nginx.pid丢失了,所以使用nginx -c的参数指定nginx.conf文件的位置,再重新启动nginx即可!

Linux下安装PHP并在nginx服务器中进行配置的详细方法的更多相关文章

  1. linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  2. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  3. linux下安装haproxy作为端口转发服务器,以及安装keepalived作为haproxy高可用方案

    一.安装haproxy作为端口转发服务器(主服务器:172.28.5.4,备服务器:172.28.5.8,浮点IP为:172.28.5.6) 1.安装依赖包 yum -y install wget g ...

  4. Linux下安装python,ftp,Ubuntu和centos配置静态ip以及下载地址

    一个服务器最多创建65535个端口Ubuntu apt-get aliyun转换https://www.cnblogs.com/hcl1991/p/7894958.htmlOpenSSLhttps:/ ...

  5. windows及linux下安装django simple captcha 遇到的各种问题及解决的方法

    转载自http://www.cnblogs.com/descusr/p/3225874.html 全部程序写完之后,验证码图片不显示,点击图片地址会提演示样例如以下错误,而且在linux下的纠正办法 ...

  6. linux下安装VMware出错:Gtk-Message: Failed to load module "canberra-gtk-module"解决方法

    最近又有兴趣在linux下搭建个虚拟机,于是去找了个VMWorkstation,安装的过程中报了两个错误 Gtk-Message: Failed to load module "pk-gtk ...

  7. linux下安装shellinabox实现web登录服务器

    GitHub地址(含有文件下载和详细安装流程):https://github.com/shellinabox/shellinabox 这里我们使用的是redhat安装方法如下: 1.配置安装依赖环境 ...

  8. linux 下安装node 并使用nginx做域名绑定

    #1 ,home目录下 下载nodejs安装包,解压 并修改文件夹名称 wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar. ...

  9. macos 下安装virtualenv,virtualenvwrapper,然后在pycharm中正常配置方法日志

    1.安装virtualenv或virtualenvwrapper pip install virtualenv pip install virtualenvwraper 注意pip的版本号(查看 pi ...

随机推荐

  1. SQL 之获取DATE类的年月日语句

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...

  2. [linux] C语言Linux系统编程-socket回声客户端

    回声客户端: 1.所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”. 2.客户端也可以使用 write() / send() 函数 ...

  3. [javaSE] GUI(事件监听机制)

    外部动作——>事件源(组件)——>事件对象——>监听器 获取Frame对象,与上节一样 调用Frame对象的addWindowListener()方法,参数:WindowListen ...

  4. 述一个程序员的技能:系统安装(win7版)idea配置

    idea配置:http://www.phperz.com/article/15/0923/159043.html 作为一名计算机专业出身的程序员,组装电脑和安装系统是基本技能.打造一个安全稳定高效的开 ...

  5. spring中AOP的AspectJ的Execution表达式

    AspectJ的Execution表达式: 使用springAOP定义pointcut里面的execution表达式: execution()函数是常用的切点函数 "execution(* ...

  6. JDBC入门(3)--- PrepareStatement

    一.PrepareStatement概述 PrepareStatement是Statement接口的子接口: 1.强大之处: 防SQL攻击: 提高代码的可读性: 提高效率; 2.PrepareStat ...

  7. 图解 CMS 垃圾回收机制,你值得拥有(转 强烈推荐)

          首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 - 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源     ...

  8. webpack-bundle.js原理

    bundle.js 源码 //a.js import { log } from './b.js' log('hello') //b.js export const log = function (m) ...

  9. UOJ#55. 【WC2014】紫荆花之恋

    传送门 暴力思路就是每次点分治计算答案 点分治之后,条件可以变成 \(dis_i-r_i\le r_j-dis_j\) 每次只要查找 \(r_j-dis_j\) 的排名然后插入 \(dis_j-r_j ...

  10. Bookmarklet编写指南

    作者: 阮一峰 日期: 2011年6月11日 前一段日子,我写了两个Bookmarklet----"短网址生成"和"短网址还原". 它们用起来很方便,除了我本人 ...