前言

最近博主的阿里云主机又到了续费的时候了,刚买云主机的时候那是各种优惠各种打折,续费的时候只能当孙子了。

为了节省开支,又保证高性能的前提下,买了台10代NUC,内存和ssd自选,搭建一台个人服务器。

30分钟闲置服务器建站(gitlab为例)-LMLPHP

准备工作

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 &

30分钟闲置服务器建站(gitlab为例)-LMLPHP

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 &

30分钟闲置服务器建站(gitlab为例)-LMLPHP

管理面板

下载宝塔面板     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,效果如图,用来管理你的主机,监控及创建一些定任务等.

30分钟闲置服务器建站(gitlab为例)-LMLPHP

gitlab服务器搭建

继续面板的【软件商店】下载gitlab应用,点击安装。安装成功以后可看到运行状态,以及内部端口。

30分钟闲置服务器建站(gitlab为例)-LMLPHP

同样需要配置frp gitlab的端口,在上面的示例中已经展示。完成之后,来简单测试一下吧 http://code.gaojy.cc

30分钟闲置服务器建站(gitlab为例)-LMLPHP

以为这么快就结束了?天真了,刚安装完,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

30分钟闲置服务器建站(gitlab为例)-LMLPHP

3 查看效果

发现ssh和http的clone地址已经变更。

30分钟闲置服务器建站(gitlab为例)-LMLPHP

总结

最后,因为博主居住证的问题暂时还没有通过工信部备案,会偶发拦截,刷新几次就好。后续将会结合drone,jfrog搭建devops编译发布流程,也欢迎大家把自己的代码托管进来。

另外内网服务器的内存还是小了点,后续将会升级。

05-11 22:44