<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Git 守護進程 接下來我們將通過 “Git” 協議建立一個基于守護進程的倉庫。對于快速且無需授權的 Git 數據訪問,這是一個理想之選。請注意,因為其不包含授權服務,任何通過該協議管理的內容將在其網絡上公開。 如果運行在防火墻之外的服務器上,它應該只對那些公開的只讀項目服務。如果運行在防火墻之內的服務器上,它可用于支撐大量參與人員或自動系統(用于持續集成或編譯的主機)只讀訪問的項目,這樣可以省去逐一配置 SSH 公鑰的麻煩。 無論何時,該 Git 協議都是相對容易設定的。通常,你只需要以守護進程的形式運行該命令: ~~~ git daemon --reuseaddr --base-path=/opt/git/ /opt/git/ ~~~ `--reuseaddr` 允許服務器在無需等待舊連接超時的情況下重啟,`--base-path` 選項允許用戶在未完全指定路徑的條件下克隆項目,結尾的路徑將告訴 Git 守護進程從何處尋找倉庫來導出。如果有防火墻正在運行,你需要開放端口 9418 的通信權限。 你可以通過許多方式將該進程以守護進程的方式運行,這主要取決于你所使用的操作系統。在一臺 Ubuntu 機器上,你可以使用一份 Upstart 腳本。因此,找到如下文件: ~~~ /etc/event.d/local-git-daemon ~~~ 并添加下列腳本內容: ~~~ start on startup stop on shutdown exec /usr/bin/git daemon \ --user=git --group=git \ --reuseaddr \ --base-path=/opt/git/ \ /opt/git/ respawn ~~~ 出于安全考慮,強烈建議使用一個對倉庫擁有只讀權限的用戶身份來運行該守護進程 - 你可以創建一個新用戶 *git-ro* 并且以該用戶身份來運行守護進程。為簡便起見,我們將像 `git-shell` 一樣,同樣使用 *git* 用戶來運行它。 當你重啟機器時,你的 Git 守護進程將會自動啟動,并且如果進程被意外結束它會自動重新運行。為了在不重啟的情況下直接運行,你可以運行以下命令: ~~~ initctl start local-git-daemon ~~~ 在其他系統中,你可以使用 `sysvinit` 系統中的 `xinetd` 腳本,或者另外的方式來實現 - 只要你能夠將其命令守護進程化并實現監控。 接下來,你需要告訴 Git 哪些倉庫允許基于服務器的無授權訪問。你可以在每個倉庫下創建一個名為 `git-daemon-export-ok` 的文件來實現。 ~~~ $ cd /path/to/project.git $ touch git-daemon-export-ok ~~~ 該文件將允許 Git 提供無需授權的項目訪問服務。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看