700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php fpm apache nginx_安装配置Nginx/Apache+PHP-fpm服务环境

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

时间:2022-10-25 20:15:02

相关推荐

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

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

1 nginx+php-fpm

安装nginx

apt-getinstallnginx

安装php及php-fpm

apt-getinstallphp5-mysqlphp5-gdphp5-curlphp5-cliphp5-cgiphp5-dev

apt-getinstallphp5-fpm

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

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

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

├──php.iniphp的配置文件

└──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文件配置:

upstreamphp{

serverunix:/var/run/php5-fpm.sock;

}

server{

listen80;

root/usr/share/nginx/www;

indexindex.phpindex.html;

server_name192.168.37.37;

location~.php${

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

fastcgi_passphp;

fastcgi_indexindex.php;

includefastcgi_params;

}

}

设置首页面

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

启动php-fpm和nginx

/etc/init.d/nginxstart

/etc/init.d/php5-fpmstart

2 apache+php-fpm

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

安装apache2

apt-getinstallapache2apache2-mpm-workerlibapache2-mod-fastcgi

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

开启相关apache模块

a2enmodactionsfastcgialias

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

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

├──conf.d

├──envvars

├──magic

├──mods-available#总模块

├──mods-enabled#启用模块

├──ports.conf

├──sites-available#总站点

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

000-default文件配置

ServerAdmin[emailprotected]

ServerName192.168.37.37

DocumentRoot/var/www

AddHandlerphp5-fcgi.php

Actionphp5-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-headerAuthorization

OptionsFollowSymLinks

AllowOverrideNone

OptionsIndexesFollowSymLinksMultiViews

AllowOverrideNone

Orderallow,deny

allowfromall

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

AllowOverrideNone

Options+ExecCGI-MultiViews+SymLinksIfOwnerMatch

Orderallow,deny

Allowfromall

ErrorLog${APACHE_LOG_DIR}/error.log

LogLevelwarn

CustomLog${APACHE_LOG_DIR}/access.logcombined

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

fastcgi_connect_timeout60;

fastcgi_send_timeout180;

fastcgi_read_timeout180;

fastcgi_buffer_size128k;

fastcgi_buffers2564k;

fastcgi_busy_buffers_size256k;

fastcgi_temp_file_write_size256k;

fastcgi_intercept_errorson;

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

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

启动apache和php-fpm

/etc/init.d/php5-fpmstart

/etc/init.d/apache2restart

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。