点击登录
  • 欢迎访问无限星辰技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏无限星辰吧
  • 好集导航开张了,传送门:好集导航

windows服务器下openresty+waf+PHP配置指南

WIN服务器 crx349 3853次浏览 0个评论 扫描二维码

先说下为啥我要那么麻烦整这个环境配置?
某塔不好用吗?某皮不好用吗?
还真不是呢,顺便吐槽下,某塔win下强制绑定手机(实名要求),某皮担心还有其他漏洞,之前用过有点担心。
刚好最近想用win2019虚拟机来搭建开发环境,同时发现用了别人套件后习惯后,发现自己的手动环境能力居然退步那么多。。。老了~哎。。。。

刚好复习下,同时记录下整体手动搭建流程,大部分是坑~下次还用时免得忘记了。

win下本来想用iis的,应该是最佳方案,搭建也是最简单的,但是想增加点难度同时想灵活扩展功能,iis就有点不太行,最后选型采用openresty,因为可编程的lua比较强大,同时扩展性没毛病,重点是我想装waf。
整体步骤:
1.先官方下载openresty win版本
2.配置nginx.conf 这个借鉴了某塔我win版本(省事啊)
3.整合lua_waf 这个百度下很多,在nginx.conf里面加入 include luawaf.conf;,启动。
windows服务器下openresty+waf+PHP配置指南

中间过程的坑如下:
1.waf启动失败,提示:

nginx: [alert] failed to load the 'resty.core' module

错误
解决方法:luawaf.conf中加入openresty下的lua lib路径

lua_shared_dict limit 10m;
lua_package_path "E:/localhost/openresty/lualib/?.lua;E:/localhost/openresty/conf/waf/?.lua";
init_by_lua_file  E:/localhost/openresty/conf/waf/init.lua;
access_by_lua_file E:/localhost/openresty/conf/waf/waf.lua;

搜索引擎上的解决方案是linux下的,win系统下没有此项方案,我自行测试完成的

2.php启动失败,使用

php-cgi.exe -b 127.0.0.1:20072 -c php.ini

启动提示dll不全,根据提示到微软官网下载vc++程序包解决。
3.网站防跨站设置失败,使用.user.ini中设置 open_basedir时提示:

PHP Warning:  Unknown: open_basedir restriction in effect. File

错误
解决方案:之前都是linux下设置过,发现win下使用此文件时,需要用

;

符号做间隔符,和linux下不一样,格式如下:

open_basedir="E:/wwwroot/www.xmspace.net/;C:/Windows/Temp/;E:/localhost/temp/;E:/localhost/temp/session/"

win下面使用 file_put_contents 函数读取绝对路径是无权限

E:/wwwroot/www.xmspace.net/;

改成:

E:\wwwroot\www.xmspace.net\;

就可以了
3.启动nginx和php比较不方便。
解决方案:做了几个bat启动,临时先用下,后期准备用golang做给控制界面,到时候会方便点。bat内容如下:
nginx_php_start.bat

@echo off 
echo Starting Nginx... 
E:
cd E:/localhost/openresty
start nginx
echo Starting PHP FastCGI... 
cd E:/localhost/openresty/php72
RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c E:/localhost/openresty/php72/php.ini

nginx_php_stop.bat

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

5.php单线程启动,容易自动挂掉
解决方案:用xxfpmW 做服务监听,自动控制启动php线程,将xxfpmW放入php安装目录,执行xxfpmW.vbe就可以了
如果需要服务启动 用 nssm 将xxfpmW.bat设置为系统服务,就可以实现开机或重启自动启动了。
6.nginx服务化
解决方案:使用 winsw工具
下载 后 将其放在 Nginx安装目录下 修改exe文件为nginx-service.exe
新建配置文件:nginx-service.xml和nginx-service.exe.config
windows服务器下openresty+waf+PHP配置指南

windows服务器下openresty+waf+PHP配置指南
cmd下 运行

nginx-service.exe install

7.用Golang做管理面板,制作中。


无限星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明windows服务器下openresty+waf+PHP配置指南!
喜欢 (6)
[]
分享 (0)

您必须 登录 才能发表评论!