Toggle navigation
菜菜小站
菜菜小站
前端开发
前端开发
前端基础
bootstrap
JavaScript
后端开发
后端开发
php开发
laravel
数据库
编辑器
git
服务器
服务器
https
cos云存储
ubuntu
homestead
微信开发
微信开发
微信小程序
python开发
python开发
python基础
关于
使用gogs搭建版本管理仓库
作者:
菜菜子
|
时间:2018-04-15 20:56:00 |
分类:
后端开发
,
服务器
,
ubuntu
,
git
|
访问: 1,654 次|
评论:
0 评论
## 1. 前言 因为码云免费私有项目只能有五个开发人员,gitlab太耗服务器资源(1核2G的服务器分分钟内存使用率90以上),而gogs内存占用少,值得推荐,先写下一些入坑笔记。 先说环境 1核2G的阿里云ubuntu服务器 我这里使用mysql作为gogs数据库 > 自建好mysql、nginx(apache)、git等,此处不再叙述 ## 2. 安装gogs ### 2.1 使用创建gogs数据库 > CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin; > 注:数据库需要为InnoDB类型 ### 2.2 创建使用gogs的单独用户 运行gogs使用的默认账户是git,可以不赋予sudo权限 切记,务必使用git作为gogs安装用户,否者会出现奇奇怪怪的坑 创建用户 > sudo adduser git 设置密码及相关信息 ### 2.3 登录git用户 > su git #### 2.3.1 进入git根目录 > cd ~ #### 2.3.2 下载gogs安装包 > wget https://dl.gogs.io/0.11.4/linux_amd64.zip 如果服务器带宽比较低下载慢,可以用本地电脑下载后试用sftp上传到服务器git根目录 [附下载地址](https://gogs.io/docs/installation/install_from_binary "附各版本下载地址") 解压 > unzip linux_amd64.zip #### 2.3.3修改Gogs service配置文件 > vim /home/git/gogs/scripts/init/debian/gogs 如果打开可以打开这个文件并与下图一致基本可以不用修改 ``` PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Go Git Service" NAME=gogs SERVICEVERBOSE=yes PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME WORKINGDIR=/home/git/gogs #这个根据自己的目录修改 DAEMON=$WORKINGDIR/$NAME DAEMON_ARGS="web" USER=git #如果运行gogs不是用的这个用户,修改对应用户 ``` ### 2.4 切换回root用户 > su root #### 2.4.1 复制gogs文件到/etc/init.d/ > sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/ #### 2.4.2 增加执行权限 > sudo chmod +x /etc/init.d/gogs #### 2.4.3 复制service > cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/ #### 2.4.4 启动Gogs > sudo service gogs start 关闭Gogs(启动关闭都需要使用root进行操作) > sudo service gogs stop/restart ## 3. 配置gogs ### 3.1 使用浏览器访问服务器gogs安装地址 > http://服务器ip:3000/install 输入数据库信息、仓库信息,然后提交 配置文件地址会生产于/home/git/gogs/custom/conf/app.ini文件中,修改后**必须重启**,修改配置见[链接](https://gogs.io/docs/advanced/configuration_cheat_sheet.html "链接") ### 3.2 注册 进入 >http://服务器ip:3000/user/sign_up > 注:第一个注册的默认会成为管理员 ### 3.3 登录 注意不要使用gogs用户登录,可以使用邮箱+密码进行登录 ## 5. 配置反向代理 现在访问Gogs都需要在域名后面加入3000的端口号,可以设置nginx反代理,通过二级域名跳转到指定端口 ### 5.1 nginx反向代理 创建相应的配置文件 > sudo vim /etc/nginx/sites-enabled/gogs.conf 添加 ```c++ server { listen 80; server_name code.xxxxx.cn; charset utf-8; location / { proxy_pass http://127.0.0.1:3000/; client_max_body_size 1000M; } access_log off; error_log /var/log/nginx/code.xxx.cn-error.log error; } server { listen 443; server_name code.xxxxx.cn; charset utf-8; location / { proxy_pass http://127.0.0.1:3000/; client_max_body_size 1000M; } ssl on; ssl_certificate /etc/nginx/cert/code.pem; ssl_certificate_key /etc/nginx/cert/code.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; access_log off; error_log /var/log/nginx/code.xxxx.cn-error.log error; } ``` 添加映射 ### 5.2 配置apache反向代理 #### 5.1 映射反向代理load文件 > sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load >sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load #### 5.2 创建.conf文件 > cd /var/www/apache2/sites-available > sudo vi code.conf 还需要配置上传文件大小限制,否则如果有大点的项目上传会报错 ```
ServerAdmin webmaster@localhost ServerName code.xxxxx.cn ProxyRequests Off ProxyPass / http://服务器ip:3000/ ProxyPassReverse / http://服务器ip:3000/
``` 映射配置文件 > sudo ln -s /etc/apache2/sites-available/code.conf /etc/apache2/sites-enable/code.conf 重启apache > sudo service apache2 restart > 引用 : http://www.jianshu.com/p/d946314bce2f
标签:
git
,
gogs
,
反向代理
还不快抢沙发
添加新评论
昵称(必填)
邮箱(必填)
网站(选填)
内容(必填)
提交评论
最新文章
ubuntu自动化安装php文件
laravel 操作redis
laravel-admin静态资源加速
laravel-admin1.6版本表单tag bug修复方法
laravel根据另外一列的值赋予grid某一列editable()
laravel-admin数据来源非数据表信息
laravel判定多对多关系是否存在
最新回复
rcbojapcrb: 真棒!
ytwwjjjjoc: 真棒!
森木志: 对的 用的就是这个版本 我看plugin.php的...
菜菜子: 插件版本呢?应该用https://github.com...
森木志: 忘记说了,typecho版本是1.2.1,php版本是...
森木志: 遇到灵异事件了,设置是没问题的,按道理来说上传成功后的...
局外人: 下载失败了,大佬帮忙看看是什么原因呢?
青丝: 7355763
菜菜子: 我好像沒有做這個提示,方便加微信吧,我看看什麼問題
青丝: 对的,提示需要8.0PHP
标签
前端框架
bootstrap
laravel5
laravel-admin
laravel
微信小程序
gd库
git
wamp配置
https
表单
cos小工具
微信支付
ajax
cos
cos插件
vue
nginx
homestead
linux
ubuntu
swoole
typecho
编辑器
破解
数组
jwt
sql语言
腾讯云
邮件发送
websocket
队列
微信公众号
分页
日志
elasticsearch
wnmp
vagrant
无限极分类
分销
集合
supervisor
部署
grid
redis
python
标签
刷新
加密处理
验证码
悬浮框
权限控制
markdown
shell
mysql
测试
ui
任务调度
定时任务
deployer
gogs
反向代理
ftp
归档
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2017年09月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
友情链接
空
//