前言

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

为了节省开支,又保证高性能的前提下,买了台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文件 默认位置  /etc/gitlab/gitlab.rb   修改external_url

#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编译发布流程,也欢迎大家把自己的代码托管进来。

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

30分钟闲置服务器建站(gitlab为例)的更多相关文章

  1. vps云服务器建站后绑定域名的方法?

    有很多的新手站长们,都不知道vps建站后该如何绑定自己的域名,这里就Windows系统的VPS主机利用iis绑定网站域名的方法,简要介绍一下. 通常情况下,我们在使用IIS建站的时候,都会有一步提示, ...

  2. Linux服务器建站基础-选择何种配置和安装环境项目

    我们准备在搬瓦工笔记中,边整理和分享利用Linux VPS建站过程的同时,也会分享关于用户在选择和使用VPS服务器以及网站管理运营中的一些心得和建议.经常有很多网友在很多主机论坛.QQ群众问道,有没有 ...

  3. 阿里云服务器建站——centos7部署apache+mysql+php

    自己也是忙活了半天,才完成了阿里云服务器的建站,这里就来分享一下. 首先如果是要自己搭建一个网站的话,除了服务器以外还要购买域名,并且要去备案,一般在哪买的域名都有备案的系统,备案的话一般要两到三个星 ...

  4. 阿里云Ubuntu快速建站

    阿里云Ubuntu快速建站 有一个小笑话: 从前有个程序员遇到了一个问题.他想,没事,我懂,用线程就好了.现他有两个问题了. 本人小白,对网站部署什么都不懂,只是申请个阿里云服务器,把我的站点放上去. ...

  5. wordpress建站如何用SMTP配置邮件通知

    前提条件:你已经有了企业邮箱,相关文章请看:如何开通阿里云企业邮箱免费版(点此前往) 不建议使用主机商提供的邮箱,因为换主机商是比较常见的事情,因此导致的邮箱迁移就有些麻烦了,不如一开始就选择独立的第 ...

  6. 服务器购买+建站流程教程——适合新手没有经验的人Chinar总结

    服务器购买购买教程 本文提供全图文流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...

  7. vps建站教程 CentOS6如何安装配置FTP服务器

    通过之前的几篇文章,我们都知道了如何配置PHP环境,也知道如何保护我们的vps以及如何绑定多个域名建设多个网站.有时候我们为了让我们的朋友也能用我们的vps建站又不想给他们太多权限,有时候我们想要当个 ...

  8. 2016windows(10) wamp 最简单30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world

    2016最简单windows(10) wamp 30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world thrift是什么 最简单解释 thrift是用来帮助各个编程语 ...

  9. 建站服务器的最优选择之Windows Or Linux

    转载于:http://www.0553114.com/news/detail-702287.html 不管是个人建站,还是中小型企业建站,选择一款合适的主机是站长朋友们共同的心愿.主机是选择Windo ...

随机推荐

  1. Python "按位或"和"按位异或"的区别

    首先分别解释一下按位或和按位异或 按位或: 按位或指的是参与运算的两个数分别对应的二进制位进行“或”的操作.只要对应的两个二进制位有一个为1时,结果位就为1.python中运算符为“|” 按位异或: ...

  2. CentOS 7配置网卡信息,并设置yum为阿里云的镜像源

    一.问题场景 使用virtualbox创建的centos 7版本的linux虚拟机,使用ping mirrors.aliyun.com有返回,但是wget -O /etc/yum.repos.d/ep ...

  3. java不同基本类型之间的运算

    一.不同基本类型在JAVA中,基本类型(除了boolean外)可以自动转换的,转换形式为:byte,short,char – int --long–float–double这就是自动转换的顺序了,其中 ...

  4. 前端学习(十一):CSS性质

    进击のpython ***** 前端学习--CSS性质 那在CSS上还有一些很重要的性质:继承性,层叠性以及特殊性 那本小节就基于这三个性质进行展开... ... 继承性 在CSS的某些样式是具有继承 ...

  5. matplotlib柱状图、面积图、直方图、散点图、极坐标图、箱型图

    一.柱状图 1.通过obj.plot() 柱状图用bar表示,可通过obj.plot(kind='bar')或者obj.plot.bar()生成:在柱状图中添加参数stacked=True,会形成堆叠 ...

  6. 在 Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO

    我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...

  7. Django开发之Datetime类型JSON序列化时报错

    前提回顾 在进行django开发view视图时,如果数据库字段是 datetime类型,在JSON序列化返回时,会出现异常 异常现象 TypeError: Object of type datetim ...

  8. Django学习路3

    1.打开 Data Source alt insert 打开 Data Source 找到 db.sqlite3 确定 Download 下载后 TestConnection 测试是否成功 2.项目下 ...

  9. HTML 统一资源定位器(Uniform Resource Locators)

    HTML 统一资源定位器(Uniform Resource Locators) URL 是一个网页地址.高佣联盟 www.cgewang.com URL可以由字母组成,如"runoob.co ...

  10. 用大白话的方式讲明白Java的StringBuilder、StringBuffer的扩容机制

    StringBuffer和StringBuilder,它们的底层char数组value默认的初始化容量是16,扩容只需要修改底层的char数组,两者的扩容最终都会调用到AbstractStringBu ...