文档章节

nginx + php-fpm 实现不同的虚拟主机使用不同的phpadminvalue配置

seared2008
 seared2008
发布于 2014/08/06 11:47
字数 686
阅读 37
收藏 0
点赞 0
评论 0

Apache下,每个虚拟主机可以单独不同的phpadminvalue,可以设置非常详细的网站目录权限设置,安全性比较高。

nginx做为一个高性能的web服务器已经得到广泛的应用,随着php5.3的发布,php-fpm也已经内置在php里面了,如何安装配置nginx+php-fpm,下面的内容,将集中于给nginx的虚拟主机和php-fpm的pools配合,实现不同虚拟主机运行不同配置的php。

我们下面会配置两个虚拟主机,使用不同的php和php-fpm配置

编辑php-fpm.conf

帮助

01
02
03
04
05

[global]
pid =     /usr/local/php/var/run/php-fpm     .pid
error_log =     /usr/local/php/var/log/php-fpm     .log
log_level = warning
emergency_restart_threshold = 0
emergency_restart_interval = 0
process_control_timeout = 0
daemonize =     yes
 
include=     /srv/vhost/     *     /php-fpm     .conf

这里第10行包含各vhost的配置

编辑/srv/vhost/a/php-fpm.conf

帮助

01
02
03
04
05
06
07
08
09
10
11
12

[a]
listen =     /srv/vhost/a/php-fpm     .sock
 
; Unix user     /group     of processes
user = nginx
group = nginx
 
; Choose how the process manager will control the number of child processes.
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100
 
; Pass environment variables
env     [HOSTNAME] = $HOSTNAME
env     [PATH] =     /usr/local/bin     :     /usr/bin     :     /bin
env     [TMP] =     /tmp
env     [TMPDIR] =     /tmp
env     [TEMP] =     /tmp
 
; host-specific php ini settings here
php_admin_value[disable_functions]=phpinfo
php_admin_value[open_basedir]=     /srv/vhost/a/webroot     :     /tmp

当php-fpm和nginx在同一台服务器时,我比较喜欢用unix sockt。这里指定了sockt文件的地址 /srv/vhost/a/php-fpm.sock

编辑 /srv/vhost/b/php-fpm.conf

帮助

01
02
03
04
05
06
07
08
09
10
11
12

[b]
listen =     /srv/vhost/b/php-fpm     .sock
 
; Unix user     /group     of processes
user = nginx
group = nginx
 
; Choose how the process manager will control the number of child processes.
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100
 
; Pass environment variables
env     [HOSTNAME] = $HOSTNAME
env     [PATH] =     /usr/local/bin     :     /usr/bin     :     /bin
env     [TMP] =     /tmp
env     [TMPDIR] =     /tmp
env     [TEMP] =     /tmp
 
; host-specific php ini settings here
;php_admin_value[disable_functions]=phpinfo
php_admin_value[open_basedir]=     /srv/vhost/a/webroot     :     /tmp

监听在 /srv/vhost/b/php-fpm.sock,另外可以看到,我注释了phpadminvalue[disable_functions]=phpinfo,也就是不禁用phpinfo函数

php-fpm配置完毕,启动它。

接下来配置nginx,配置两个server

帮助

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17

server {
         listen       80;
         server_name  a.somethings.me;
         index index.php;
         root     /srv/vhost/a/webroot/     ;
 
         location /{
 
         }
 
         location ~ .*\.php${
             fastcgi_pass  unix:     /srv/vhost/a/php-fpm     .sock;
             fastcgi_index index.php;
             include fcgi.conf;
         }
         access_log     /var/log/nginx/a     .somethines.me-access.log;
}
 
server {
             listen       80;
             server_name  b.somethings.me;
             index index.php;
             root     /srv/vhost/a/webroot/     ;
 
             location /{
 
             }      
 
             location ~ .*\.php${
                     fastcgi_pass  unix:     /srv/vhost/b/php-fpm     .sock;
                     fastcgi_index index.php;
                     include fcgi.conf;
             }
             access_log     /var/log/nginx/b     .somethines.me-access.log;
}

两个server分别fastcgi_pass到不同的sockte文件上,分别在/srv/vhost/a/webroot/ 和 /srv/vhost/a/webroot/ 下创建如下文件

帮助

1
<?php phpinfo();

启动nginx,分别访问 a.somethings.me 和 b.somethings.me 发现a.somethings.me 报错如下

帮助

1
Warning: phpinfo() has been disabled     for     security reasons     in     /srv/vhost/a/webroot/phpinfo     .php on line 2


© 著作权归作者所有

共有 人打赏支持
seared2008
粉丝 4
博文 33
码字总数 7080
作品 0
昌平
其他
PHP开发虚拟主机管理系统的思路

拿Nginx来说,在主配置nginx.conf里包含虚拟主机配置: include sites-enabled/*.conf; 新建虚拟主机时就在sites-enables里新建一个文件,比如: sites-enabled/a.com.conf server { listen 80; ...

eechen ⋅ 2015/04/06 ⋅ 2

Lnmp平台构建wordpress与phpMyadmin

1.lnmp实现多个虚拟主机,部署wordpress和phpmyadmin,并为后一个主机提供https; 2.配置rewrite,即使用户使用http协议访问phpmyadmin的站点,最终也会使用https重新请求资源; 1. ①使用r...

wujunqi1996 ⋅ 2017/10/14 ⋅ 0

Nginx 虚拟主机 配置 支持独立urlwrite 文件, php-fpm独立用户和php....

Nginx 虚拟主机 环境配置。 最近租了台服务器,准备做一些网站。纠结apache/nginx很久,最后选定了Nginx+php-fpm。 因为可能会有几个站,为了安全,我希望每个站点直接都能尽量独立,避免互相...

Qianfeng ⋅ 2011/09/23 ⋅ 1

ansible实现nginx双主模式反代,keepalived高可用,memcached缓存

ansible自动化运维工具配置ngnix前端反代到后端真实机,并设置keepalived高可用,在后端一台真实主机上配置httpd,mysql,php-fpm;设置memcached缓存服务器在这台真实主机上;(因为本人电脑...

wujunqi1996 ⋅ 2017/11/07 ⋅ 0

16. php-fpm配置相关

[toc] php-fpm配置相关 一、php-fpm配置 和LAMP不同的是,在LNMP架构中,php-fpm作为独立的一个服务存在,既然是独立服务,那么它必然有自己的配置文件。php-fpm的配置文件为/usr/local/php-...

Xavi2017 ⋅ 03/20 ⋅ 0

linux的php-fpm的pool、慢执行日志、进程管理及open_basedir介绍

php-fpm的pool Nignx可以配置多个虚拟主机,php-fpm同样也支持配置多个pool,每一个pool可以监听一个端口,也可以监听一个socket。 php-fpm配置说明: 和LAMP不同的是,在LNMP架构中,php-f...

Gary_加油涛 ⋅ 01/09 ⋅ 0

linux复盘:构架搭建lnmp(配置)

nginx虚拟主机 vim /usr/local/nginx/conf/nginx.conf 增加include vhost/*.conf; mkdir /usr/local/nginx/conf/vhost vim /usr/local/nginx/conf/vhost/aaa.com.conf #虚拟主机配置文件 如果......

历经35天的选择 ⋅ 01/23 ⋅ 0

编译安装php7

摘自:https://segmentfault.com/a/1190000004123048 解决依赖: 编译安装php7 先从官方网站下载php7,并且解压 配置无误后执行: 添加用户和组 调整php配置 默认安装好之后,你会发现/usr/...

MikeMei ⋅ 2016/07/15 ⋅ 0

Nginx服务配置综合实例

################################ 1.安装nginx,yum安装,编译安装 Nginx是一个免费,开源,高性能的HTTP服务器,同时也可以作为反向代理服务器,支持IMAP/POP3邮件代理服务器,支持模块化定...

rackie386 ⋅ 2017/09/09 ⋅ 0

日均百万PV架构第一弹(基本架构搭建)

规划图: 以上架构可在生产环境中可以做出多样性的拆分与组合,文中四台主机限于虚拟机资源受限情况 规划如下: (结合图片四台主机的区分应该不难) slave1.king.com 172.16.43.1 DNS轮询 -> sla...

My_King1 ⋅ 2014/05/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 37分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 56分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部