Win2012+Nginx+IIS+xxfpm(服务版)

这次做了一个项目部署在环境为win2012+nginx1.13.5+mysql5.6+php7的环境下,服务器是阿里云的

由于之前没有这种经验,遇到了点坑(据参考文章里说的这坑还有些年份了),最开始自己是用Php-cgi解决的,但是不知道是服务器问题还是别的什么情况,运行cmd输入php-cgi.exe -b 127.0.0.1:9000不能关闭cmd,否则cgi就一起关掉了。这也忍了,但是自己访问后台上传多几张图片,cgi自己就能挂掉,这种情况当然不能忍,所以查阅各种资料,最后解决方案如下(所用工具包及参考链接附在文章末尾):

  本文要解决的问题是:
  1、php-cgi.exe自动退出
  2、如何将xxfpm设置成系统服务,随系统重启

第一步:windows下安装Nginx,Mysql,PHP

  本步骤过于简单,就跳过了,如果连这个也不会,建议到全中国最牛X的技术资料平台【百度】搜索“nginx+php”

  mysql的安装就是next、next、next的问题,也不说了。

  后面的步骤才是本文的重点!

第二步:让php-cgi.exe受xxfpm守护,而xxfpm随系统启用,达到后台运行的效果

  网上很多文章介绍用什么应用隐藏工具,还有写什么bat手工运行的,我就不吐槽了。

  (1)你需要下载xxfpm.exe,把它放在PHP目录下;

  (2)再下载【命令调用工具】winserv.exe,也放在PHP目录下,我们将它注册成系统服务,通过它去执行xxfpm.exe

  (3)编写如下的批处理文件install.bat,目的是将winserv.exe注册成系统服务:

@echo off
if not ""%1"" == ""INSTALL"" goto remove
"C:/nginx/php\winserv.exe" install "nginxPHP-CGI" -start auto "C:/nginx/php\php-cgi.exe" -b 127.0.0.1:9000 -c "C:/nginx/php\php.ini"
net start nginxPHP-CGI > NUL

goto end

:remove
net stop nginxPHP-CGI > NUL
"C:/nginx/php\winserv.exe" uninstall "nginxPHP-CGI"

:end
exit

可以直接copy上面代码,改名install.bat,执行即可。当然上面的目录路径要修改成你的。这步操作完,php-cgi.exe会随winserv.exe的启动而启动,但还没完,因为这时候的php-cgi.exe很脆弱,500个请求就会down掉。

注:我自己复制上述代码后改名install.bat并执行,没有成功,原因我猜是在判断条件,我最后的解决方案是将以下两句代码逐一复制入cmd中执行,后再执行下一步(还是要注意修改成你自己的路径)。

后知后觉的我在解决后才注意到文末的工具包中附带的install.bat跟上述代码还有点差别,未解决的童鞋可以尝试下直接执行该文件看是否能解决(还是要注意修改成你自己的路径,第三次提醒)。

"C:/nginx/php\winserv.exe" install "nginxPHP-CGI" -start auto "C:/nginx/php\php-cgi.exe" -b 127.0.0.1:9000 -c "C:/nginx/php\php.ini"
net start nginxPHP-CGI

(4)在【运行】里输入regedit.exe,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nginxPHP-CGI],即刚才注册的服务键值,把其中CommandLine的值修改为:

C:\nginx\php\xxfpm.exe "C:/nginx/php/php-cgi.exe -c C:/nginx/php/php.ini" -n 5 -i 127.0.0.1 -p 9000

(5)大功告成!无弹出窗,无界面。这时候我关掉我已开启的cmd,网站依然可以访问,php仍然可以使用

另外想要实现Nginx反向代理给IIS,实现80端口共享的童鞋,可以参考文末链接,本文只截取了其三分之二的内容,因为我自己不打算配反向代理,也就没继续执行下去了。

附上所有工具包、bat文件:百度网盘

参考:https://blog.csdn.net/aasx/article/details/53576095

原文地址:https://www.cnblogs.com/roggeyue/p/9737542.html

时间: 2024-08-10 23:29:17

Win2012+Nginx+IIS+xxfpm(服务版)的相关文章

windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分布式架构:下面将先给出整个架构的核心节点简介,希望各位多多点赞: . 架构设计图展示 . nginx+iis构建服务集群 . redis存储分布式共享的session及共享session运作流程 . redis主从配置及Sentinel管理多个Redis集群 . 定时框架Task.MainForm提

将绿色版Tomcat/Nginx注册成服务,实现开机自启动

我们常用的Tomcat,不管是在windows下还是linux下基本上都是绿色版本,解压.启动后直接使用.这就产生了一个问题,不能开机自自动,很不方便,linux下可以添加到/etc/rc.local实现开机自启,windows下也可以添加到开机启动项里:不过注册为系统服务更加方便一些,这里记录一下方法. 检查系统环境 确保64位的操作系统下是64位的Jdk 1 2 3 4 F:>java -d64 -version java version "1.7.0_80" Java(TM

Windows下将nginx安装为服务运行

今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以只能双击运行,然后通过以下命令来管理:  Nginx/Win32是运行在一个控制台程序,而非windows服务方式的.服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它: Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务.(快速退出)

使用Nginx+IIS的部署方案实现负载均衡

使用Nginx+IIS的部署方案实现负载均衡 这段时间一直在研究负载均衡问题,用家用电脑搭建了个Nginx+IIS的负载均衡部署,算是个入门级别的说明吧,因为是测试简化版本的部署方案搭建,所以使用的是测试业务.在文章初期我先明确一下问题: 1.负载均衡是什么? 2.为什么使用负载均衡? 3.处理负载均衡还可以有别的优化方案吗? 4.什么时候必须用负载均衡? 下面我依次回答这些问题: 问题1.负载均衡是什么? 百度百科给负载均衡的定义是,负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的

Windows+Nginx+IIS做图片分布式存储详细步骤

最近几天,一直在学习nginx在windows平台下的使用,为了寻找几种大量图片分布式存储而且有相对简单的存储方案 nginx是一种,还找到一种MongoDB GridFS 这两种方案我还是比较中意的,经过今天的奋斗,终于将nginx做图片分布式存储这个方案的搭建环境建立起来了,GridFS在后续的学习中我也会记录下搭建过程,敬请期待吧. 废话少说,下面就来说一下Windows+Nginx+IIS 如何建立分布式存储结构. 1.  结构总览 逻辑结构: 图1 如图,这是理想的架设,我这次模拟的结

nginx博客:基于nginx构建LNMP服务

一.nginx简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率. 目前nginx在大陆主要有两个分支:Tengine(淘宝).Registry nginx工作时,先启动一个master进程,然后由master进程生成一个或多个worker进程(自己设置),每个worker线程响

Zabbix 使用nginx做web服务

zabbix 使用nginx做web服务 逻辑图: yum  nginx装好,默认的default.conf文件直接backup掉,新建一个zabbx.conf文件, #如果有报错看下nginx_log 日志排错,zabbix3.0.4nginx转发依赖./php-fpm -v PHP 5.6.25,之前代理发现没用 报错也不是配置错误,查看官网发现是php-fpm版本问题. 10.10.254.25 zabbix_server服务器nginx配置: $ cat zabbix.conf  ser

UBUNTU下使用PostgreSql.和nginx安装postfixAdmin2.92版

本文为在Ubuntu14.04中使用PostgreSql和Nginx安装PostfixAdmin2.92版的记录. <! –more– > 需要安装的包 记忆有些模糊,大概列一下: postfix,PostgreSql,postfix-pgsql,php5-pgsql,nginx,php5-fpm,这些包可以通过Ubuntu的包管理安装. 准备工作 需要配置nginx支持php,方法见另外的文. 需要建立PostfixAdmi使用的PostgreSql数据库和数据库用户,并配置可以通过网络登录

nginx+iis、NLB、Web Farm、Web Garden

nginx+iis实现负载均衡 在win2008R2上使用(NLB)网络负载均衡 NLB网路负载均衡管理器详解 [译文]Web Farm和Web Garden的区别?