1. 程式人生 > >centos6上 tengine本地代理gitlab服務器部署

centos6上 tengine本地代理gitlab服務器部署

gitlab

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變成了守護進程

 #如果有大佬發現問題,可以給個評論講解一下

centos6上 tengine本地代理gitlab服務器部署