在nginx中药使用php可不像apache那样,因为apache是把php当做自己的一个模块来启动的,

而我们的nginx是把http请求转发给php程序,也就是说,php和nginx是相互独立的的进程

php于nginx的通讯,我们称为fastcgi运行方式。

下面我们来说说nginx怎样整合php(nginx的安装可以看看我的文章“linux下编译安装nginx”)。

1、首先,我们应该要获取php的安装包。

去php官网下载:http://www.php.net/downloads.php

这里我选的是php5.6

将下载好的安装包放在linux目录下(我是放在/root目录下,大家可以随意放置,可以创建一个专门放置安装包的目录。)

2、解压安装包:tar zxvf php-5.6.39.tar.gz

进入到解压后的目录:cd php-5.6.39/

./configure配置: ./configure --prefix=/usr/local/fastphp --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm

  (如果在configure的过程中出现了报错,按照错误提示进行操作,一般是一些依赖软件没有安装,使用yum进行安装)

  make

  make install

3、配置一些配置文件。

进入php安装目录:cd /usr/local/fastphp/

  将php配置文件拷贝到 php安装目录中的lib目录下:cp /root/php-5.6.39/php.ini-development ./lib/php.ini

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

启动php:[root@VM_16_2_centos sbin]# ./php-fpm    //其中php-fpm在php安装目录的sbin目录下,直接执行就行了

4、配置nginx.conf文件。

  vi /usr/local/nginx/conf/nginx.conf

在nginx.conf文件中加入红色部分。

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
}

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;
}

#error_page 404 /404.html;

5、重启nginx。

/usr/local/nginx/sbin/nginx -s reload

6、在nginx的安装目录下的html目录中写一个test.php程序文件。

  <?php

    phpinfo();

  ?>

7、访问。http://www.panchao.com/test.php(我用的是云服务器,有外网ip,在本地电脑配了hosts:111.231.226.228   www.panchao.com 所以能用www.panchao.com 这个域名来访问,如果大家是本地虚拟机的话可以用127.0.0.1/test.php来访问。)我们如果得到这样的结果,则表示我们nginx和php的整合成功了。

 

  

linux下nginx整合php的更多相关文章

  1. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  2. VMware Linux 下 Nginx

    负载   VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三) Weiseditor 2014-11-26 23:42 阅读:1 评论 ...

  3. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

  4. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  5. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  6. linux下nginx+php+mysql 自助环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建+++++++++++++++++++++++++++++ ...

  7. linux下nginx结合keepalived实现主从切换的配置

    linux下nginx结合keepalived实现主从切换的配置   解决方法: 实现一个主nginx宕机,请求转到另一个nginx中. 1.确保两台nginx已启动,假如端口分别是192.168.0 ...

  8. Linux下Nginx+Tomcat整合的安装与配置

    因为nginx处理静态页面的速度很快,并且是免费的,它还可以配置负载均衡的服务器集群来搭建多个tomcat,所以nginx+tomcat是企业搭 建javaee项目很好的选择.nginx主要是通过反向 ...

  9. 转 Linux下Nginx+PHP+MySQL配置

    Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定.低系统资源消耗而闻名,近几年Ng ...

随机推荐

  1. [py]软件编程知识骨架+py常见数据结构

    认识算法的重要性 - 遇到问题? 学完语言,接到需求,没思路? 1.学会了语言,能读懂别人的代码, 但是自己没解决问题的能力,不能够把实际问题转换为代码,自己写出来.(这是只是学会一门语言的后果),不 ...

  2. 339A

    #include <iostream> #include <string> #include <algorithm> using namespace std; #d ...

  3. Django 框架 django的请求生命周期

    概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...

  4. 【LeetCode每天一题】Multiply Strings(字符串乘法)

    Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and ...

  5. iOS UI调试神器,插件injection for Xcode使用方法

    项目越来越大,代码编译时间越来越长,你是不是早已经厌倦了改一点点UI布局就要重新编译一次项目的过程,我们一分钟几百万上下的,怎能被编译浪费掉珍贵的时间.使用injectionforxcode这款插件, ...

  6. servlet 的servletContext

  7. shell基础:输入输出重定向

    输出重定向将命令输出存入到文件,类似日志.便于查看.2和>>间没空格.但这种方法没用 ,命令执行时并不知道对错. /dev/null下的null就是一个垃圾箱,脚本中的一些命令并不需要保存 ...

  8. gitlab RPM卸载 & 安装 && 升级(9.0.13-》9.5.9-》10.0->10.3.9->10.6.6-》10.8-》11.0)

    版本:9.0.3 升级版本:9.0.13 一,停止服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-ctl stop nginx 二, ...

  9. DataGridView控件用法二:常用属性

    通常会设置的DataGridView的属性如下: AllowUserToAddRows - False指示是否向用户显示用于添加行的选项,列标题下面的一行空行将消失.一般让其消失.AllowUserT ...

  10. c# 类一般在哪里实例化,是在类内、方法内还是其他地方?

    根据情况,你要一个页面内全局的就在类与方法之间实例化,如果一个方法需要使用这个类的对象,就在内部实例化