centos7 个人网站搭建之gitlab私有化部署实现线上发布

文章目录

    • 效果展示
    • 架构设计
    • 申请免费阿里云服务器
    • 尝试连接远程服务 开放端口
    • 申请域名 绑定云服务器
    • 组网
    • 网关服务器配置转发代理
    • 网关服务器配置ssl 证书
      • 问题排查
        • 证书申请时报错:Set the \`server_name\` directive ti use the Nginx installer.
    • gitlab私有化部署搭建
    • gitlab服务器 external_url出口由原ip修改为域名
      • 操作步骤
        • 步骤一:修改/etc/gitlab/gitlab.rb文件
        • 步骤二:重启gitlab配置
          • 错误排查:证书申请已达上限
            • 拷贝证书
            • 修改/etc/gitlab/gitlab.rb文件
            • 重启gitlab配置
        • 步骤三 gitlab服务器 防火墙放行443端口
        • 步骤四 网关服务器修改nginx配置

关键词: 个人网站搭建 gitlab私有化部署实现线上发布 阿里云服务 个人域名 zerotier
注意:操作时注意操作的网关服务器还是gitlab服务器

效果展示

个人域名下可以访问私有化部署的gitlab账号

在这里插入图片描述

架构设计

在这里插入图片描述

申请免费阿里云服务器

注意:选择香港服务器。原因:域名绑定IP时,大陆服务器需要备案,试用机器不支持备案

centos7 gitlab 试用阿里云服务器

尝试连接远程服务 开放端口

centos7 gitlab 尝试连接远程服务 开放端口

申请域名 绑定云服务器

注意:过程中需要一些认证、审核,比如注册局审核,一般等待几分钟就能收到成功短信

centos7 gitlab 申请域名 绑定云服务器

组网

zerotier 官网:https://my.zerotier.com/

# 服务器下载zerotier工具
curl -s https://install.zerotier.com | sudo bash
# 加入网络
zerotier-cli join 你的网络ID

centos7 gitlab 组网

网关服务器配置转发代理

# 创建www.zhangluyue.asia.conf配置文件 
# 注意:文件名称必须使用完整域名,不然下一步申请证书找不到
vim /etc/nginx/conf.d/www.zhangluyue.asia.conf
server {listen 80;server_name www.zhangluyue.asia; // 完整域名#    return 404; # managed by Certbotlocation / {client_max_body_size 50m;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://172.28.0.2/; #后端 真实服务器index index.html index.htm A1-index.html;}}

网关服务器配置ssl 证书

注意:免费证书有数量限制,7天内同一域名最多申请5个

证书不安全证书安全
在这里插入图片描述在这里插入图片描述

下载Let’s Encrypt 证书工具(Certbot) 及其 Nginx 插件,自动申请和配置免费的 SSL 证书,实现网站的 HTTPS 加密访问。如果python3-certbot-nginx插件下载失败了,就尝试问AI进行手动配置。

# 在网关服务器上下载cerbot及其nginx插件	
yum install epel-release
yum install certbot python3-certbot-nginx# 自动为域名配置免费的SSL证书,并在nginx服务器上启用HTTPS加密访问
sudo certbot --nginx -d www.zhangluyue.asia

证书申请完成后www.zhangluyue.asia.conf文件被修改

在这里插入图片描述

问题排查

证书申请时报错:Set the `server_name` directive ti use the Nginx installer.

在这里插入图片描述

问题原因:.conf文件名称不是域名。需要保证文件名称与域名一致。

在这里插入图片描述

gitlab私有化部署搭建

centos7 gitlab私有化部署搭建 踩坑之旅-CSDN博客

gitlab服务器 external_url出口由原ip修改为域名

在gitlab服务器上,修改external_url值为相应域名

原配置external_url现配置external_url
原gitlab external_url现gitlab external_url

操作步骤

步骤一:修改/etc/gitlab/gitlab.rb文件
# 在gitlab服务器上编辑/etc/gitlab/gitlab.rb
vim /etc/gitlab/gitlab.rb

如果gitlab已启动,出现如图提示,选择E

在这里插入图片描述

修改external_url为https://www.zhangluyue.asia

步骤二:重启gitlab配置
gitlab-ctl reconfigure

由于配置的是https协议,所以gitlab默认会拉取证书。

错误排查:证书申请已达上限

在这里插入图片描述

如果之前拉取证书达到5个,无法申请新的证书,可以拷贝已有证书。

拷贝证书

* : 证书支持复用

# 172.28.0.2是目的zerotier ip地址
scp /etc/letsencrypt/live/www.zhangluyue.asia/fullchain.pem root@172.28.0.2:/etc/gitlab/ssl/
scp /etc/letsencrypt/live/www.zhangluyue.asia/privkey.pem root@172.28.0.2:/etc/gitlab/ssl/
修改/etc/gitlab/gitlab.rb文件
# 设置外部访问地址
external_url 'https://www.zhangluyue.asia'# 禁用 GitLab 自带的 Let's Encrypt 自动证书生成(关键!)
letsencrypt['enable'] = false# 手动指定已有的证书和私钥路径(指向你拷贝的文件)
nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
重启gitlab配置
gitlab-ctl reconfigure
步骤三 gitlab服务器 防火墙放行443端口

如果防火墙启动的话,gitlab服务器防火墙放行443端口

# 查看防火墙状态
systemctl status firewalld
# 允许防火墙通过8888端口
firewall-cmd --add-port=443/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload 
步骤四 网关服务器修改nginx配置
# 编辑www.zhangluyue.asia.conf文件,代理转发修改为https协议
vim /etc/nginx/conf.d/www.zhangluyue.asia.conf
# 重启nginx
systemctl restart nginx

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92018.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小米4A千兆版路由器刷机,解决Telnet无法连接问题

刷机极容易变砖,建议完全理清步骤后再进行操作 工具准备 1、小米4A千兆版路由器(注意一定是千兆版,只是4A无千兆按下列步骤会变砖),适配电源线 2、网线一根 3、需保证刷机过程中网线接入是有网的,无需账号认…

计算机网络:如何将一个B类IP地址分为4个子网

要将一个B类IP地址划分为4个子网,需通过子网掩码扩展(即借位)来实现。以下是详细步骤和原理: 一、B类IP地址的基础特性 默认网络位:B类地址前16位为网络位(标识网络),后16位为主机位…

K8S 性能瓶颈排查

K8S 性能瓶颈排查 随着业务量增长,Kubernetes 集群经常出现: • Pod 启动慢? • API 响应慢? • 节点 CPU 飙高? • 服务无故中断? 这可能是性能瓶颈在悄悄作祟。 性能瓶颈全局视角 # K8S 性能瓶颈排查思维导图- 集群层面- API Server 响应慢- Etcd 压力大- 控制面组件…

实习005 (web后端springboot)

五种创建方式一、方法一(直接创建)二、方法二(阿里云)三、方法三(从官网)或者说四、方法四、(案例云官网)五、方法五、(自己写)先构建javaweb项目刷新后还是出…

基于vscode连接服务器实现远程开发

目录 一、背景介绍 1.1 什么是远程开发 1.2 版本清单 二、以Java项目开发为例 2.1 安装远程开发插件 2.2 安装语言开发插件 2.3 新建ssh连接 2.4 打开服务器目录 一、背景介绍 1.1 什么是远程开发 远程开发是基于服务器环境进行实现本地开发操作,…

Java与Kotlin中“==“、“====“区别

一、Kotlin 中的区别(双等于) - 结构相等性检查比较两个对象的内容是否相等(相当于调用 equals() 方法)。自动处理 null 安全:a b 等价于 a?.equals(b) ?: (b null)。示例:val s1 "Hello" v…

接口自动化测试框架-AIM

3天精通Postman接口测试,全套项目实战教程!!最近在做公司项目的自动化接口测试,在现有几个小框架的基础上,反复研究和实践,搭建了新的测试框架。利用业余时间,把框架总结了下来。 AIM框架介绍 …

Orange的运维学习日记--28.Linux逻辑卷详解

Orange的运维学习日记–28.Linux逻辑卷详解 文章目录Orange的运维学习日记--28.Linux逻辑卷详解为什么使用 LVM基本概念创建物理卷创建卷组创建逻辑卷创建文件系统并挂载清理 LVM 对象扩展与缩减逻辑卷扩展 LV缩减 LV调整文件系统大小扩展 XFS 文件系统扩展 EXT4 文件系统缩减 …

AI大模型学习三十三、HeyGem.ai 服务端(ubuntu)docker 安装 /客户端(win)分离部署

一、说明服务端安装官方安装客户端在windows 上安装解决分离问题利用samba实现共享,我是在局域网访问,安装道理可以在非局域网访问重新弄了一块显卡,所以驱动也重新装下二、环境准备(base) mucunax58:~$ lsb_release -a No LSB modules are …

AI在安全方面的十个应用场景

人工智能(AI)正在重塑安全领域的“游戏规则”,把“被动防御”变成“主动狩猎”。综合当前主流实践与最新案例,可将其应用归纳为以下十大场景:威胁检测与狩猎利用机器学习/深度学习模型对网络流量、终端行为和云端日志进…

Android --- Bug调查经验记录

文章目录1.布局中Pag不显示的问题2.数据库降级问题3.RecycleView 列表滑动卡顿1.布局中Pag不显示的问题 在调查一个pag不显示的问题,整体逻辑没有问题,但是就是不显示 pag不显示的根本原因大概有文件找不到,一个是路径问题,一个是…

【C语言】深度剖析指针(三):回调机制、通用排序与数组指针逻辑

文章目录一、回调函数:通过函数指针实现灵活调用1.1 什么是回调函数?1.2 回调函数的实际应用:简化计算器代码二、qsort函数2.1 qsort函数的参数说明2.2 使用qsort排序整型数据2.3 使用qsort排序结构体数据示例:学生信息排序2.4 qs…

sql调优总结

sql调优 线上发现部分sql查询时间过长。使用explain观察是否命中表的索引。未命中索引,使用 TABLE add index 语句添加索引。 除此之外,单个字段命中联合索引的情况也会导致查询变慢 针对多个字段的查询可添加联合索引。 总结如下慢sql的原因&#xff1a…

如何在nuxt项目中使用axios进行网络请求?

在 Nuxt 项目中使用 Axios 进行网络请求有两种常用方式:一是直接安装 Axios 并全局配置,二是使用 Nuxt 官方推荐的 nuxtjs/axios 模块(更便捷)。以下是详细步骤: 方法一:使用官方推荐的 nuxtjs/axios 模块&…

Unity 实现手机端和电脑项目在局域网内通信

电脑端启动后自动广播自身存在,手机端启动后监听广播并发现服务器。发现后自动建立 UDP 连接,双方可互发消息。内置心跳检测,网络中断时会自动检测并提示断开using UnityEngine; using System.Net; using System.Net.Sockets; using System.T…

C++_389_定义一个禁用了赋值操作、具有线程同步资源保护的结构体,作为一些回调函数的参数,方便获取响应操作的结果等信息

/* 回调参数。注意:此结构体禁用了赋值,会编译报错 */struct API_CALLBACK_T{public:API_CALLBACK_T(){eRet = e_fail;bWait = true;

uniapp基础 (一)

目录 UniApp 是什么?有什么优势 跨平台高效开发 Vue.js 技术生态 插件生态丰富 渐进式开发支持 UniApp 跨平台兼容的实现原理 编译时转 运行时适配层 条件编译 性能优化策略 1.预编译模 2.原生组件混合渲 3.分包加载 UniApp 的生命周期钩子有哪些&#x…

【图像算法 - 10】进阶入门:改进 YOLO11 安全帽检测的关键参数与场景适配

一、项目背景与需求 视频全文介绍 【图像算法 - 10】进阶入门:改进 YOLO11 安全帽检测的关键参数与场景适配今天我们使用深度学习来训练一个安全帽检测系统,基于YOLO11的安全帽检测系统。我们使用了两万张图片的数据集训练了这次的基于YOLO11的安全帽检…

【C 学习】04.1-类型转换浮点数

“知道做不到就是不知道”一、类型转换1.自动类型转换:当运算符(常见、-、*、/、%)两边出现不一致的类型时,编译器会自动转换成较大的(范围更大)类型。从小到大:char-short-int-long-long long;…

基于反事实对比学习的鲁棒图像表征|文献速递-医学影像算法文献分享

Title题目Robust image representations with counterfactual contrastive learning基于反事实对比学习的鲁棒图像表征01文献速递介绍医学影像中的对比学习已成为利用未标记数据的有效策略。这种自监督学习方法已被证明能显著提升模型跨领域偏移的泛化能力,并减少训…