centos7已有nginx安装gitlab,并修改默认nginx
一, 服务器快速搭建gitlab方法
可以参考gitlab社区的教程
centos7安装gitlab:https://www.gitlab.com.cn/installation/#centos-7
centos6安装gitlab:https://www.gitlab.com.cn/installation/#centos-6
我是按照官网来操作的,再按以下方法设置邮件服务和测试邮件服务。
mkdir /softwarecd /software
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://改为你的访问域名" yum install -y gitlab-ee
安装成功后会显示 Complete!
如果你的域名和IP还没有绑定,则需要绑定一下
这时打开 http://改为你的访问域名,即可跳转到重设密码页面。
- cd /root
- vi /etc/gitlab/gitlab.rb 进行修改
- 删除以下配置文件前面的#,并且进行配置。
- gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "您的邮箱"
gitlab_rails['smtp_password'] = "您的密码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "您的邮箱" - gitlab-ctl reconfigure 加载配置
- gitlab-ctl restart 重启gitlab服务
- gitlab-rails console 进入gitlab控制台
- Notify.test_email('你想给谁发的邮箱地址','邮箱主题','邮箱正文').deliver_now
邮箱配置完毕后,重新输入密码即可进入gitlab
———————-万恶的分割线,下面我们需要修改其他配置,以便可以和lnmp共存———–
踩了无数坑后,终于搞好了lnmp和gitlab的共存。
- lnmp首先新建一个vhost
- cd /usr/local/tengine-2.2.1/conf/
- 我用的是tengine,如果你的是纯nginx,那就
- cd /usr/local/nginx/conf/
- mkdir vhosts.d
- vim vhosts.d/example.com.conf
- 我使用默认的端口号80,配置文件如下:
-
upstream gitlab-workhorse { server unix:/var/opt/gitlab/gitlab-workhorse/socket; } ## Normal HTTP host server { listen 80; ##端口 server_name 你的域名; server_tokens off; ## 不显示nginx版本号 root /opt/gitlab/embedded/service/gitlab-rails/public; access_log /logs/gitlab_access.log; #这里我修改成根目录的logs路径,这个是我自己创建的 error_log /logs/gitlab_error.log; #这里我修改成根目录的logs路径,这个是我自己创建的 location / { client_max_body_size 0; gzip off; ## Some requests take more than 30 seconds. proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://gitlab-workhorse; } }
- 修改:/etc/gitlab/gitlab.rb
nginx['enable'] = false
重启gitlab,启动nginx后就可以正常访问了
gitlab-ctl reconfigure
gitlab-ctl restart
service nginx start
我的nginx使用的是root用户运行的,如果你使用的是其它用户,可能会存在无法访问gitlab和sock的问题,可以在nginx的配置文件中修改运行的用户
vim /usr/local/tengine-2.2.1/conf/nginx.conf
修改为
user root;
重启nginx即可
禁止 Gitlab 开机自启动:
systemctl disable gitlab-runsvdir.service
启用 Gitlab 开机自启动:
systemctl enable gitlab-runsvdir.service
==================以下是我参考的一些网上的资料,有很多可学习的地方=====================
centos7已有nginx安装gitlab版本管理器10.1.2
http://www.80000s.com/archives/556
CentOS7安装GitLab、汉化及使用
https://www.linuxidc.com/Linux/2017-11/148223.htm
CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查
http://www.21yunwei.com/archives/4351
CentOS 7 安装 GitLab CE 社区版并修改默认 Nginx
https://laravel-china.org/topics/2829/centos-7-install-gitlab-ce-community-edition-and-modify-the-default-nginx
gitlab之:502解决
http://www.nideyuan.com/?p=319
我所遇到的GitLab 502问题的解决
https://blog.csdn.net/rodjohnsondoctor/article/details/45605469
gitlab源码安装问题汇总
http://www.bubuko.com/infodetail-1671560.html
部署 部署 GitLab 到最后配置 nginx 碰到权限问题
https://ruby-china.org/topics/5113
测试邮件服务时报错:send-mail: fatal: parameter inet_interfaces: no local interface found for ::1
https://blog.csdn.net/csdnones/article/details/50717934
==============我摘抄一点过来,免得这些帖子删除后就再也找不到了============
- 修改:/etc/gitlab/gitlab.rb
A、web_server['external_users'] = ['www','git','gitlab-www']
B、nginx['enable'] = false
C、external_url 'http://你的域名:8000' - 修改:/opt/gitlab/embedded/conf/nginx.conf 端口改成8000
- 修改:/var/opt/gitlab/nginx/conf/gitlab-http.conf 端口改成8000
因为还没有实际应用,不知道是否还有其他坑,只是可以打开gitlab后台。还未建立仓库和提交操作。
从gitlab自身带的nginx配置来看,感觉上应该比lnmp的配置要多不少,比如cache之类的。。个人建议使用gitlab自身的nginx配置。
GitLab的命令
语法:
gitlab-ctl command (subcommand)
Service Management Commands | |
start | 启动所有服务 |
stop | 关闭所有服务 |
restart | 重启所有服务 |
status | 查看所有服务状态 |
tail | 查看日志信息 |
service-list | 列举所有启动服务 |
graceful-kill | 平稳停止一个服务 |
例子:
#启动所有服务 [root@gitlab ~]# gitlab-ctl start #启动单独一个服务 [root@gitlab ~]# gitlab-ctl start nginx #查看日志,查看所有日志 [root@gitlab ~]# gitlab-ctl tail #查看具体一个日志,类似tail -f [root@gitlab ~]# gitlab-ctl tail nginx
General Commands | |
help | 帮助 |
reconfigure | 修改配置文件之后,需要重新加载下 |
show-config | 查看所有服务配置文件信息 |
uninstall | 卸载这个软件 |
cleanse | 删除gitlab数据,重新白手起家 |
例子:
#显示所有服务配置文件 [root@gitlab ~]#gitlab-ctl show-config #卸载gitlab [root@gitlab ~]#gitlab-ctl uninstall
日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志