前言
最近博主的阿里云主机又到了续费的时候了,刚买云主机的时候那是各种优惠各种打折,续费的时候只能当孙子了。
为了节省开支,又保证高性能的前提下,买了台10代NUC,内存和ssd自选,搭建一台个人服务器。
准备工作
1 安装linux系统
建议安装ubuntu,楼主安装了centos8,需要配置网络才能使用。安装系统的时候考虑到了服务器只用,所以选择了最小安装,不包括GUI交互界面。具体安装过程可以网上搜一下,不在这里具体阐述。
2 域名的购买,认证,备案。
在阿里云的【域名注册】里面可以选择一个自己喜欢的域名,之后按照步骤认证,解析域名,域名备案。
3 公网云主机
另外还需要一个公网IP,用来最为代理机器访问内网个人服务器,博主选择了盤石云,对于公网主机只需要大带宽以及优惠的价格即可。
所有的准备工作已经就绪,现在开始搭建应用吧。
frp内网穿透
如何通过公网IP代理到内网服务器呢,使用FRP内网穿透技术。
在云主机和内网主机都需要下载frp包,楼主用的是0.33版本。下载,解压。
在搭建frp之前,博主想在云主机上搭建Nginx,反向代理frp服务,但之后可能涉及到了跨域的问题,为了简化代理流程,直接使用frp的custom_domains配置域名解析。
1 云主机作为frp的服务端,需要配置frps.ini文件
[common]
bind_port = 9999 #作为frp连接的端口号,客户端需要使用该端口维持frp连接
vhost_http_port = 80 #http服务默认使用80端口
vhost_https_port = 443 #https服务默认使用443端口 [gitlab]
type = http # port 80 #指定gitlab服务
启动frp服务端 nohup ./frps -c ./frps.ini &
2 内网主机主机作为客户端,配置frpc.ini文件
[common]
server_addr = 110.43.140.172 #远程服务器ip地址
server_port = 9999 #frp端口 [gitlab]
type = http
local_ip = 127.0.0.1
local_port = 8099 #本机gitlab开放端口
custom_domains = code.gaojy.cc
启动frp客户端 nohup ./frpc -c ./frpc.ini &
管理面板
下载宝塔面板 https://www.bt.cn/ ,根据指南安装即可。安装完以后配置frp端口:
frps.ini
[baota]]
type = http # port 80
frpc.ini
[baota]
type = http
local_ip = 127.0.0.1
local_port = 8888
custom_domains = system.gaojy.cc
重启frp,效果如图,用来管理你的主机,监控及创建一些定任务等.
gitlab服务器搭建
继续面板的【软件商店】下载gitlab应用,点击安装。安装成功以后可看到运行状态,以及内部端口。
同样需要配置frp gitlab的端口,在上面的示例中已经展示。完成之后,来简单测试一下吧 http://code.gaojy.cc
以为这么快就结束了?天真了,刚安装完,clone的地址默认是内网ip和端口的地址,这个地址是无法被访问的。
变更gitlab的访问和clone地址
1 找到gitlab.rb文件 默认位置
#external_url 'http://192.168.0.97:8099' 替换成域名 =>
external_url 'http://code.gaojy.cc:8099'
2 重新设置参数 并重启
# gitlab-ctl reconfigure
# gitlab-ctl restart
或者手动修改gitlab.yml /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
3 查看效果
发现ssh和http的clone地址已经变更。
总结
最后,因为博主居住证的问题暂时还没有通过工信部备案,会偶发拦截,刷新几次就好。后续将会结合drone,jfrog搭建devops编译发布流程,也欢迎大家把自己的代码托管进来。
另外内网服务器的内存还是小了点,后续将会升级。