Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
搜索
关闭
Previous
Previous
Next
Next
【代码仓库】使用Nginx搭建代码仓库 - 快速部署轻量级代码版本管理系统
sockstack
/
833
/
2023-07-28 22:40:23
使用 Docker 从零开始搭建私人代码仓库
<p><span style="color: red; font-size: 18px">ChatGPT 可用网址,仅供交流学习使用,如对您有所帮助,请收藏并推荐给需要的朋友。</span><br><a href="https://ckai.xyz/?sockstack§ion=detail" target="__blank">https://ckai.xyz</a><br><br></p> 通过《[使用docker从零开始搭建私人代码仓库之MySQL搭建](/2019/08/20/使用docker从零开始搭建私人代码仓库之mysql搭建/)》和《[使用docker从零开始搭建私人代码仓库之gogs搭建](/2019/08/21/使用docker从零开始搭建私人代码仓库之gogs搭建/)》的搭建其实已经可以搭建成功了代码仓库的了,但是为了访问方便,我们有时候需要绑定域名,那么我们可以通过nginx进行转发。 ## 添加nginx容器 打开上一个教程中的`docker-compose.yml`文件,填入如下内容: ```yaml gogs_nginx: build: context: nginx tty: true depends_on: - gogs restart: always networks: frontend: ports: - 80:80 volumes: - ./nginx/conf:/etc/nginx/conf.d - ${DATA_DIR}/nginx/conf:/var/log/nginx ``` 最终`docker-compose.yml`文件内容如下: ```yaml version: "3" networks: frontend: services: mysql: image: mysql:${MYSQL_VERSION} networks: frontend: tty: true restart: always ports: - 3306:3306 volumes: - ${DATA_DIR}/mysql/:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} gogs: image: gogs/gogs depends_on: - mysql tty: true networks: frontend: restart: always volumes: - ${DATA_DIR}/gogs:/data gogs_nginx: build: context: nginx tty: true depends_on: - gogs restart: always networks: frontend: ports: - 80:80 volumes: - ./nginx_conf:/etc/nginx/conf.d - ${DATA_DIR}/nginx/conf:/var/log/nginx ``` 在项目根目录创建`nginx_conf`目录并创建nginx的配置文件`default.conf` ```shell > mkdir nginx_conf && cd nginx_conf && touch default.conf ``` 编辑`default.conf`配置文件并加入如下配置: ``` upstream gogs { server gogs:3000; } server { listen 80 default_server; server_name gogs.me; ### 域名 location / { #反向代理的地址 proxy_pass http://gogs; #设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; access_log /var/log/nginx/gogs.log main; } } ``` 该配置绑定了域名`gogs.me`并把请求转发到gogs容器的3000端口 ## 启动nginx ``` > docker-compose up -d gogs_nginx ``` 通过该命令会一起启动mysql和gogs。 ![https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/%E4%BD%BF%E7%94%A8docker%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%A7%81%E4%BA%BA%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93/%E5%90%AF%E5%8A%A8nginx.png](https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/使用docker从零开始构建私人代码仓库/启动nginx.png) 所有容器都启动成功了。 ## 安装gogs 在浏览器中输入`gogs.me`会出现安装gogs的界面: ![gogs安装界面](https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/使用docker从零开始构建私人代码仓库/gogs安装界面.png) 添加如下配置: ![gogs配置1](https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/使用docker从零开始构建私人代码仓库/gogs配置1.png) ![gogs配置2](https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/使用docker从零开始构建私人代码仓库/gogs配置2.png) 添加完成后点击立即安装,等待安装完成即可。 ![安装完成界面](https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/使用docker从零开始构建私人代码仓库/安装完成界面.png)
【代码仓库】使用Nginx搭建代码仓库 - 快速部署轻量级代码版本管理系统
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-07-28
修改于
2024-10-11
上一篇:百度快速收录
下一篇:【代码仓库】使用MySQL搭建代码仓库 - 高效管理和存储代码版本
尚未登录
登录 / 注册
文章分类
博客重构之路
5
Spring Boot简单入门
4
k8s 入门教程
0
MySQL 知识
1
NSQ 消息队列
0
ThinkPHP5 源码分析
5
使用 Docker 从零开始搭建私人代码仓库
3
日常开发汇总
3
标签列表
springboot
hyperf
swoole
webman
php
多线程
数据结构
docker
k8s
thinkphp
mysql
tailwindcss
flowbite
css
前端