把 Ngnix 装成 Windows 服务,本地愉快的上了负载均衡 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xiangyuecn

把 Ngnix 装成 Windows 服务,本地愉快的上了负载均衡

  •  
  •   xiangyuecn
    xiangyuecn 2018 年 7 月 21 日 5754 次点击
    这是一个创建于 2834 天前的主题,其中的信息可能已经有所发展或是发生改变。

    知道各位 v2 大佬都是不用鼠标的,我还是喜欢用 Win7,水土不服来喷 哈

    ngnix 虽然提供了 Windows 下的安装包,但要手动运行,手动 doge,还有配置起来感觉重复文字比较多,臃肿。所以故事开始了:很多很多年前写了一个 bat 批处理...


    github: https://github.com/xiangyuecn/Nginx-Windows-Service-Manager

    说明书: https://www.jianshu.com/p/65737635983d

    28 条回复    2020-01-03 23:42:18 +08:00
    ysc3839
        1
    ysc3839  
       2018 年 7 月 21 日 via Android
    以 SYSTEM 用户运行 nginx 有安全隐患,应该使用限制权限的用户来运行。
    loading
        2
    loading  
       2018 年 7 月 21 日
    @ysc3839 虽然干掉 windows 理论上比干掉 nginx 要简单,请问应该如何配置呢?
    xiangyuecn
        3
    xiangyuecn  
    OP
       2018 年 7 月 21 日
    @ysc3839 本地虽然不太在意账户控制,刚刚查了一下 winsw 可以设置服务的运行账户,有时间再来升级一下
    gftfl
        4
    gftfl  
       2018 年 7 月 21 日
    哪要这么麻烦。UPUPW 走起。
    xiangyuecn
        5
    xiangyuecn  
    OP
       2018 年 7 月 21 日
    @gftfl 我还要 dobbo,还要数据库中间件,现在啃书中,京东 618 囤的书一本都没看完(滑稽
    ysc3839
        6
    ysc3839  
       2018 年 7 月 21 日 via Android
    @loading 用 sc config 可以配置服务运行所用的用户,具体要怎么写我无法使用电脑,不知道。
    Dragonish3600
        7
    Dragonish3600  
       2018 年 7 月 21 日
    正确方法是用 AD 的 Service account 去运行。。
    zhuanzh
        8
    zhuanzh  
       2018 年 7 月 21 日 via Android
    但是 win 版的 nginx 有什么意义呢 官方都不推荐
    ragnaroks
        9
    ragnaroks  
       2018 年 7 月 21 日
    我其实有点奇怪,为什么 Windows 下不能托管任意非 GUI 程序,就像 systemd 那样
    chengxiao
        10
    chengxiao  
       2018 年 7 月 21 日
    Win 下不是也可以跑 Docker 吗?
    alamaya
        11
    alamaya  
       2018 年 7 月 21 日
    没意义,不会有公司在 win 下跑 nginx 吧,根本发挥不出性能
    xiangyuecn
        12
    xiangyuecn  
    OP
       2018 年 7 月 21 日
    @zhuanzh 本地开发是 Windows 环境,没有多余的机器搞测试服务器,内存吃紧还不敢开虚拟机,doge
    zzzmode
        13
    zzzmode  
       2018 年 7 月 21 日 via Android
    后台服务可以用 nssm 管理,本地使用的话 win 下可以试试 caddy 替代 nginx
    luob
        14
    luob  
       2018 年 7 月 21 日 via iPhone
    开个 docker 不就好了……
    tomczhen
        15
    tomczhen  
       2018 年 7 月 21 日
    然而 IIS 自带负载均衡模块,Application Request Route 了解一下。
    skylancer
        16
    skylancer  
       2018 年 7 月 21 日
    @zhuanzh 我记得当年 nginx 不支持个什么特性的时候被 Windows 版本秒天秒地来着- -
    ysc3839
        17
    ysc3839  
       2018 年 7 月 21 日 via Android
    @ragnaroks 任务计划程序也许可以实现?
    xiangyuecn
        18
    xiangyuecn  
    OP
       2018 年 7 月 22 日
    @tomczhen 单 IIS SSL 配置一项看到就想吐,Server 2008 存储的证书莫名其妙经常重启服务器就没法访问,全系列密码套件不知道怎么升级,调整顺序重启必须服务器,用过 ngnix 后发现原来世界这么美好 ( doge
    ryd994
        19
    ryd994  
       2018 年 7 月 22 日 via Android   1
    Nginx on Windows 是基于 select 的,就是个玩具
    Windows 下乖乖用 IIS 去,内核态处理 HTTP 请求的天顶星科技
    ryd994
        20
    ryd994  
       2018 年 7 月 22 日 via Android
    @chengxiao
    @luob
    两位,docker on Windows 其实是 docker on Linux on virtualbox
    msg7086
        21
    msg7086  
       2018 年 7 月 22 日
    非生产环境无所谓的。生产环境要用 Windows 的话 IIS 妥妥的,性能上天。
    Librazy
        22
    Librazy  
       2018 年 7 月 22 日
    @ryd994 不不不,1709 之后有 LCoW
    neoblackcap
        23
    neoblackcap  
       2018 年 7 月 22 日
    IIS 用了 IOCP,nginx 用 select 作为 IO 复用,官方文档都说 windows 版是一个玩具,Windows 生产环境负载均衡上 nginx 简直就是在玩。

    @ryd994 我记得有 hyper-v 的支持,性能按道理应该会好一些
    juhezw
        24
    juhezw  
       2018 年 7 月 22 日   1
    @loading 服务选项 服务的属性 登陆, 自建一个 users 组的用户就行了,给 nginx 需要访问的目录以权限就 OK 了
    sungkyu
        25
    sungkyu  
       2018 年 7 月 22 日
    楼主,Winsw1.9.exe 那两个链接挂了
    xiangyuecn
        26
    xiangyuecn  
    OP
       2018 年 7 月 22 日
    @sungkyu bat 里面的是 13 年以前的,readme 里面已更新找到的可用链接,好像那时候 sun 还是 sun,不是 oracle (滑稽
    xiangyuecn
        27
    xiangyuecn  
    OP
       2018 年 7 月 22 日
    @ryd994 @msg7086 @neoblackcap 嗯嗯,本地用的,线上酌情使用 ngnix 玩耍吧,小流量不怕。


    不过架构上还是要有负载均衡这层,性能优化上的事是后话,不能因为架构问题导致系统后面不能扩容。看到好几篇那种单机带不动了, 申请好几台服务器,然后发现不支持扩容,只能单机跑就尴尬了,WebService 这层还好,数据库这层如果不能扩容估计要进重构火葬场,哈~


    今早上压测了一下:win7 4G 8 核 笔记本

    结果:除了 https ngnix 只能单进程单核处理 https 握手占用 cpu 外,其余性能和直连 iis 的 tps 不相上下。





    静态资源 http 请求 iis 跑快了还会出错,:

    ragnaroks
        28
    ragnaroks  
       2020 年 1 月 3 日
    #9
    挖个坟,就是此贴促生了 Wind ( https://github.com/ragnaroks/Wind2 )项目,当然现在 2 年过去了已经是 Wind2 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1686 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 94ms UTC 16:23 PVG 00:23 LAX 09:23 JFK 12:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86