<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>踩坑实录 on 星分</title>
        <link>http://blog.yoresee.cc/categories/tutorial/</link>
        <description>Recent content in 踩坑实录 on 星分</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language><atom:link href="http://blog.yoresee.cc/categories/tutorial/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>雨云服务器宝塔面板搭建个人Git仓库托管实录</title>
            <link>http://blog.yoresee.cc/post/rainyun_git_remote/</link>
            <pubDate>Tue, 14 Jul 2026 15:03:48 +0000</pubDate>
            <guid>http://blog.yoresee.cc/post/rainyun_git_remote/</guid>
            <description>&lt;h2 id=&#34;解除-22-与-80-端口占用&#34;&gt;解除 22 与 80 端口占用&#xA;&lt;/h2&gt;&lt;p&gt;　　一个 Git 远程仓库需要有两个默认端口，80端口作为 web 页面，22端口用于git ssh连接。如果使用其他端口，就需要手动指定端口访问web页面与git url。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;即通过 git@[ip]:[port]:[username]/[repo].git 作为ssh url访问仓库&lt;/p&gt;&#xA;&lt;p&gt;通过http://[ip]:[port]访问服务&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;　　不在意的读者可以忽略这一章节。&lt;/p&gt;&#xA;&lt;p&gt;　　80 端口通常为nginx占用，使用systemctl停止nginx的运行即可。&lt;/p&gt;&#xA;&lt;h3 id=&#34;解除-nginx-对-80-端口的占用&#34;&gt;解除 nginx 对 80 端口的占用&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 停止 nginx 的运行&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl stop nginx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 停止 nginx 开机自启动&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl disable nginx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看nginx状态&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status nginx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;nginx状态&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1166px&#34; data-flex-grow=&#34;485&#34; height=&#34;170&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image.png&#34; srcset=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image_hu_20c81d625a39bb0d.png 800w, http://blog.yoresee.cc/post/rainyun_git_remote/img/image.png 826w&#34; width=&#34;826&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看80端口的占用状态&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsof -i:80&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 预期输出为空&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;80端口占用状态&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;2535px&#34; data-flex-grow=&#34;1056&#34; height=&#34;106&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-1.png&#34; srcset=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-1_hu_72d013434eb521d1.png 800w, http://blog.yoresee.cc/post/rainyun_git_remote/img/image-1.png 1120w&#34; width=&#34;1120&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;　　我这里的 Gitea 服务已经部署成功，80端口由 docker监听，转发给容器内的gitea web服务。&lt;/p&gt;&#xA;&lt;h3 id=&#34;解除-sshd-对-22-端口的占用&#34;&gt;解除 sshd 对 22 端口的占用&#xA;&lt;/h3&gt;&lt;p&gt;　　使用 vim 编辑 &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;，找到&lt;code&gt;#Port 22&lt;/code&gt;行。删掉井号解除注释，把22端口改为其他你喜欢的端口。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;vim非输入状态，输入&amp;rsquo;/&amp;lsquo;后进入搜索模式，输入指定字符串后按回车即可跳转到对应位置。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;　　&lt;strong&gt;在确认可以通过新端口连接服务器前，不要退出当前的ssh会话！！！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;　　修改 sshd 监听的端口后，需要在防火墙放行新的 sshd 端口。如果是有安全组的云服务器，还需要在云服务器提供商处配置安全组。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ufw allow &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;port&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;　　修改配置并放行新端口后，重启 sshd 以应用新配置。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;　　此时可以尝试是否可以通过新的端口ssh连接到服务器。然后查看 22 端口是否被释放。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsof -i:80&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;　　我在进行到这一步时，sshd同时监听了 22 端口和我自己指定的端口。lsof可以显示出占用端口的进程pid。这里直接kill掉对应的进程即可。&lt;/p&gt;&#xA;&lt;h2 id=&#34;宝塔面板创建-gitea-容器&#34;&gt;宝塔面板创建 Gitea 容器&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img alt=&#34;宝塔面板安装Gitea-1&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;541px&#34; data-flex-grow=&#34;225&#34; height=&#34;854&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-2.png&#34; srcset=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-2_hu_3fc74815bcb542b9.png 800w, http://blog.yoresee.cc/post/rainyun_git_remote/img/image-2_hu_be4cfc35afc092f2.png 1600w, http://blog.yoresee.cc/post/rainyun_git_remote/img/image-2.png 1926w&#34; width=&#34;1926&#34;&gt;&#xA;&lt;img alt=&#34;宝塔面板安装Gitea-2&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;314px&#34; data-flex-grow=&#34;131&#34; height=&#34;1048&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-3.png&#34; srcset=&#34;http://blog.yoresee.cc/post/rainyun_git_remote/img/image-3_hu_1df77faf20428c0d.png 800w, http://blog.yoresee.cc/post/rainyun_git_remote/img/image-3.png 1374w&#34; width=&#34;1374&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;　　安装 Gitea 时输入的两个端口就是在服务器主机上监听的两个端口。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
