将docker安装的gitlab 内置的redis改为本机的

如果要使用自己的Redis实例而不是捆绑的Redis,可以使用gitlab.rb下面的设置。运行gitlab-ctl reconfigure使设置生效。

redis['enable'] = false

# 通过tcp的方式
gitlab_rails['redis_host'] = 'redis.example.com'
gitlab_rails['redis_port'] = 6380
gitlab_rails['redis_password'] = "redis password"
gitlab_rails['redis_database'] = 0


# 或者通过 Unix sockets
gitlab_rails['redis_socket'] = '/tmp/redis.sock' # defaults to /var/opt/gitlab/redis/redis.socket

清除缓存:sudo /opt/gitlab/bin/gitlab-rake cache:clear

运行sudo gitlab-ctl reconfigure以安装和配置Redis。

docker 安装最新版 gitlab 并配置使用部外nginx

一、docker安装gitlab镜像

1,镜像信息:https://hub.docker.com/r/gitlab/gitlab-ce/

docker pull gitlab/gitlab-ce

2,启动镜像

sudo docker run --detach \
 --hostname git.tmy.com \
 --publish 8929:80 --publish 2289:22 \
 --name gitlab \
 --restart always \
 --volume /data/gitlab/config:/etc/gitlab \
 --volume /data/gitlab/logs:/var/log/gitlab \
 --volume /data/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:latest

文档地址:https://docs.gitlab.com/omnibus/docker/#run-the-image

3,访问本机安装的gitlab

127.0.0.1:8929 端口号为步骤2中设置的端口号。

此处不知何种原因,启动了需要等待几分钟才可以访问,知道的大神可以六个言交流下。

可以访问之后继续往下走。

二、配置使用外部的nginx服务器

1,关闭gitlab内部的nginx服务

官方文档地址:https://docs.gitlab.com/omnibus/settings/nginx.html#using-a-non-bundled-web-server

#1,启动的时候映射出来的目录
vim /data/gitlab/config/gitlab.rb 
#2,在配置文件最末尾加上配置
nginx['enable'] = false 
web_server['external_users'] = ['www-data']
#3,使配置生效
docker exec gitlab gitlab-ctl reconfigure

2,配置本机上的nginx

新nginx虚拟机配置文件,我的虚拟机配置文件在/usr/local/nginx/conf/vhost

vim /usr/local/nginx/conf/vhost/git.tmy.com.conf

下载官方的配置文件

https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/nginx

配置文件有http 和 https两个版本,这里我选择了http第一个

## GitLab 8.3+
##
## Lines starting with two hashes (##) are comments with information.
## Lines starting with one hash (#) are configuration parameters that can be uncommented.
##
##################################
## CONTRIBUTING ##
##################################
##
## If you change this file in a Merge Request, please also create
## a Merge Request on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests
##
###################################
## configuration ##
###################################
##
## See installation.md#using-https for additional HTTPS configuration details.

upstream gitlab-workhorse {
 server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}

## Normal HTTP host
server {
 ## Either remove "default_server" from the listen line below,
 ## or delete the /etc/nginx/sites-enabled/default file. This will cause gitlab
 ## to be served if you visit any address that your server responds to, eg.
 ## the ip address of the server (http://x.x.x.x/)n 0.0.0.0:80 default_server;
 listen 0.0.0.0:80 default_server;
 listen [::]:80 default_server;
 server_name YOUR_SERVER_FQDN; ## Replace this with something like gitlab.example.com
 server_tokens off; ## Don't show the nginx version number, a security best practice
 root /opt/gitlab/embedded/service/gitlab-rails/public;

 ## See app/controllers/application_controller.rb for headers set

 ## Individual nginx logs for this GitLab vhost
 access_log /var/log/nginx/gitlab_access.log;
 error_log /var/log/nginx/gitlab_error.log;

 location / {
 client_max_body_size 0;
 gzip off;

 ## https://github.com/gitlabhq/gitlabhq/issues/694
 ## Some requests take more than 30 seconds.
 proxy_read_timeout 300;
 proxy_connect_timeout 300;
 proxy_redirect off;

 proxy_http_version 1.1;

 proxy_set_header Host $http_host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;

 proxy_pass http://gitlab-workhorse;
 }
}

将配置文件写入刚才创建的虚拟机文件配置文件中。修改

#找到
upstream gitlab-workhorse {
 server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
#修改为
upstream gitlab-workhorse {
 server unix:/data/gitlab/data/gitlab-workhorse/socket;
}
#找到
server_name YOUR_SERVER_FQDN;
#修改为
server_name git.tmy.com 【域名是你自己配置好的域名】
#找到
access_log /var/log/nginx/gitlab_access.log;
error_log /var/log/nginx/gitlab_error.log;
#改为
access_log /data/wwwlogs/gitlab_access.log;
error_log/data/wwwlogs/gitlab_error.log;
#上边是日志文件而已,改称你自己的就行

配置完成后检查nginx -t 是否正常,没问题重新载入配置即可。

三、修改目录权限

chown -R www:www /data/gitlab/data/gitlab-workhorse/

修改完成后访问git.tmy.com 即可进入gitlab的web界面了

CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用
启动: systemctl start firewalld

查看状态: systemctl status firewalld 

停止: systemctl disable firewalld

禁用: systemctl stop firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

centos7 docker 安装gitlab9.3.6

一、安装docker

1,卸载旧版本

较老版本的Docker被称为dockerdocker-engine。如果这些已安装,请卸载它们以及关联的依赖关系。

sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

2,安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3,设置repo

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4,安装最新版docker

sudo yum makecache fast
sudo yum install docker-ce

5,设置阿里云docker hub 加速

cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service

vim /etc/systemd/system/docker.service

ExecStart=/usr/bin/docker –registry-mirror=<your accelerate address>

#<your accelerate address>为阿里云https://cr.console.aliyun.com/?spm=5176.100239.blogcont29941.13.biKhM7 申请的专属加速器地址

6,启动docker

sudo systemctl start docker

二、安装gitlab

1,下载gitlab官方docker镜像

docker pull gitlab/gitlab-ce

2,启动镜像

sudo docker run --detach \
 --hostname xxx.xxx.com \
 --publish 80:80 \
 --name gitlab \
 --restart always \
 --volume /data/gitlab/config:/etc/gitlab \
 --volume /data/gitlab/logs:/var/log/gitlab \
 --volume /data/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:latest

3,访问gitlab

直接访问服务器ip地址即可

centos7 firewalld firewalld.service: Unit is masked

之前用的 iptables 来管理的防火墙,后来发现 CentOS 7.0 中已经用 firewalld 取代
iptables 了,于是与时俱进,停用了
iptables。

systemctl stop iptables.service

然后来启动 firewalld 吧

systemctl start firewalld.service

给我报了这个错

Failed to start firewalld.service: Unit firewalld.service is masked.

查了很久没找到解决办法,于是试着输入了下面这行命令,解决了。

systemctl unmask firewalld.service

启动 firewalld.service

systemctl start firewalld.service

把 80 端口添加到防火墙开放端口中

firewall-cmd --permanent --zone=public --add-port=80/tcp

重启一遍 firewalld 服务使其生效

systemctl restart firewalld.service

检查更改是否生效

firewall-cmd --zone=public --query-port=80/tcp

centos7安装chrome谷歌浏览器

wget http://chrome.richardlloyd.org.uk/install_chrome.sh
chmod u+x install_chrome.sh
./install_chrome.sh -s(stable稳定版本)
启动chrome google-chrome or ./install_chrome.sh
更新chrome yum update google-chrome-stable
删除chrome yum remove google-chrome-stable or ./install_chrome.sh -u
遇到下载超时,失败修改需要修改下载地址请编辑install_chrome.sh
其中的http://omahaproxy.appspot.com改为https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
如果dl.google.com不同,可以通过修改/etc/hosts文件夹添加
xxx.xxx.xxx.xxx dl.google.com
用非root用户运行google-chrome

Python3 scrapy error: Microsoft Visual C++ 14.0 is required

安装方法

首先安装wheel

pip install wheel

安装完成后验证是否成功

wheel

然后去 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 网站下载Twisted,
进到网站=>搜索’Twisted’=>挑选合适版本下载

把下载的.whl文件放在一个容易寻找的地址(我放在了D:\)
然后在控制台进入该地址
在该地址下输入

pip install [whl]

注:[whl]表示你的.whl文件,一定要全名,XXXX.whl

因为Scrapy框架基于Twisted

所以,要做的就是去网站下载Twisted之类的安装文件,先把它们装上。

最后装Scrapy

同样去 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 网站下载Scrapy,
进到网站=>搜索’Scrapy’=>下载
和上面一样安装

pip install [whl]

OK,现在好啦!

建个项目测试一下

scrapy startproject pyjy

注:pyjy为项目名