centos6上 tengine本地代理gitlab服務器部署
阿新 • • 發佈:2018-03-14
gitlab1. 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服務器部署