第4章 Gitlab 服务管理命令扩展
4.1.1 服务管理 # 启动所有 gitlab 组件: gitlab-ctl start # 停止所有 gitlab 组件: gitlab-ctl stop # 停止所有 gitlab postgresql 组件: gitlab-ctl stop postgresql # 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq # 重启所有 gitlab 组件: gitlab-ctl restart # 重启所有 gitlab gitlab-workhorse 组件: gitlab-ctl restart gitlab-workhorse # 查看服务状态 gitlab-ctl status # 启动服务 sudo gitlab-ctl reconfigure
4.1.2 Gitlab日志查看
# 查看日志 sudo gitlab-ctl tail # 检查redis的日志 sudo gitlab-ctl tail redis # 检查postgresql的日志 sudo gitlab-ctl tail postgresql # 检查gitlab-workhorse的日志 sudo gitlab-ctl tail gitlab-workhorse # 检查logrotate的日志 sudo gitlab-ctl tail logrotate # 检查nginx的日志 sudo gitlab-ctl tail nginx # 检查sidekiq的日志 sudo gitlab-ctl tail sidekiq # 检查unicorn的日志 sudo gitlab-ctl tail unicorn
第5章 Gitlab 故障和关闭注册
5.1.1 gitlab 报错502
上面的步骤执行完后应该就是可以使用了,可是因为我的服务器只有1G内存,所以浏览器访问的时候,时不时的会报502错误,这里我们需要增加服务器虚拟内存可以解决。 (对于502错误,也有可能是服务器端口占用的原因,不过我的服务器没有安装其他东西,所以不会出现端口占用的情况)
502
GitLab is not responding.
Please contact your GitLab administrator if this problem persists.
下面的操作是增加服务器虚拟内存:
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP mkswap /var/swap #设置交换文件 swapon /var/swap #激活启用交换分区 下一步编辑fstab文件 vim /etc/fstab 在fstab文件最后一行添加如下内容 /var/swap swap swap defaults 0 0
这样就可以解决浏览器访问出现502的问题。还有就是服务器确实配置不怎么高,不过使用人数少应该没多大问题的。
需要注意的是:
通过这样的安装方式,默认安装的web服务器是Nginx,数据库是PostgreSQL,所以有其它需求的,比如使用Apache和MySQL等,是需要编译安装的。因为我不是学系统运维的,所以就怎么方便怎么来。能满足我的需求就可以了。
还有就是,我发现了一个国人写的类似于GitLab的项目,叫做Gogs,是Go语言开发的,据说比GitLab配置更方便,感兴趣的可以移步到官网看下》Gogs官网
总结:
这篇文章只是实现了GitLab的简单安装,并没有配置域名和https访问等等需要配置的东西。之后的文章,会进行一些简单的配置操作。
5.1.2 Gitlab 关闭注册
选择设置—Settings-
最底下保存
5.1.3 gitlab 遇到 No authentication methods configured.解决方法
因为自己设置不让注册错误出现以下故障,解决方法如下。
进入gitlab linux 输入sudo gitlab-psql gitlabhq_production [root@jenkins ~]# sudo gitlab-psql gitlabhq_production could not change directory to "/root" psql (9.2.18) Type "help" for help. 进入client 界面再次输入 UPDATE application_settings set signin_enabled=true; gitlabhq_production=# UPDATE application_settings set signin_enabled=true; UPDATE 5 gitlabhq_production=# sudo gitlab-ctl restart gitlabhq_production-# gitlabhq_production=# [1]+ Stopped sudo gitlab-psql gitlabhq_production 重启 服务 [root@jenkins ~]# sudo gitlab-ctl restart ok: run: gitlab-workhorse: (pid 14483) 1s ok: run: logrotate: (pid 14492) 0s ok: run: nginx: (pid 14499) 1s ok: run: postgresql: (pid 14506) 0s ok: run: redis: (pid 14515) 0s ok: run: sidekiq: (pid 14520) 0s ok: run: unicorn: (pid 14525) 0s 恢复
因为自己一个失误,做运维还是要认真仔细啊。