当前位置: 首页 > 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.dtcms.com/a/315628.html

相关文章:

  • 鸿蒙OS 系统安全
  • 14.Linux : nfs与autofs的使用
  • 计算机基础速通--数据结构·栈与队列应用
  • 国内外大模型体验与评测技术
  • 安科瑞智慧能源管理系统在啤酒厂5MW分布式光伏防逆流控制实践
  • 【深度学习新浪潮】混元3D是什么产品?
  • 大模型之后,机器人正在等待它的“GPT-1 时刻”
  • BOM Cookie操作详解
  • 基于Halcon 3D的手眼标定方法
  • Kafka自动消费消息软件(自动化测试Kafka)
  • OneCode 3.0 前端架构全面研究
  • xxl-job配置相同,执行顺序
  • Android WiFi图标显示感叹号解决方法
  • Linux 线程同步与互斥
  • 链表之leetcode19:删除链表的倒数第N个结点
  • LeetCode 71~90题解
  • 危化品运输误检率↓83%!陌讯多模态融合算法在油罐车识别的工程实践
  • 机器学习③【模型训练、K近邻算法(KNN)、贝叶斯算法(Navie Bayes)、模型调优】
  • 基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程
  • Linux操作系统从入门到实战(十三)版本控制器Git基础概念讲解
  • Qwen Image:开源中文渲染SOTA,重塑文生图技术边界
  • Spring Boot 整合 Web 开发全攻略
  • 机器学习Adaboost算法----SAMME算法和SAMME.R算法
  • AI+OA原生应用 麦当秀AIPPT
  • Day34 GPU训练及类的call方法
  • 【ESP32学习笔记】环境搭建和HelloEsp32
  • GPS信号捕获尝试
  • C++ - 基于多设计模式下的同步异步日志系统(11w字)
  • 深入 Java 性能调优:一场没有枪声的实战旅程
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构