nginx php exec,PHP Web 端如何操作 Nginx 配置
PHP Web端安全操作Nginx配置及热重启
前言
之前帮客户整了一套基于GeoIP2的自动化AB站(Nginx Geoip2 处理不同国家 (或城市) 的访问
),客户最近想通过管理端手动控制AB站切换
不建议使用system,exec等执行shell命令的函数需要复杂的提权操作
一般项目这些函数是被禁止
作为一名合格的Phper除非特殊情况,否则是严禁在项目中启用一些涉及到安全性的函数
方案思路Nginx vhost配置文件中include片段配置
后端切换AB站时,PHP逻辑中修改第一步中引入片段配置
Nginx Reload第一种方案:小型项目使用crontab定时执行nginx -s reload(搭配worker_shutdown_timeout使用)
第二种方案(推荐):修改后标记需要reload状态(File or DB or Cache),定时器通过python脚本查询是否需要reload去执行nginx -s reload
方案一
1.创建片段配置文件
创建独立片段Nginx配置文件,例如ar414.conf,然后在nginx vhost中include
ar414.confroot /www/wwwroot/ahost;
2.站点配置文件中include配置文件ar414.conf
site.confserver {
listen 80;
server_name 0.0.0.0;
index index.html;
include /www/wwwroot/abhost/ar414.conf;
}
3.后台逻辑中操作ar414.confif($data['site_set'] == AbHostSiteEnum::Ahost) {
//开启A站
$ahostPath = AbHostSiteEnum::AhostPath;
file_put_contents('./ar414.conf',"root {$ahostPath};");}else {
//开启B站
$bhostPath = AbHostSiteEnum::BhostPath;
file_put_contents('./ar414.conf',"root {$bhostPath};");}
4.Nginx全局配置中设置worker_shutdown_timeout30s内Nginx无法平滑退出,就强行关闭进程
nginx.conf...worker_shutdown_timeout 30;
5.定时执行Nginx热重启
crontab -e*/5 * * * * nginx -s reload
推荐教程:《PHP》
nginx php exec,PHP Web 端如何操作 Nginx 配置相关推荐
- H5分享页面(1)——web端二次分享配置内容
在H5分享页面中,如果用户进行了二次分享,需要进行一些配置才能进行使用,如微信二次分享就必须调用微信的JS-SDK来完成.下面对分享配置代码进行了封装: 存放路径:public/resources/j ...
- 【Apache POI】Excel操作(三):Excel在浏览器端即Web端写入操作的实现
卑鄙是卑鄙者的通行证,高尚是高尚者的墓志铭. 有目录,不迷路 前言 编码开始 依赖 实体类 控制层 运行 小提醒 前言 之前给大家介绍了Excel在本地导入的基本操作(本期博客需要有前两期博客的基础才 ...
- 基于nginx tomcat redis分布式web应用的session共享配置
一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...
- 使用HslCommunication实现PLC数据的远程客户端监视,以及web端实时监视,远程操作设备示例...
前言 本文主要是演示一个例子,服务器后台程序从PLC采集数据,并推送给在线客户端显示,以及推送给web端进行实时的显示,还支持远程操作,支持安卓端的同步监视和远程操作,关于HslCommunicati ...
- web端测试和移动端测试的对比
做过的项目有不少涉及web端测试和移动端测试,简单的记录下他们之间的区别: 1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点 ...
- web端测试和移动端测试的区别
我们一起来总价一下web端测试和移动端测试的区别: 1.报bug 对于测试来说,比较重要的一个步骤就是报bug,在web端我们发现问题之后,可以利用系统自动工具或者其他截图工具直接截图,然后将错误的地 ...
- fiddler的web端抓包配置流程
目录 1.fiddler的web端抓包的配置 最后会弹出两个弹框,点击"yes"和"是" ,需要重启后才能使用 2.打开fiddler自带的浏览器搜索内容 ...
- 【第0篇】从0-1自建个人博客系统【web端,admin管理端,express后端,Nginx部署】--vue3技术 reac+hook技术 umi4
[第0篇]从0-1自建个人博客系统[web端,admin管理端,后端] 文章完整地址:http://huxunxun.top/lookArtical?artical_id=18 [序言] 我是一个微小 ...
- Axure通用web端元件库rplib文件格式+移动端app通用元件库rplib文件格式+电脑端动态可视化图表元件库+数据展示+操作反馈+通用模板+数据录入+列表页+表单页+详情页+通用版布局
作品介绍:Axure通用web端元件库rplib文件格式+移动端app通用元件库rplib文件格式+电脑端动态可视化图表元件库+数据展示+操作反馈+通用模板+数据录入+列表页+表单页+详情页+通用版布 ...
最新文章
- nvGRAPH三角形计数和遍历示例
- NLP分词数据准备及模型训练实例
- 应用进退法确定一维搜索区间_NMR-如何确定官能团含量(MestReC)
- 2019.2.20异常
- Qt undefined reference to,Error 255,找不到库函数的解决办法
- 三分钟小课堂-----------------docker(三)增删改查命令
- Residual Attention Network--2017-【论文理解】
- wps加载失败模板文件损坏_Word中打不开提示模板损坏的解决方法
- 第86节:Java中的JQuery基础
- excel 第3讲:查找、替换与定位
- 面对面教你如何用Python提取快递信息
- python变异系数,Python Scipy stats.variation()用法及代码示例
- openstack(云主机热迁移)
- 【实战】(字节跳动、日本东京大学)学习使用白盒表示+GAN来创作卡通图片:Learning to Cartoonize Using White-Box Cartoon Representations
- Windows平台在线安装Qt 6.0.0图文教程
- Codeforces Round #717 Div.2
- R时间序列分析|SP500股指的ARIMA模型预测与残差ARCH效应分析
- n3160装微软服务器,英特尔赛扬N3160处理器性能跑分评测
- 使用HTML编写浣溪沙,《浣溪沙》版本+原文+拼音版+翻译+赏析+作者
- 4、IOC 之Bean的依赖关系