1. gitlab部署
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install curl policycoreutils openssh-server openssh-clients postfix -y
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y gitlab-ce
yum install -y git
###注意:gitlab默认会使用80和8080端口,所以配置nginx和gitlab要注意
2. tengine部署(其实这里的代理使用nginx最新版更合适,我这使用tengine是因为环境比较统一)
useradd nginx -s /sbin/nologin -M
yum -y install gcc gcc-c++ autoconf automake
yum -y install pcre pcre-devel
yum -y install openssl openssl-devel
yum -y install zlib-devel
yum -y install libxml2 libxml2-dev
yum -y install libxslt-devel
yum -y install gd-devel
yum -y install perl-devel perl-ExtUtils-Embed
yum -y install GeoIP GeoIP-devel GeoIP-data
cd /usr/local/src
wget http://tengine.taobao.org/download/tengine-2.2.1.tar.gz
wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar xf tengine-2.2.1.tar.gz
tar xf openssl-1.0.2.tar.gz
tar xf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre
make && make install
cd ../openssl-1.0.2
./config --prefix=/usr/local/openssl
make && make install
mkdir /usr/local/nginx-stable/conf -p
cd ../tengine-2.2.1
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-stable --conf-path=/usr/local/nginx-stable/conf/nginx.conf --pid-path=/usr/local/nginx-stable/nginx.pid --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.38 --with-file-aio --with-http_v2_module --with-http_ssl_module --with-http_upstream_check_module --with-http_realip_module --with-http_stub_status_module --with-http_sub_module --with-http_gzip_static_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_auth_request_module --with-http_perl_module --with-http_slice_module --with-select_module --with-poll_module --with-mail --with-mail_ssl_module --with-pcre --with-pcre-jit
make && make install
3. 到这里两个软件部署完成,开始配置
3.1 gitlab配置
cd /etc/gitlab
###
vim gitlab.rb
#修改gitlab配置文件第13行(ip改成域名)
external_url ‘http://git.linux-test.com‘
###
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
#修改配置文件第13行host
host: git.linux-test.com
#修改配置文件第41行email
email_from: [email protected]
3.2 加载gitlab配置文件启动
#加载配置文件
gitlab-ctl reconfigure
#固定套路
gitlab-ctl start
gitlab-ctl restart
gitlab-ctl stop
3.3 配置nginx
cd /usr/local/nginx/conf
vim nginx.conf
#主配置文件中http标签加入以下内容,当然也可以重写主配置文件
client_body_buffer_size 50m;
sendfile on;
include vhost/*.conf;
####
mkdri vhost
cd vhost
vim git_domain_name.conf
#配置gitlab域名代理
upstream git_domain {
server localhost:8080;
}
server {
listen 80;
server_name git.linux-test.com;
access_log logs/git.access.log ;
error_log logs/git.error.log ;
location / {
client_max_body_size 50m;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080;
index index.html index.htm;
}
}
3.4 检查nginx语法,启动
#检测nginx语法
/usr/local/nginx/sbin/nginx -t
#出现ok和successful表明语法无误
/usr/local/nginx/sbin/nginx
3.5 我可能有地方写错了,nginx和gitlab变成了守护进程
#如果有大佬发现问题,可以给个评论讲解一下
原文地址:http://blog.51cto.com/linux1991/2086386
时间: 2024-10-12 18:01:03