各位老铁们好,相信很多人对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--setservice.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文件中的内容
此处配置的虚拟内存(交换文件)是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的内容到此结束了,希望对大家有所帮助。