<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用 Windows Apache 轉發系統服務搭建 Service Server

      我們常常會寫基于 C-S 的架構的程序, 一個服務程序監聽系統的某個端口, 為客戶端提供某些服務; 也有很多系統程序也以這種方式存在, 比如 RedmineGitosis. 我們有沒有辦法把這些程序托管到 apache 上, 讓用戶直接通過 Http 的方式訪問呢? 其實很簡單, 只需兩步即可實現: 創建系統服務 + 代理轉發

      創建系統服務

      Windows 一個很強大的服務管理程序, 命令很簡單, sc. 常用的功能包括

      sc start/stop/create/delete

      兩個 trick 需要注意

      1. create的時候, binPath= 是一個整體, = 前不能有空格, 但是 = 后必須有空格

      2. delete的時候, 如果 services.msc 打開著, 那么你需要把它關了才能夠把服務真正刪除掉

      但是這么簡單就可以把一個程序轉成服務了么? 當然不是.

      比如 Redmine, 在安裝完之后, 可以調用 ruby script/server webrick -e production 來啟動一個 StandAlone 的服務器進行測試. 這個程序一直在終端里運行, 直到用戶 Ctrl+C 把它殺掉. 那么我們直接用這條命令作為 service的binPath, 這個服務可以運行么? 我們讓一個服務啟動時, 這個服務對應的命令應該是立即返回的, 只是它會觸發另外一個過程來啟動一個駐守進程(具體原理沒有研究). 我們讓服務調用這么一個命令, 因為它沒有返回, 因此服務就會在那卡著等它結束, 因此結果就是服務因為長時間未響應而啟動失敗.

       

      解決這個問題問題的方法來自于微軟的一套系統管理程序,Windows Server 2003 Resource Kit Tools. 我們要用到的只有兩個程序, instsrv.exe srvany.exe. 前者創建一個以后者為殼的服務.

      然后打開注冊表, 找到新創建的服務, 給它添加運行參數, 就是我們具體要運行的服務器程序.

      具體可參考: http://www.redmine.org/boards/1/topics/4123

      First, download the Windows NT Resource Kit: http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en and install it.

      It should be noted that this is not added to your PATH so you will always need to specify absolute paths when running these commands. To add the registry entry for redmine we do:

      path\INSTSRV.EXE My Service path\SRVANY.EXE

      In my case it looked like this:

      "C:\Program Files\Windows NT Resource Kit\INSTSRV.EXE" Redmine "C:\Program Files\Windows NT Resource Kit\SRVANY.EXE"

      Then add the following registry key:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Redmine

      Now go to Start -> Run -> regedit. Right click on the registry key and select New -> Key. Name it "Parameters" without the quotes.

      Now we need to add two values to the Parameters key. Right click on the parameters key, New -> String Value. Name it "Application". Now create another one named "AppParameters". Give them the following values:

      For Application:

      C:\ruby\bin\Ruby.exe

      For AppParameters:

      C:\RUBYAPP\script\server -e production

      Where RUBYAPP is the directory that contains the redmine website.

      Now you can go to Administrative Tools -> Services. There you can start the Redmine service and test whether or not it is working properly. It should be noted that the service will be marked as started prior to WEBrick finishing its boot procedure. You should give it 1min or so before trying to hit the service to verify that it is working correctly.

      I hope this helps someone. Good luck.

       這樣的話, 我們就確確實實安裝了一個系統服務, 比如這個例子, 就是在3000端口建立的 Redmine 的服務.

       

      代理轉發

      這個其實就非常簡單了.只需要加上一個 ProxyPass即可.

      ProxyPass /redmine http://127.0.0.1:3000/
      ProxyPassReverse /redmine http://127.0.0.1:3000/

       

       

       

       

       

      posted on 2012-08-15 04:01  大寶pku  閱讀(460)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 西西人体大胆444WWW| 久热99热这里只有精品| 精品国产一区二区三区久| 亚洲午夜理论片在线观看| 少妇人妻偷人一区二区| 亚洲国产欧美在线人成AAAA| 自拍偷拍一区二区三区四| 亚洲精中文字幕二区三区| 国产精品福利自产拍久久 | 亚洲中文字幕无码一久久区| 国产精品福利午夜久久香蕉| 人人玩人人添人人澡超碰| 国产福利微视频一区二区| 国产午夜福利在线视频| 丰满多毛的大隂户视频| 欧美福利在线| 亚洲人成网站77777在线观看| 久久91精品牛牛| 国产麻豆精品手机在线观看| 男人扒女人添高潮视频| 一区二区三区激情都市| 日本边添边摸边做边爱| 美女一区二区三区在线观看视频 | 在线日韩一区二区| 四虎影院176| 日韩精品亚洲不卡一区二区| 国产亚洲AV电影院之毛片| 人妻av无码系列一区二区三区| 国产精品视频一区二区噜| 亚洲AV成人片不卡无码| 白嫩少妇无套内谢视频| 乱码精品一区二区亚洲区| 国产精品久久久久无码网站| 亚洲乱妇老熟女爽到高潮的片| 国产二区三区不卡免费| 国产精品久久毛片| 四虎在线播放亚洲成人| 国产一级黄色片在线观看| 欧美视频专区一二在线观看| 成人亚洲国产精品一区不卡| 久久综合伊人77777|