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變成了守護進程
#如果有大佬發現問題,可以給個評論講解一下