首先,妈的鸡,搞了大半天才搞完
步骤总结:
安装 postfix
- 安装其实很简单:
apt-get install postfix
但是需要在这个之前先对自己的域名进行解析,我用的是阿里云,解析直接放图:
准备工作做好了,就到了蛋疼的配置了
配置 postfix
- postfix 的配置
/etc/postfix/main.cf //配置文件地址
myhostname = mail.yourSite.cn
mydomain = yourSite.cn
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
//涉及到的字段,改为上述的样子
- 重启
service postfix restart
关于 postfix 的坑
坑的总结:
- 在安装的时候没有注意,就按照网上的教程一路默认安装,导致找不到配置文件,也就是在
/etc/postfix
中没有 main.cf 文件
解决方法:
先卸载了这个玩意
apt-get purge postfix
再次安装
apt-get install postfix
安装的时候切记,选择internet site,并填写你的上面解析的mail.domain.com域名
- 在安装的时候选择的 Local only 的结果:就是只能收件不能发件
现象
postfix 输出日志:
/var/log/mail.log
postfix 默认邮件存储文件夹:
/var/mail/root
输出日志显示
status=bounced
安装 gitlab
-
建议找一个比较稳定的网络环境下载本地再上传服务器
-
安装:
dpkg -i gitlab-ce_7.10.5~omnibus-1_amd64.deb
-
前提是安转了 postfix 并配置好了,这样在安装的时候会自动构建依赖,不然,你就算 Gitlab 安装好了,你还是注册不了用户
配置 gitlab
- 配置 1:gitlab.rb
位置:/etc/gitlab/gitlab.rb
external_url 'http://ip:8090'
//将这一行改为自己的地址,端口分配一个没有被占用的
- 配置 2:unicorn.rb
位置:/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8099", :tcp_nopush => true
//将这一行改为自己的地址,端口分配一个没有被占用的,不要与上面的重复
- 重启服务
gitlab-ctl reconfigure
关于 gitlab 的坑
- 已经配置了访问地址端口为 8090,8080 端口还一直被占用,kill 也没有用
找到占用 8080 端口的服务为 config.rf,找到 pid
ps pid 找到服务创建文件,发现是/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
找到原因:没有修改这个配置文件
- Gitlab 在辛辛苦苦配置后成功跑起来,但时不时出现 500 界面
找到 log 文件
/var/log/gitlab/gitlab-rails/production.log
发现是内存问题
:Error (Cannot allocate memory)
发现是应为没有 Swap 分区导致
创建 Swap 分区
1、进入一个目录:cd /var/
2、获取256M的文件块:dd if=/dev/zero of=swapfile bs=1024 count=262144
如果需要添加2G的SWAP分区,则获取2G的文件块: dd if=/dev/zero of=swapfile bs=1024 count=2097152
3、创建swap文件:/sbin/mkswap swapfile
4、激活swap文件:/sbin/swapon swapfile
5、查看一下swap是否正确:/sbin/swapon -s
6、加到fstab文件中让系统引导时自动启动:vi /etc/fstab
在末尾增加以下内容:/var/swapfile swap swap defaults 0 0
也可以执行如下命令,感觉这样更方便 :echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab
顺便附上DD命令的参数介绍:
dd命令
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。
注意:阿里云默认在启动项里关闭了SWAP分区,在/etc/rc.d/rc.local文件里有一行 swapoff -a ,表示禁用swap。把这行删掉就好了。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于