理财秘籍

bitnamiredisbitnamirediscluster

Aidan 0

各位老铁们好,相信很多人对bitnami redis都不是特别的了解,因此呢,今天就来为大家分享下关于bitnami redis以及bitnami redis cluster的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

如何在ubuntu server 14.04下安装gitlab中文版k8s部署基础服务Loki 日志系统分布式部署实践三 redisgitlab重新加载报错如何在ubuntu server 14.04下安装gitlab中文版gitlab是基于RubyonRails的,安装和配置非常麻烦,不过有傻瓜安装包,https://about.gitlab.com/downloads/,或者,https://bitnami.com/stack/gitlab/installer。但是这两个包都是英文界面的,gitlab把界面提示写在每一个rb文件里了,所以,要用中文版的不能像redmine那样设定一下就行了。

幸好,还是有无私的大侠把gitlab给汉化了:https://larryli.cn/gitlab,代码地址:https://gitlab.com/larryli/gitlab。

所以本文要做的事情是,不安装傻瓜包,从源码安装gitlab。

gitlab官方有一个说明文档:http://doc.gitlab.com/ce/install/installation.html,本文基本按照这个文档来的。所不同的是,本文用的是apache,不是nginx。

安装步骤有:

1.依赖包

2.ruby

3.用户创建

4.数据库初始化

5.redis

6.gitlab源码

7.apache

本文可能会用到VPN连接,在命令行下创建VPN连接的方法如下:

sudoapt-getinstallpptp-linux

sudopptpsetup--createVPN名称--server服务器地址--username用户名--password密码[--encrypt]--start

以上命令会创建一个设备,如果没有其他的拨号设备,这个设备会是ppp0,用ifconfig可以看到,“--encrypt”选项可选,因为有的服务器不支持,会提示MPPErequiredbutpeernegotiationfailed,创建时带上“--start”选项可以看到连接的情况。

pptpsetup创建的VPN连接重启后会失效,如果想在不重启的情况

土耳其有股市吗

下删除VPN连接:

sudopptpsetup--deleteVPN名称

创建VPN连接后还需要使能,并且添加到路由列表:

sudoponVPN名称

sudorouteadddefaultdevppp0

禁用VPN连接的方法是:

sudopoffVPN名称

下面开始正文:

1.依赖包

我装的是ubuntuserver14.04,安装的时候可以选是否安装LAMP(Linux+Apache+MySQL+PHP),如果没装,可以用下面的命令装:

sudotaskselinstalllamp-server

安装的时候会提示输入MySQL的root密码,下面要用。

接下来是依赖关系:

sudoapt-getinstallflexbisonrubybuild-essentialzlib1g-devlibyaml-devlibssl-devlibgdbm-devlibreadline-devlibncurses5-devlibffi-devcurlopenssh-serverredis-servercheckinstalllibxml2-devlibxslt-devlibcurl4-openssl-devlibicu-devlogrotatepython-docutilspkg-configcmakelibkrb5-devnodejsgit-core

注意:这里面装了ruby,应该是1.9.1版本的,gitlab需要2.0以上的ruby,但是安装2.0以上的ruby需要低版本的ruby,所以我们先装上,一会儿卸掉。另外,ubuntu14.04的软件库里有ruby2.0,但是实测不能用,所以还是从源码装ruby吧。

2.ruby

下载,编译,安装(安装前删掉ruby1.9.1):

curl-L--progresshttp://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz|tarxz

cdruby-2.1.5

./configure--prefix=/usr--disable-install-rdoc

make

sudoapt-getautoremoveruby

sudomakeinstall

然后安装bundler:

sudogeminstallbundler--no-ri--no-rdoc

3.用户创建

为gitlab创建一个git用户:

sudoadduser--disabled-login--gecos'GitLab'git

4.数据库初始化

官方指南用的是PostgreSQL,不过官方也有MySQL的说明:

http://doc.gitlab.com/ce/install/database_mysql.html

sudoapt-getinstall-ymysql-servermysql-clientlibmysqlclient-dev

mysql-uroot-p

输入MySQL的root密码登陆,然后:

mysql>CREATEUSER'git'@'localhost'IDENTIFIEDBY'$password';

记得把上面这句的"$password"换成实际的密码,然后:

mysql>SETstorage_engine=INNODB;

mysql>CREATEDATABASEIFNOTEXISTS`gitlabhq_production`DEFAULTCHARACTERSET`utf8`COLLATE`utf8_unicode_ci`;

mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,LOCKTABLESON`gitlabhq_production`.*TO'git'@'localhost';

mysql>\q

5.Redis

Redis貌似是用来存key的数据库吧,不知道,反正按步骤安装:

sudoapt-getinstallredis-server

sudocp/etc/redis/redis.conf/etc/redis/redis.conf.orig

sed's/^port.*/port0/'/etc/redis/redis.conf.orig|sudotee/etc/redis/redis.conf

echo'unixsocket/var/run/redis/redis.sock'|sudotee-a/etc/redis/redis.conf

echo'unixsocketperm770'|sudotee-a/etc/redis/redis.conf

sudoserviceredis-serverrestart

sudousermod-aGredisgit

6.gitlab源码

gitlab源码默认是安装在/home/git/gitlab,如果要更改,请参照官方手册。获取中文版源码的过程如下:

cd/home/git

sudo-ugit-Hgitclonehttps://gitlab.com/larryli/gitlab.git

不知道是因为GFW还是什么,gitclone这个版本库可慢可慢了,我用了VPN,速度会快点。

gitclone完以后可以checkout你想要的版本,在本文编写的时间(2015年4月22日),可以:

sudo-ugit-Hgitcheckout7-7-zh

然后配置源码

cd/home/git/gitlab

sudo-ugit-Hcpconfig/gitlab.yml.exampleconfig/gitlab.yml

sudochown-Rgitlog/

sudochown-Rgittmp/

sudochmod-Ru+rwX,go-wlog/

sudochmod-Ru+rwXtmp/

sudo-ugit-Hmkdir/home/git/gitlab-satellites

sudochmodu+rwx,g=rx,o-rwx/home/git/gitlab-satellites

sudochmod-Ru+rwXtmp/pids/

sudochmod-Ru+rwXtmp/sockets/

sudochmod-Ru+rwXpublic/uploads

sudo-ugit-Hcpconfig/unicorn.rb.exampleconfig/unicorn.rb

sudo-ugit-Hcpconfig/initializers/rack_attack.rb.exampleconfig/initializers/rack_attack.rb

sudo-ugit-Hgitconfig--globaluser.name"GitLab"

sudo-ugit-Hgitconfig--globaluser.email"example@example.com"

sudo-ugit-Hgitconfig--globalcore.autocrlfinput

sudo-ugit-Hcpconfig/resque.yml.exampleconfig/resque.yml

当然,你可以把example@example.com改成你的email;上面的那些yml文件里面的配置基本都不用更改;然后,配置数据库用户名和密码:

sudo-ugitcpconfig/database.yml.mysqlconfig/database.yml

sudo-ugit-Heditorconfig/database.yml

sudo-ugit-Hchmodo-rwxconfig/database.yml

然后,安装gems:

sudo-ugit-Hbundleinstall--deployment--withoutdevelopmenttestpostgresaws

这一步必须使用VPN,因为万恶的GFW屏蔽了rubygems.org,所以会提示connectionresetbypeer之类的,这部时间也会比较久,如果你的机器是多核的,也可以加上和make相同-jN参数,N等于核数。

(2015年5月2日追加)

发现淘宝做了个rubygrems.org的国内镜像,http://ruby.taobao.org/,可以参照上面的内容设置,加快gems安装速度。

再接下来安装gitlabshell:

sudo-ugit-Hbundleexecrakegitlab:shell:install[v2.6.0]REDIS_URL=unix:/var/run/redis/redis.sockRAILS_ENV=production

sudo-ugit-Heditor/home/git/gitlab-shell/config.yml

把gitlab的url改成http://localhost/或者你的域名。

在接下来初始化数据库:

sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=production

加入启动项:

sudocplib/support/init.d/gitlab/etc/init.d/gitlab

sudoupdate-rc.dgitlabdefaults21

初始化日志:

sudocplib/support/logrotate/gitlab/etc/logrotate.d/gitlab

检查应用状态:

sudo-ugit-Hbundleexecrakegitlab:env:infoRAILS_ENV=production

编译附件:

sudo-ugit-Hbundleexecrakeassets:precompileRAILS_ENV=production

启动gitlab服务:

sudoservicegitlabstart

7.apache

下载apache的配置文件:https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache2.4.conf

将其中的“ProxyPassReverse

http://gitlab.example.com/”改成“ProxyPassReverse

http://localhost/”或者你的域名,将其中的“/var/log/httpd/logs/”改为“/var/log/apache2/”。

用命令来说:

wgethttps://gitlab.com/gitlab-org/gitlab-recipes/raw/master/web-server/apache/gitlab-apache2.4.conf

mvgitlab-apache2.4.conf001-gitlab.conf

editor001-gitlab.conf(进行上述修改)

sudocp001-gitlab.conf/etc/apache2/sites-available

cd/etc/apache2/sites-enabled

sudorm000-default.conf

sudoln-s../sites-available/001-gitlab.conf001-gitlab.conf

另外,还需要使能代理模块以实现反向代理功能,不然会提示“ProxyPassReverse”无效之类的。

cd/etc/apache2/mods-enabled

sudoln-s../mods-available/proxy.confproxy.conf

sudoln-s../mods-available/proxy.loadproxy.load

sudoln-s../mods-available/proxy_connect.loadproxy_connect.load

sudoln-s../mods-available/proxy_http.loadproxy_http.load

sudoln-s../mods-available/rewrite.loadrewrite.load

重启apache:

sudoserviceapache2restart

然后,检查下配置是否正确:

sudo-ugit-Hbundleexecrakegitlab:checkRAILS_ENV=production

如果都是绿色的结果,那就可以访问了。登陆用户名:root,初始密码:5iveL!fe

最后配置一下邮件,修改/home/git/gitlab/config/gitlab.yml,里面的“email_from:”为一个有效的email地址;修改/home/git/gitlab/config/environments/production.rb,里面的“config.action_mailer.delivery_method=”为“:smtp”;最后:

cd/home/git/gitlab/config/initializers

sudo-ugit-Hcpsmtp_settings.rb.samplesmtp_settings.rb

然后把文件的里的内容修改正确了,再重启一下gitlab服务就行了:

sudoservicegitlabrestart

k8s部署基础服务注意把10.170.208.111替换成自己linux虚拟机的ip地址

#kubeadminit \

--apiserver-advertise-address=10.170.208.111 \

--image-repositoryregistry.aliyuncs.com/google_containers \

--kubernetes-version=v1.19.4 \

--service-cidr=10.96.0.0/12 \

--pod-network-cidr=10.244.0.0/16 \

--token-ttl=0

安装方式建议实用kubeadm安装方式

kubectltaintnodes--allnode-role.kubernetes.io/master-

wgethttps://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

多网卡服务器需要指定网卡

vimkube-flannel.yml

kubectlapply-fkube-flannel.yml

查找问题journalctl-f-ukubelet.service

kubectlapply-fhttps://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/namespace.yaml

kubectlapply-fhttps://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/metallb.yaml

#Onfirstinstallonly

kubectlcreatesecretgeneric-nmetallb-systemmemberlist--from-literal=secretkey="$(opensslrand-base64128)"

cat <<EOF>metallb.cfg

apiVersion:v1

kind:ConfigMap

metadata:

 namespace:metallb-system

 name:config

data:

 config:

  address-pools:

  -name:default

   protocol:layer2

   addresses:

   -10.170.208.10-10.170.208.15

EOF

10.170.208.10-10.170.208.15 是负载均衡使用的ip范围

kubectlapply-fmetallb.cfg

kubectlapply-fhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

wgethttps://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

vimrecommended.yaml

spec:

 type:NodePort

 ports:

  -port:443

   targetPort:8443

   nodePort:30000

 selector:

  k8s-app:kubernetes-dashboard

kubectlapply-frecommended.yaml

cat<<EOF>admin-user.yaml

apiVersion:v1

kind:ServiceAccount

metadata:

 name:admin-user

 namespace:kubernetes-dashboard

EOF

kubectlapply-fadmin-user.yaml

serviceaccount/admin-usercreated

CreatingaClusterRoleBinding

cat<<EOF>ClusterRoleBinding.yaml

apiVersion:rbac.authorization.k8s.io/v1

kind:ClusterRoleBinding

metadata:

 name:admin-user

roleRef:

 apiGroup:rbac.authorization.k8s.io

 kind:ClusterRole

 name:cluster-admin

subjects:

-kind:ServiceAccount

 name:admin-user

 namespace:kubernetes-dashboard

EOF

kubectlapply-fClusterRoleBinding.yaml

使用token进行登录,执行下面命令获取token

kubectl-nkubernetes-dashboarddescribesecret$(kubectl-nkubernetes-dashboardgetsecret|grepadmin-user|awk'{print$1}')

kubectlcreateclusterrolebindingserviceaccount-cluster-admin--clusterrole=cluster-admin--group=system:serviceaccount

curl-Lhttps://istio.io/downloadIstio|sh-

cdistio-1.10.0

exportPATH=$PWD/bin:$PATH

istioctlinstall--setprofile=demo-y

kubectllabelnamespacedefaultistio-injection=enabled

wgethttps://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz

tar-zxvfhelm-v3.6.1-linux-amd64.tar.gz

mvlinux-amd64/helm/usr/local/bin/helm

共享端安装nfs-server,k8s所在主机安装nfs客户端【具体根据linux版本安装对应包】

以ubuntu为例:

apt-getinstallnfs-kernel-server

vim/etc/exports

/data/k8s*(rw,sync,no_root_squash)

手动

mount-tnfs-onolock-otcp10.170.208.111:/data/k8s  /nfs

自动

vim/etc/fstab

#nfsvolumes

10.170.208.111:/data/k8s  /nfs  nfs  defaults  0 0

helmsearchrepo nfs-client-provisioner

helminstallaliyuncs/nfs-client-provisioner--namenfs-storageclass--setnfs.server=10.170.208.111--setnfs.path=/data/k8s

helminstallstable/nfs-client-provisioner--namenfs-storageclass--setnfs.server=10.170.208.111--setnfs.path=/data/k8s

helmpullstable/nfs-client-provisioner--untar   

cdnfs-client-provisioner/

vimvalues.yaml   

values.yaml

...

nfs:

 server:10.170.208.111   

 path:/data/k8s   

 mountOptions:

...

helminstallnfs-fvalues.yaml.

helmpullaliyuncs/kafka

tar-zxvf kafka-7.2.2.tgz

cdkafka

helminstallkafka.-f./values.yaml--se

中医的湿

tservice.type=NodePort

helmrepoaddbitnamihttps://charts.bitnami.com/bitnami

helminstallbibtbitnami/postgresql-ha

exportPOSTGRES_PASSWORD=$(kubectlgetsecret--namespacedefaultbibt-postgresql-ha-postgresql-ojsonpath="{.data.postgresql-password}"|base64--decode)

export|grepPOSTGRES_PASSWORD

exportREPMGR_PASSWORD=$(kubectlgetsecret--namespacedefaultbibt-postgresql-ha-postgresql-ojsonpath="{.data.repmgr-password}"|base64--decode)

export|grepREPMGR_PASSWORD

helminstallredis-servicebitnami/redis-cluster

exportREDIS_PASSWORD=$(kubectlgetsecret--namespace"default"redis-service-redis-cluster-ojsonpath="{.data.redis-password}"|base64--decode)

export|grepREDIS_PASSWORD

helminstallmongodbbitnami/mongodb

exportMONGODB_ROOT_PASSWORD=$(kubectlgetsecret--namespacedefaultmongodb-ojsonpath="{.data.mongodb-root-password}"|base64--decode)

export|grepMONGODB_ROOT_PASSWORD

helminstallmqttemqx/emqx --setservice.type=LoadBalancer

exportEMQX_ROOT_PASSWORD=$(kubectlgetsecret--namespacedefaultmqtt-ojsonpath="{.data.emqx-root-password}"|base64--decode)

export|grepEMQX_ROOT_PASSWORD

ElasticSearch的HelmChart模板是ES官方Github获取的,它的Github地址为https://github.com/elastic/helm-charts。

#Helm增加Elastic仓库

helmrepoaddelastichttps://helm.elastic.co

#安装ElasticSearchMaster节点

helminstallelasticsearch --setantiAffinity=soft elastic/elasticsearch

helminstallkibana elastic/kibana

helminstallapm-serverelastic/apm-server

wgethttps://github.com/elastic/helm-charts/archive/refs/tags/v7.13.2.tar.gz

tar-zxvfv7.13.2.tar.gz

cdhelm-charts-7.13.2/filebeat/examples/deployment

makeinstall

helmupgrade--wait--timeout=900s--install--valuesvalues.yamlhelm-filebeat-deployment../../

Loki 日志系统分布式部署实践三 redis这里支持redis主从、哨兵、集群三种模式,我这里选择主从即可,集群模式测试异常,没能解决

安装redis主从模式:

编写配置文件:

安装:

查看密码:

连接master:

连接slave:

读写分离:

读写:

只读:

错误1:

解决:

参考:https://github.com/helm/charts/issues/10666

参考:https://docs.bitnami.com/kubernetes/infrastructure/redis/administration/kernel-settings/

参考:https://github.com/helm/charts/tree/master/stable/redis/#user-content-host-kernel-settings

注意:Kubernetes1.12+可以使用securityContext.sysctls来设置pod的sysctl,而不需要initContainer了:

错误2:

解决:

使用initContainer去修改sysctl的方案在生产环境正常,这里却报错了,应该是securityContext或PSP的问题,这里没有启用PSP,那就剩下securityContext了:

我这里尝试写入如下权限,最终都被修改掉了:

这里暂时没有找到解决方案,但是发现虽然报错了,下面sysctl修改是生效了的,因为日志不再报错了

错误3:

解决:

因为bitnami/minideb:buster镜像里没有sysctl

方法一:替换镜像

方法二:直接安装包,但是这个比较慢

错误4:

解决:

参考:https://github.com/docker-library/redis/issues/55

参考:https://github.com/prometheus/node_exporter/issues/703

注意:它将修改调度了容器的节点的内核设置,从而影响该节点上运行的其他容器。这就是为什么您需要运行特权的initContainer或设置securityContext.sysctls的原因。

错误5:

解决:

因为将宿主机的/sys挂载到容器内的路径变成了/host-sys

所以要修改路径:

错误6:

解决:

这里暂时看不受影响

错误7:

解决:

因为master挂掉了

错误8:

解决:

Redis提供两种相对有效的备份方法:

利用RDB快照的持久化方式不是非常可靠,当运行Redis的计算机停止工作、意外掉电、意外杀掉了Redis进程那么最近写入Redis的数据将会丢。对于某些应用这或许不成问题,但对于持久化要求非常高的应用场景快照方式不是理想的选择。

利用AOF文件是一个替代方案,用以最大限度的持久化数据。同样,可以通过配置文件来开闭AOF。

打开AOF持久化功能后,Redis处理完每个事件后会调用write(2)将变化写入kernel的buffer,如果此时write(2)被阻塞,Redis就不能处理下一个事件。

Linux规定执行write(2)时,如果对同一个文件正在执行fdatasync(2)将kernelbuffer写入物理磁盘,或者有systemwidesync在执行,write(2)会被Block住,整个Redis被Block住。

如果系统IO繁忙,比如有别的应用在写盘,或者Redis自己在AOFrewrite或RDBsnapshot(虽然此时写入的是另一个临时文件,虽然各自都在连续写,但两个文件间的切换使得磁盘磁头的寻道时间加长),就可能导致fdatasync(2)迟迟未能完成从而Block住write(2),Block住整个Redis。

为了更清晰的看到fdatasync(2)的执行时长,可以使用下面命令跟踪,但会影响系统性能:

Redis提供了一个自救的方式,当发现文件有在执行fdatasync(2)时,就先不调用write(2),只存在cache里,免得被Block。但如果已经超过两秒都还是这个样子,则会硬着头皮执行write(2),即使redis会被Block住。

此时那句要命的log会打印:AsynchronousAOFfsyncistakingtoolong(diskisbusy?).WritingtheAOFbufferwithoutwaitingforfsynctocomplete,thismayslowdownRedis.

之后用redis-cliINFO可以看到aof_delayed_fsync的值被加1。

因此,对于fsync设为everysec时丢失数据的可能性的最严谨说法是:

如果有fdatasync在长时间的执行,此时redis意外关闭会造成文件里不多于两秒的数据丢失。

如果fdatasync运行正常,redis意外关闭没有影响,只有当操作系统crash时才会造成少于1秒的数据丢失。

方法一:关闭AOF

如果采用redis主从+sentinel方式的话,主节点挂了从节点会自己提升为主点,主节点恢复后全量同步一次数据就可以了,关系也不是太大

方法二:修改系统配置

原来是AOFrewrite时一直埋头的调用write(2),由系统自己去触发sync。默认配置vm.dirty_background_ratio=10,也就是占用了10%的可用内存才会开始后台flush

而我的服务器有8G内存,很明显一次flush太多数据会造成阻塞,所以最后果断设置了sysctlvm.dirty_bytes=33554432(32M)问题解决

错误9:

解决:

看着是启动的时候加载AOF文件到内存,然后被liveness杀掉了

随着命令不断写入AOF,文件会越来越大,为了解决这个问题,redis引入了AOF重写机制压缩文件。文件能缩小的原因是:

AOF重写可以手动触发和自动触发:

auto-aof-rewrite-percentage100

auto-aof-rewrite-min-size16mb

所以这里处理下,控制AOF文件大小:

注意:这里依旧没能解决问题,文件依旧很大,而且会造成大量的磁盘IO,最终导致redis失去响应

彻底解决:

之后dump.rdb文件一直稳定在255M

gitlab重新加载报错在本版本的gitlab中,在/opt/gitlab*中找不到uninstall文件,无法通过该方法卸载gitlab

经过摸索,可通过以下方法彻底卸载gitlab

sudogitlab-ctlstopsudogitlab-ctluninstallsudogitlab-ctlcleansesudorm-rf/opt/gitlab1234

之后通过reboot命令重启系统即可

其中,可通过sudogitlab-ctlhelp来获取相关命令

sudogitlab-ctluninstall,关于其的说明是

Killallprocessesanduninstalltheprocesssupervisor(datawillbepreserved).

但在实际操作中,只通过uninstall无法彻底卸载gitlab

安装方法

bitnami的下载链接https://bitnami.com/stack/gitlab/installer中只提供了虚拟机版本及云服务器版本,本人没找到.run的安装文件,于是只能通过官方的方法安装。

本人是在amazon的云服务器上进行安装,由于Ram只有1GB,不符合gitlab的最低运行要求,若直接安装,会使得服务器卡顿不堪,难以使用,且gitlab也无法正常运行,进入gitlab的服务网页,会提示

502Whoops,GitLabistakingtoomuchtimetorespond:

无法使用,于是得先配置虚拟内存

另外,在服务器刚启动时,也会返回这个提示,是因为gitlab系统还没跑起来,稍等片刻即可

sudoddif=/dev/zeroof=/swapfilebs=1024count=2048ksudomkswap/swapfilesudoswapon/swapfilesudovim/etc/fstab

++/swapfilenoneswapdefaults0012345

++后面的内容是添加到fstab文件中的内容

此处配置的虚拟内

300亿的虚拟货币有哪些

存(交换文件)是2GB,gitlab最低的运行内存要求是2GB,读者们可以根据自己的硬盘情况和内存情况进行试验

由于新版gitlab占用内存变大,系统默认的在内存占用超过40%时启用swap不太合适,现象就是通过putty连接服务器过慢,打开gitlab的网页过慢等,影响到使用

于是可以把该阈值调整为50%。

方法是修改/etc/sysctl.conf文件

sudovim/etc/sysctl.conf1

找到

vm.swappiness=601

将60,改为50

若找不到,则在文件最后一行添加上即可

vm.swappiness=60的意思是,当内存占用超过40%时启用swap

经测试,在本测试机上若按网上通常说的,把该阈值改为90%,是会出现访问慢的问题,读者需要根据自己的机器情况进行相关的调整

此外,gitlab占用80端口提供网页服务,若需要与其他web服务器同时运行,需要进一步的设置

进入官方安装向导https://about.gitlab.com/downloads/

选择系统平台

根据提示输入终端命令

终端命令如下:

sudoapt-getinstallcurlopenssh-serverca-certificatespostfix

curl-sShttps://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh|sudobashsudoapt-getinstallgitlab-cesudogitlab-ctlreconfigure1234

本人使用amazon的云服务器,下载速度有十几MB/s,无需担心网速的问题,安装过程及其快速,gitlab是使用nginx作Web服务器,其中配置有redis等服务

初次通过网页登录gitlab,选择login,将提示修改初始密码,修改过后,可使用root作为用户名以及刚修改的密码来登录gitlab

配置方法(ubuntu)

域名(ip)配置

cd/etc/gitlabsudovimgitlab.rb

/external_url123

把external_url项修改为自己的域名或者是ip地址

sudopostfixflush#立即发送队列里的所有邮件sudopostqueue-p#显示队列里的邮件列表sudopostsuper-dALLsudopostsuper-dMessageID#删除特定ID的邮件sudopostfixreload#重新加载配置文件echo"Thisisthecontent"|mail-s"MailSubject"target_address

#echo后的双引号内接邮件内容,"MailSubject"双引号内是主题的名称,target_address处填写目的邮箱地址12345678

/var/log/mail.log``/var/log/mail.err里面分别有日志和错误原因,内容复杂,比较难看清楚

配置文件只有一个:/etc/postfix/main.cfg

但其中的内容基本不用改,我改了好像也没什么影响

而对发件人有影响的是/etc/hostname,其中放着本机的名称,修改它可使得测试时的发件人改变

在本机上,若hostname是ip-xxx-xx-xx-xxx,发件人地址则为ubuntu@ip-172-31-20-224.ap-northeast-1.compute.internal,若为其他,则发件人地址为’ubuntu@$hostname’,需要重启才能生效,其中ubuntu是服务器的登录用户名

无论如何,测试邮件都可发送,只是时间长短的问题,可查看邮件队列里的邮件,以及目标邮件的垃圾箱和被拦截邮件列表

OK,关于bitnami redis和bitnami redis cluster的内容到此结束了,希望对大家有所帮助。

相关内容