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

发布于:2025-08-06 ⋅ 阅读:(11) ⋅ 点赞:(0)


关键词: 个人网站搭建 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 Certbot

     location / {
                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

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到