前言

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

为了节省开支,又保证高性能的前提下,买了台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. 抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~

    0.问题 和Synchronized的区别 存储在jvm的哪个区域 真的只是当前线程可见吗 会导致内存泄漏么 为什么用Entry数组而不是Entry对象 你学习的开源框架哪些用到了ThreadLoca ...

  2. Git 推送到远程仓库

    github:https://github.com/ 国内的:https://gitee.com/ (和Github非常相似的) 一.Http方式进行推送 右击同步,配置远端,将URL替换成远程仓库的 ...

  3. 【Redis学习专题】- Redis主从+哨兵集群部署

    集群版本: redis-4.0.14 集群节点: 节点角色 IP redis-master 10.100.8.21 redis-slave1 10.100.8.22 redis-slave2 10.1 ...

  4. humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?

    一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的 ...

  5. Terminal终端控制台常用操作命令

    新建文件夹和文件 cd .. 返回上一级 md test 新建test文件夹 md d:\test\my d盘下新建文件夹 cd test 进入test文件夹 cd.>cc.txt 新建cc.t ...

  6. springcloud之简介

    springcloud官方文档翻译网站:https://springcloud.cc/ 一.网站架构的演变过程.(这些架构描述的不是很到位,之后需要从新学习) 传统架构 —> 分布式架构 —&g ...

  7. 来自马铁大神的Spark10年回忆录

    本篇分享来自Martei在Spark AI Submit 2020的开场分享. 马铁是谁 什么!你不知道马铁是谁?Martei Zaharia(说实话,不知道谁给起的中文名字叫马铁,跟着叫就是了),现 ...

  8. Python 字典(Dictionary) clear()方法

    Python 字典(Dictionary) clear()方法 描述 Python 字典(Dictionary) clear() 函数用于删除字典内所有元素.高佣联盟 www.cgewang.com ...

  9. Python 字典(Dictionary) str()方法

    Python 字典(Dictionary) str()方法 描述 Python 字典(Dictionary) str() 函数将值转化为适于人阅读的形式,以可打印的字符串表示.高佣联盟 www.cge ...

  10. PHP scandir() 函数

    ------------恢复内容开始------------ 实例 列出 images 目录中的文件和目录: <?php$dir = "/images/"; // Sort ...