จะติดตั้ง Gitlab-omnibus ด้วยเว็บเซิร์ฟเวอร์ที่ไม่ได้รวมมาได้อย่างไร?


11

ติดตั้ง

  1. ฉันติดตั้งgitlabแพคเกจผ่านแพ็คเกจ Omnibus ในdebian 7(เวอร์ชั่น7.8.1-omnibus-1_amd64.deb);
  2. เปลี่ยนการตั้งค่าตามที่อธิบายไว้ในการใช้เว็บเซิร์ฟเวอร์ที่ไม่ใช่บันเดิล
  3. รันคำสั่งตั้งค่าใหม่: sudo gitlab-ctl reconfigure(สมบูรณ์โดยไม่มีข้อผิดพลาด)

Nginx

ฉันไม่ได้ตั้งค่าnginx'สำหรับ gitlab นี้ยกเว้นสิ่งที่แพคเกจอาจสร้างขึ้นด้วย/etc/gitlab/gitlab.rbไฟล์ต่อไปนี้:

external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false

ท่อน

/var/log/nginx/gitlab_error.log

2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"

/var/log/nginx/gitlab_access.log

ใน acces.log /ผมได้รับการร้องขอหลายร้อยบน

x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"

คำถาม

เมื่อพยายามที่จะติดต่อที่ให้บริการในประเทศโดยใช้หรือภายนอกผมได้รับข้อผิดพลาดlinks2502 Bad Gateway

  • ฉันจะต้องสร้างการกำหนดค่า nginx 'ที่กำหนดเองได้อย่างไร

คำตอบ:


9

การสำรวจอย่างต่อเนื่องฉันพบ/var/opt/gitlab/ไดเรกทอรีและแก้ไขสิ่งนี้

sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload

ฉันจะทำเครื่องหมายในฐานะที่เป็น̶a̶n̶s̶w̶e̶r̶.̶มันทำงานเท่าที่ผมสามารถบอกได̶้และไม่มีดีกว่าการปฏิบัติ / การแก้ปัญหาให้ 404 ข้อผิดพลาดแม้ในการเข้าสู่ระบบ มันเป็นความผิดพลาดในตอนท้ายของฉัน?
GCon

1
ใช่มันเป็นความผิดพลาดในตอนท้ายของฉัน Works!
GConcon

1
หมายเหตุสิ่งนี้ใช้ไม่ได้อีกต่อไปเนื่องจากคุณจะได้รับunknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52ข้อผิดพลาด
00500005

ต่อไปนี้แก้ไขปัญหารูปแบบการบันทึกsudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/และsudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby

2

สำหรับ gitlab 8 เราไม่สามารถ symlink ไปเริ่มต้น gitlab-http.conf nginx['enable'] = falseอีกต่อไปเพราะเว็บเซิร์ฟเวอร์กำจะไม่ได้รับการติดตั้งเมื่อเราตั้ง

เพียงดาวน์โหลดการกำหนดค่าเว็บเซิร์ฟเวอร์ที่เหมาะสมจากที่เก็บสูตร GitLabและเปลี่ยนYOUR_SERVER_FQDNด้วยชื่อโดเมนที่คุณต้องการ

ดูที่นี่สำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีการติดตั้ง gitlab โดยใช้เว็บเซิร์ฟเวอร์ที่ไม่ได้รวมมาด้วย


1

เพื่อให้แน่ใจว่าผู้ใช้สามารถเข้าถึงผู้ใช้ Nginx ของคุณ (โดยปกติคือ www-data หรือ nginx) ควรถูกเพิ่มในกลุ่ม gitlab-www:

sudo usermod -aG gitlab-www nginx

หรือ

sudo usermod -aG gitlab-www www-data

1

หากคุณเชื่อมโยง gitlab-http.conf แล้วให้ได้:

รูปแบบบันทึกที่ไม่รู้จัก "gitlab_access" ใน /etc/nginx/sites-enabled/gitlab-http.conf

เพียงเพิ่มlog_formatคำสั่งจาก/var/opt/gitlab/nginx/conf/nginx.confไปยังการกำหนดค่าโกลบอล nginx ของคุณ:

http {
  ...
  log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  ...
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.