gitlab6 nginx配置和启动脚本
gitlab6 nginx配置和启动脚本
cheungmine
2013-10
最近把gitlab安装到了ubuntu12.04.3的虚拟机上了。参考:
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
www.nickyeoman.com/blog/system-administration/180-install-gitlab-on-ubuntu
我用了2个虚拟机,vm-gitlab6安装gitlab6和相关的东西:nginx, postfix, redis,ruby,另一个vm-mysqldb4git安装了mysql db。用这2台虚拟机构成了整个内网下的 gitlab服务。由于使用了NAT,还需要在主机上安装nginx,指向vm-gitlab6上的nginx服务。
虚拟机的用户car设置了sudo免密码,参考:
http://blog.csdn.net/cheungmine/article/details/12341005
这样连同主机在内有3台机器:
--------------------------------------------------
host: 192.168.90.122
nginx A
/etc/hosts 中加入:
- 192.168.90.122 vm-gitlab
--------------------------------------------------
vm-gitlab6: 192.168.122.24
nginx B
gitlab6.1
git
ruby2.0x
postfix
redis
-------------------------------------------------
vm-mysqldb4git: 192.168.122.139
mysqldb for git
nginx A需要指向nginx B,nginx A配置文件(/etc/nginx/sites-available/gitlab)如下:
- # GITLAB
- # Maintainer: @randx
- # App Version: 5.0
- upstream gitlab {
- server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
- }
- server {
- listen 80; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
- ##server_name 192.168.90.122; # e.g., server_name source.example.com;
- server_name 192.168.90.122 vm-gitlab; # e.g., server_name source.example.com;
- server_tokens off; # don't show the version number, a security best practice
- root /home/git/gitlab/public;
- # individual nginx logs for this gitlab vhost
- access_log /var/log/nginx/gitlab_access.log;
- error_log /var/log/nginx/gitlab_error.log;
- location / {
- # serve static files from defined root folder;.
- # @gitlab is a named location for the upstream fallback, see below
- try_files $uri $uri/index.html $uri.html @gitlab;
- }
- # if a file, which is not found in the root folder is requested,
- # then the proxy pass the request to the upsteam (gitlab unicorn)
- location @gitlab {
- proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
- proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
- proxy_redirect off;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header Host $http_host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_pass http://192.168.122.24;
- }
- }
nginx B 配置文件(/etc/nginx/sites-available/gitlab)如下:
- # GITLAB
- # Maintainer: @randx
- # App Version: 5.0
- upstream gitlab {
- server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
- }
- server {
- listen *:80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
- #server_name vm-gitlab; # e.g., server_name source.example.com;
- server_tokens off; # don't show the version number, a security best practice
- root /home/git/gitlab/public;
- # individual nginx logs for this gitlab vhost
- access_log /var/log/nginx/gitlab_access.log;
- error_log /var/log/nginx/gitlab_error.log;
- location / {
- # serve static files from defined root folder;.
- # @gitlab is a named location for the upstream fallback, see below
- try_files $uri $uri/index.html $uri.html @gitlab;
- }
- # if a file, which is not found in the root folder is requested,
- # then the proxy pass the request to the upsteam (gitlab unicorn)
- location @gitlab {
- proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
- proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
- proxy_redirect off;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header Host $http_host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_pass http://gitlab;
- }
- }
由于gitlab都在虚拟机上,每次启动和关闭都很繁琐,特写了启动和关闭的脚本,使操作一键完成,可以重复启动和关闭,这样也方便更改配置。启动脚本如下:
- #!/bin/bash
- # start-gitlab.sh
- # cheungmine@gmail.com
- ################################################################################
- # vm-gitlab6
- vm_gitlab6_name='vm-gitlab6'
- vm_gitlab6_ip='192.168.122.24'
- vm_gitlab6_login='car'
- vm_gitlab6_passwd='abc1234'
- # vm-mysqldb4git
- vm_mysqldb4git_name='vm-mysqldb4git'
- vm_mysqldb4git_ip='192.168.122.139'
- vm_mysqldb4git_login='car'
- vm_mysqldb4git_passwd='abc1234'
- echo "================================================================="
- echo "start gitlab, mysqldb4git virtual machines and services..."
- # check if vm-gitlab6 is running
- if (! ping -c 1 $vm_gitlab6_ip); then
- echo -e $vm_gitlab6_name "(" $vm_gitlab6_ip ") is not running!\r\n"
- sudo virsh start $vm_gitlab6_name
- fi
- # check if vm-mysqldb4git is running
- if (! ping -c 1 $vm_mysqldb4git_ip); then
- echo -e $vm_mysqldb4git_name "(" $vm_mysqldb4git_ip ") is not running!\r\n"
- sudo virsh start $vm_mysqldb4git_name
- fi
- # waiting for vm-gitlab6 is ready
- while (! ping -c 1 $vm_gitlab6_ip); do sleep 1; done
- sudo virsh list --all
- # start services in vm-gitlab6
- sshpass -p $vm_gitlab6_passwd ssh $vm_gitlab6_login@$vm_gitlab6_ip "sudo /etc/init.d/gitlab restart"
- sshpass -p $vm_gitlab6_passwd ssh $vm_gitlab6_login@$vm_gitlab6_ip "sudo /etc/init.d/nginx restart"
- # start local nginx service
- echo "start nginx at localhost:" `hostname`
- sudo /etc/init.d/nginx restart
- echo "gitlab, mysqldb4git virtual machines and services are now ready !"
- echo "================================================================="
关闭脚本如下:
- #!/bin/bash
- # stop-gitlab.sh
- # cheungmine@gmail.com
- ################################################################################
- # vm-gitlab6
- vm_gitlab6_name='vm-gitlab6'
- vm_gitlab6_ip='192.168.122.24'
- vm_gitlab6_login='car'
- vm_gitlab6_passwd='abc1234'
- # vm-mysqldb4git
- vm_mysqldb4git_name='vm-mysqldb4git'
- vm_mysqldb4git_ip='192.168.122.139'
- vm_mysqldb4git_login='car'
- vm_mysqldb4git_passwd='abc1234'
- echo "================================================================="
- echo "stop gitlab, mysqldb4git virtual machines and services..."
- # stop services on vm-gitlab6
- if (! ping -c 1 $vm_gitlab6_ip); then
- echo -e $vm_gitlab6_name "(" $vm_gitlab6_ip ") is not running!\r\n"
- else
- sshpass -p $vm_gitlab6_passwd ssh $vm_gitlab6_login@$vm_gitlab6_ip "sudo /etc/init.d/gitlab stop"
- sshpass -p $vm_gitlab6_passwd ssh $vm_gitlab6_login@$vm_gitlab6_ip "sudo /etc/init.d/nginx stop"
- sleep 10
- sudo virsh shutdown $vm_gitlab6_name
- fi
- # stop services on vm-mysqldb4git
- if (! ping -c 1 $vm_mysqldb4git_ip); then
- echo -e $vm_mysqldb4git_name "(" $vm_mysqldb4git_ip ") is not running!\r\n"
- else
- # close mysqldb
- # sleep 5
- sudo virsh shutdown $vm_mysqldb4git_name
- sleep 5
- fi
- sudo virsh list --all
- # stop local nginx service
- echo "stop nginx at localhost:" `hostname`
- sudo /etc/init.d/nginx stop
- echo "gitlab, mysqldb4git virtual machines are shutdown !"
- echo "================================================================="
gitlab6 nginx配置和启动脚本的更多相关文章
- Centos 配置开机启动脚本启动 docker 容器
Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为 ...
- ubuntu系统自动配置开机启动脚本
以前一直搞的centos配置开机启动脚本,但是相同方法用在ubuntu系统上就不管用了,非常伤脑筋. 非常感谢 https://www.linuxidc.com/Linux/2017-09/1471 ...
- 【Web】Nginx配置开机启动
在添加nginx服务之后,大家会希望开机伴随启动nginx,避免手动路径输入启动: nginx官方提供了启动脚本:https://www.nginx.com/resources/wiki/start/ ...
- nginx配置开机启动及配置sudo授权启动
1.https://www.cnblogs.com/whatmiss/p/7091220.html 配置开机启动nginx 2.sudo授权其它用户启动 (1)root用户编辑 visu ...
- yum 安装nginx(配置开机启动)
yum install -y nginx 通过yum安装的时候提示下面的错误 [root@localhost yum.repos.d]# yum install nginx 已加载插件:fastest ...
- nginx、php-fpm启动脚本
Nginx官方启动脚本 //service nginx stop|start|restart|reloadtouch /etc/init.d/nginx chmod nginxvi /etc/init ...
- nginx二进制编译-启动脚本编写
首先先把这个文件上传到root目录下,并解压 #tar zxf nginx-1.11.2.tar.gz 写脚本 # vi nginx-running.sh 内容如下 #!/bin/bash #chkc ...
- 配置和启动脚本(bash shell学习01)
bash是 Bourne Again Shell简称 ,从unix系统的sh发展而来 查看当前shellecho $SHELL查看系统支持的shellcat /etc/shells cd /binls ...
- nginx init 官方启动脚本
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # descrip ...
随机推荐
- 两个对象用equals方法比较为true,它们的Hashcode值相同吗?
两个对象用equals方法比较为true,它们的Hashcode值相同吗? 答:不一定相同.正常情况下,因为equals()方法比较的就是对象在内存中的值,如果值相同,那么Hashcode值也应该相同 ...
- 关于一些基础的Java问题的解答(三)
11. HashMap和ConcurrentHashMap的区别 从JDK1.2起,就有了HashMap,正如上一个问题所提到的,HashMap与HashTable不同,不是线程安全的,因此多线程 ...
- 关于 minor allele frequency(次等位基因频率)的理解
引用自NCBI的概念(https://www.ncbi.nlm.nih.gov/projects/SNP/docs/rs_attributes.html#gmaf) Global minor alle ...
- webpack2 配置 示例
// https://github.com/webpack-contrib/extract-text-webpack-plugin var webpack = require("webpac ...
- popupwindow中EditText获取焦点后自动弹出软键盘
关于popupwindow中EditText获取焦点后自动弹出软键盘的问题,玩过手机qq或空间的童鞋应该知道,再点击评论时会弹出一个编辑框,并且伴随软键盘一起弹出是不是很方便啊,下面我们就来讲一下实现 ...
- Mysql创建、删除用户、用户管理等相关:转载http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- intent flags标记
Intent Flag介绍 FLAG_ACTIVITY_BROUGHT_TO_FRONT 这个标志一般不是由程序代码设置的,如在launchMode中设置singleTask模式时系统帮你设定. F ...
- FFmpeg与libx264接口源代码简单分析
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- 剑指Offer——银行考试
剑指Offer--银行考试 网申简历 一. 银行网申简历主要看哪些方面? 1.职业形象(30%),基本体现为证件照: 2.学校+成绩+校内表现(40%),体现为证书,成绩排名以及任职经历等: 3.校外 ...
- javascript之正则表达式
创建正则表达式的两种方法 显式: new RegExp("pattern"[,"flags"]); 例 var regex = new ("abc&q ...