2019独角兽企业重金招聘Python工程师标准>>>
1、搭建gitlab,之前yum安装gitlab,安装后一直报502错误,网上百度试过还是无法使用;
所以这次部署在docker里面;如下命令:
docker run --detach --hostname gitlab.forebix.com --publish 4433:443 --publish 10080:80 --publish 8022:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
--hostname 表示主机名,也可以写IP或者域名;
--publish 隐射端口 https https sshd等; 左边是宿主机 ,右边是容器端口;
--name 名称
--volume 隐射目录 左边是宿主机目录 右边是容器内目录;
下载后镜像会自动启动,使用ps 查看;
[root@fenye2019 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
193cb075060e gitlab/gitlab-ce:latest "/assets/wrapper" 41 seconds ago Up 36 seconds (health: starting) 0.0.0.0:8022->22/tcp, 0.0.0.0:10080->80/tcp, 0.0.0.0:4433->443/tcp gitlab
[root@fenye2019 ~]# docker restart gitlab
gitlab
也可以测试下本地端口是否可达; tenet 127.0.0.1 10080
http://gitlab.forebix.com:10080/ 输入域名来访问:但是需要加端口,比较麻烦.
可以添加nginx,然后做端口转发即可,转发到本地gitlab.forebix.com这个域名的80端口;
配置如下: 负载均衡池可以写多个;
[root@fenye2019 vhost]# cat gitlab.conf
#配置负载均衡池
#jenkins负载均衡池
#upstream jenk_pool{
# server 127.0.0.1:8181;
#}
#jenkins转发
#server {
# listen 80;
# server_name jenkins.forebix.com;
# access_log /tmp/jenkins.log;
# error_log /tmp/jenkins.error;#将所有请求转发给jenk_pool的应用处理
# location / {
# proxy_set_header Host $host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_pass http://jenk_pool;
# }
#}
upstream gitlab_pool{server 127.0.0.1:10080;
}
server {listen 80;server_name gitlab.forebix.com;access_log /tmp/gitlab.log;error_log /tmp/gitlab.error;location / {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://gitlab_pool;}}