当前位置: 首页 > news >正文

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.lryc.cn/news/610654.html

相关文章:

  • 基于铁头山羊STM32的平衡车电机转速开环闭环matlab仿真
  • IDEA JAVA工程入门
  • 8.5 CSS3-flex弹性盒子
  • Datart:开源数据可视化的新星,赋能企业数据分析
  • Android 之 Kotlin中的kapt
  • FPGA学习笔记——简易的DDS信号发生器
  • pyspark中的kafka的读和写案例操作
  • RocketMq如何保证消息的顺序性
  • 基于deepSeek的流式数据自动化规则清洗案例【数据治理领域AI带来的改变】
  • SpringBoot3.x入门到精通系列:4.2 整合 Kafka 详解
  • NLP——BERT模型全面解析:从基础架构到优化演进
  • 家常菜点餐|基于java和小程序的家庭大厨家常菜点餐系统设计与实现(源码+数据库+文档)
  • 一次“无告警”的服务器宕机分析:从无迹可寻到精准定位
  • 一文掌握Bard机器翻译,以及用python调用的4种方式(现已升级为 Gemini)
  • vue3通过按钮实现横向滚动或鼠标滚动横坐标滚动
  • 用 Python 构建高质量的中文 Wikipedia 语料库:从原始 XML 到干净段落
  • 【taro react】 ---- useModel 数据双向绑定 hook 实现
  • 【乐企板式文件生成工程】关于乐企板式文件(PDF/OFD/XML)生成工程介绍
  • Taro Hooks 完整分类详解
  • wps创建编辑excel customHeight 属性不是标准 Excel Open XML导致比对异常
  • 云计算一阶段Ⅱ——11. Linux 防火墙管理
  • 《Node.js与 Elasticsearch的全文搜索架构解析》
  • Sentinel全面实战指南
  • 剑指offer第2版:字符串
  • Day34 GPU训练及类的call方法
  • Android audio之 AudioDeviceInventory
  • PCBA电子产品复制全攻略:从入门到精通
  • 【音视频】WebRTC 一对一通话-信令服
  • 强化学习_Paper_1991_Reinforcement learning is direct adaptive optimal control
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构