Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问。

先了解一下网站正常运行所用到的用户、目录权限:

Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限。

PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限。

让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:/usr/local/php/logs/php-fpm.pid

/usr/local/php/logs/php-fpm.log

/tmp/www.haiyun.me.sock

www.onovp.com #PHP-CGI运行用户组

www.haiyun.me

启动PHP-CGI进程:/usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/www.haiyun.me.conf

设置网站目录权限,设Nginx运行用户为www:chown -R www.haiyun.me:www /home/wwwroot/www.haiyun.me

chmod -R 550 /home/wwwroot/www.haiyun.me

chmod 701 /home/wwwroot/

再修改Nginx网站配置文件,解析PHP所使用的PHP-CGI进程:location ~ .*\.(php|php5)?$

{

fastcgi_pass unix:/tmp/www.haiyun.me.sock;

fastcgi_index index.php;

include fcgi.conf;

}

php-cgi进程简单管理脚本:#! /bin/sh

# chkconfig: 2345 55 25

#https://www.haiyun.me

cgi=/usr/local/php/bin/php-cgi

case "$1" in

start)

for conf in `ls /usr/local/php/etc/*.conf`

do

$cgi --fpm --fpm-config $conf

done

;;

stop)

for pid in `ls /usr/local/php/logs/*.pid`

do

kill -TERM `cat $pid`

done

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

;;

esac

nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站相关推荐

  1. Nginx一把梭完:防盗链、动静分离、高可用、压缩、跨域、缓存等

    一.Nginx概念浅析 Nginx是一个轻量级的高性能HTTP反向代理服务器,同时它也是一个通用类型的代理服务器,支持绝大部分协议,如TCP.UDP.SMTP.HTTPS等. Nginx是基于多路复用 ...

  2. nginx【nginx跨域、nginx开启gizp压缩、nginx服务器部署项目】

    nginx是一个高性能的HTTP和反向代理服务器,它使用配置文件决定如何提供内容.要监听的端口等.因此常用来做静态资源服务器和后端的反向代理服务器. 安装:brew install nginx 启动: ...

  3. CentOS7下启动Nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  4. 在centos下启动nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  5. linux系统安装nginx步骤,虚拟机(linux)下安装nginx的步骤教程

    原标题:虚拟机(linux)下安装nginx的步骤教程 一.虚拟机准备: [root@localhost 桌面]# vi /etc/sysconfig/network-s/ifcfg-eth0 DEV ...

  6. centos nginx不是命令_虚拟机下Centos 8.0 安装PHP+Mysql+Nginx

    按照此教程,我成功安装了环境,作心得记录. 第一步:安装nginx 推荐教程:http://nginx.org/en/linux_packages.html#RHEL-CentOS 1.安装必备必备工 ...

  7. Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包(亲测)

    Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包. 18 (flaskApi) [root@67 flaskDemo]# yum -y install n ...

  8. 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤

    文章目录 Nginx下载安装 Nginx-windows安装 下载 安装 启动 Nginx-Linux安装 下载 准备 安装 启动 检查 Nginx常用命令 Nginx下载安装 Nginx跨平台,在w ...

  9. Linux下玩转nginx系列(二)——nginx配置文件说明

    nginx 文件结构 # main全局块events { #events块... }http #http块 {... #http全局块server #server块{ ... #server全局块lo ...

最新文章

  1. 示廓灯——也就是前后位置等开启方法 还有该死的刮水器是长这样的
  2. [转]VC++中对文件的写入和读取
  3. code css怎么拿不到div_不会“编程”拿不到初中毕业证?听北京海淀教委怎么说...
  4. mysql两者之间_Django和MySQL - 两者之间的数据是不同的
  5. Arduino笔记-流水点灯
  6. 浅谈前端自动化构建 -- Grunt、Gulp、FIS
  7. jmeter debug sample不在查看结果树中显示_Jmeter线程组间传递参数
  8. Js获取处理日期时间
  9. 金蝶连服务器显示演示版,金蝶正版和金蝶演示版的区别
  10. continous attractor neural networks - 连续吸引子网络(ing)
  11. 计算机中二进制转十进制怎么算,二进制转十进制怎么算?二进制转十进制公式及方法!...
  12. dva的state引用及connect连接
  13. 阅读 | 皮囊与灵魂
  14. win7下l2pt/sec 的789报错解决
  15. 黑客入门常用的8种工具
  16. Revit建模:使用技巧【软件操作类】希望能帮大家提高效率(上)
  17. 互联网日报 | 4月1日 星期四 | 华为2020年收入8914亿元;滴滴拿下消费金融牌照;HM已在中国关闭约20家门店...
  18. Ecall测试,ITU-T P.1140 车载紧急呼叫系统语音测试
  19. arcgis地图开发测面、测距、定位小工具
  20. ROS入门:运行小海龟

热门文章

  1. mysql语句怎么记_Mysql常用语句(记一下,免得忘)
  2. 矩阵分析理论在实际工程中的应用_【顶管技术在市政给排水工程中的应用分析】...
  3. Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?
  4. micropython用什么编译_micropython开发者指南
  5. linux修改services命令,Linux中service指令都有哪些参数
  6. 画直线_在鸡面前画一条直线,为什么它会晕?西瓜视频这知识好冷告诉答案
  7. anaconda中安装xgboost_Anaconda是什么?Anconda下载安装教程 - python基础入门(16)
  8. 火狐浏览器怎么关闭自动更新 火狐浏览器关闭自动更新的方法
  9. CSS 让数字滑动显示
  10. java用XSSFWorkbook实现读写Excel