最近上了一批debian7的机器,刚好有web项目要上,debian7中已经把php-fpm集成进去了,打算把以前的apache+mod_php模式换成nginx+php-fpm或者apache+php-fpm模式,apache毕竟模块多还更稳定一些。

1 nginx+php-fpm

安装nginx

apt-get install nginx

安装php及php-fpm

apt-get install php5-mysql php5-gd php5-curl php5-cli php5-cgi php5-dev

apt-get install php5-fpm

配置php-fpm,php-fpm的主要配置文件在/etc/php5/fpm里面

├── conf.d -> ../conf.d   php的扩展模块配置文件

├── php-fpm.conf          php-fpm的主配置文件,include了pool.d里面的conf文件

├── php.ini               php的配置文件

└── pool.d

└── www.conf          影响web站点的php-fpm配置文件

php-fpm.conf可以配置的选项不多,主要是设置日志级别,超时时间等等,很多都有默认值,其中主要的是www.conf这个文件,他会直接影响你的web站点的php解析。

下面看看默认的www.conf配置:

#设置一个名为www的池

[www]

#user是必须设置的

user = www-data

#如果没有设置group,默认使用user的group

group = www-data

#在哪个端口接收FastCGI请求,可以是socket或者端口

listen = /var/run/php5-fpm.sock

#主进程管理子进程的模式,动态模式

pm = dynamic

#可创建的最大子进程数

pm.max_children = 5

#fpm刚启动时创建的子进程数,默认min_spare_servers+(max_spare_servers- min_spare_servers)/2

pm.start_servers = 2

#可以空闲的最小服务进程

pm.min_spare_servers = 1

#可以空闲的最大服务进程

pm.max_spare_servers = 3

#chroot该目录

chdir = /

这些是安装完后的默认配置,还有很多选项虽然没有列出来,但是都有默认值的。如果在一台机器上部署多个应用,可以根据访问量,在pool.d中为各个应用配置不同的分配模式,能有效起到安全隔离效果。

配置nginx,nginx配置文件主要在/etc/nginx目录

├── conf.d

├── fastcgi_params   #可以优化该文件

├── koi-utf

├── koi-win

├── mime.types

├── naxsi_core.rules

├── naxsi.rules

├── nginx.conf

├── proxy_params

├── scgi_params

├── sites-available

│   └── default

├── sites-enabled

│   └── default -> /etc/nginx/sites-available/default #主要配置该文件

├── uwsgi_params

└── win-utf

default文件配置:

upstream php {

server unix:/var/run/php5-fpm.sock;

}

server {

listen   80;

root /usr/share/nginx/www;

index index.php index.html;

server_name 192.168.37.37;

location ~ .php$ {

fastcgi_split_path_info ^(.+.php)(/.+)$;

fastcgi_pass php;

fastcgi_index index.php;

include fastcgi_params;

}

}

设置首页面

echo '<?php  phpinfo(); ?>' > /usr/share/nginx/www/index.php

启动php-fpm和nginx

/etc/init.d/nginx start

/etc/init.d/php5-fpm start

2 apache+php-fpm

为什么用apache+php-fpm呢,稳定一些,经过大量用户考验的,如果不是为了高性能,而是为了稳定,也可以试试这个模式。在debian6中的php版本中,php官方已经把fpm集成进去了,但是debian因为种种原因并没有在debian6的php中集成fpm,不过在debian7中终于等到了…

安装apache2

apt-get install apache2 apache2-mpm-worker libapache2-mod-fastcgi

php及php-fpm已经在上一环节安装,所以不需要再次安装。

开启相关apache模块

a2enmod actions fastcgi alias

apache配置文件目录结构/etc/apache2

├── apache2.conf   #主配置文件

├── conf.d

├── envvars

├── magic

├── mods-available #总模块

├── mods-enabled   #启用模块

├── ports.conf

├── sites-available  #总站点

└── sites-enabled    #启用站点,默认启用000-default

000-default文件配置

ServerAdmin [email protected]

ServerName 192.168.37.37

DocumentRoot /var/www

AddHandler php5-fcgi .php

Action php5-fcgi /php5-fcgi

Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi

FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization

Options FollowSymLinks

AllowOverride None

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

针对fcgi可做如下优化/etc/nginx/fastcgi_params:

fastcgi_connect_timeout 60;

fastcgi_send_timeout 180;

fastcgi_read_timeout 180;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 4k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

fastcgi_intercept_errors on;

设置首页面/var/www/index.php

echo '<?php  echo 'hello guol'; ?>' > /var/www/index.php

启动apache和php-fpm

/etc/init.d/php5-fpm start

/etc/init.d/apache2 restart

php fpm apache nginx_安装配置Nginx/Apache+PHP-fpm服务环境相关推荐

  1. 【Linux系列】安装配置Nginx

    [Linux 环境]安装配置Nginx 文章目录 [Linux 环境]安装配置Nginx 前言 一.Nginx是什么? 二.使用Nginx 1.安装nginx 2.配置Nginx 3.配置websoc ...

  2. linux防火墙安装httpd配置,CentOS7下 Apache的安装配置方法

    前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利.在此做一下学习记录和经验分享. 一.安装httpd 1.先查看一下系统有没有已经安装了httpd的,如果啥都没查到, ...

  3. wamp的mysql单独使用_Windows 7+8.1+10 单独安装配置 PHP+Apache+MySQL(不使用 WAMP)

    Windows 8.1 单独安装配置 PHP+Apache+MySQL(不使用 WAMP) 本文同样适用于Windows7和10 0x00 PHP [下载]http://www.doczj.com/d ...

  4. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)

    转至:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  5. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

    来源:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  6. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  7. Linux服务器下安装配置Nginx的教程

    这篇文章主要介绍了Linux服务器下安装配置Nginx服务器的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 Nginx("engine x")是一款 ...

  8. centos 一键安装配置nginx脚本

    centos 一键安装配置nginx脚本 installNginx.ssh 用vi或则vim编辑 installNginx.ssh #!/bin/bash # author:kwin # Email: ...

  9. CentOS7.3 安装配置 Nginx、MariaDB、PHP

    CentOS7.3 安装配置 Nginx.MariaDB.PHP 配置 nginx 安装参数并安装 配置 以下参数也可以在后期通过配置 conf 文件进行配置 基本配置如下 ./configure - ...

最新文章

  1. 北京工商大学计算机考研818真题,2017年北京工商大学计算机与信息工程学院818数据结构考研仿真模拟题...
  2. Go语言MD5加密用法实例
  3. 世界杯直播背后:腾讯云极速高清技术部署实录
  4. Java—static关键字
  5. wetask.cn领度任务全新试用体验
  6. 机器为什么可以学习(2)---一般化理论
  7. 手把手带你玩转Spark机器学习-深度学习在Spark上的应用
  8. mysql with,mysql+with
  9. NHibernate之旅(9):探索父子关系(一对多关系)
  10. 格林威治时间转北京时间
  11. 找出java重复字符串,java 找出字符串出现重复的字符和次数
  12. 知识星球有必要加入吗?
  13. LabVIEW控制高速微快门
  14. 【TiDB@丰巢】支付平台的迁移之旅
  15. 全球时间与北京时间、UTC时间关系表
  16. 开发中的代码管理工具熟知
  17. java之get/set方法的作用:灵活、安全
  18. 简单理解椭圆曲线的非对称加密应用
  19. Qt编写的项目作品11-带频谱的音乐播放器
  20. 如何正确在轧钢厂中运用无线测温产品

热门文章

  1. 【安全知识分享】安全生产月活动总结课件(附下载)
  2. 尼康1c全站仪语言设置,全站仪_全站仪尼康牌型号:NIVO1C/2C厂家价格南方全站仪 114批发网...
  3. 压缩文件设置解压密码
  4. 锦江小学网络规划设计
  5. 安全防御----APT
  6. 职业经理人需要学习的内容--哈佛MBA课程设置
  7. 2022-2027年中国老年健康服务行业发展监测及投资战略研究报告
  8. Java订单编号生成(安全永不重复)
  9. python3 解析文件类型filetype
  10. 热乎乎的morgan stanley 电面面经新鲜出炉~\(≧▽≦)/~啦啦啦