专业技能:熟练安装各种软件???

小艾咪 · · 562 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Redis暴露到公网被人黑了。。。。多了一堆下载shell脚本的键值。看cron表达式全是半夜执行,然而脚本也看不懂索性重装了下服务器系统

正好记录下部分软件的安装流程,省的每次安装都要差文档QAQ

缺少.bashrc

这个只在腾讯云下遇见了,家目录下没有.bashrc文件,导致ls等系统命令缺少颜色显示不方便。直接手动创建.bashrc文件。添加

alias ls='ls --color'

当然如果不限麻烦可以直接在shell中执行ls --color.同时这个用户新加入的环境变量也可以添加到这里,避免污染profile文件。

此时如果还有一些文件(例如.gz文件)还没有颜色,找一台没问题的机器执行echo $LS_COLORS查看该变量的值。然后将该值添加到你的环境变量中,当然建议直接在.bashrc中操作。因为多数情况下root用户的这个变量应该是没问题的。这里就说明如果你可以进入root进入root获取该变量的值也是可以的。

export LS_COLORS=你查询到的值

我这里贴出一个阿里云Centos镜像的$LS_COLORS值供参考

'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'
# 引号要有

此时当前登录用户将正常显示,但推出登录再重新登录服务器配置可能又会失效,此时将如下代码加入到/etc/profile再source /etc/profile即可。

if [ -n "$BASH_VERSION" ]; then
  # include .bashrc if it exists
  if [ -f "$HOME/.bashrc" ]; then
     . "$HOME/.bashrc"
  fi
fi

RabbitMQ

安装Erlang

# 直接安装,缺少依赖会报错。
sudo dpkg -i esl-erlang_23.2.3-1_ubuntu_bionic_amd64.deb
# 安装上面缺少的依赖
sudo apt --fix-broken install
# 重新执行
sudo dpkg -i esl-erlang_23.2.3-1_ubuntu_bionic_amd64.deb

安装RabbitMQ

# RabbitMQ依赖于socat,先安装socat
apt install socat
# 安装RabbitMQ
sudo dpkg -i rabbitmq-server_3.8.14-1_all.deb

# 开启web管理界面
rabbitmq-plugins enable rabbitmq_management
# 创建一个用于登录的用户
rabbitmqctl add_user user password
# 给该用户赋予管理员权限,权限操作粒度可以更细,详见官方文档
sudo rabbitmqctl set_user_tags alming administrator

Redis

安装编译环境

sudo apt install build-essential

下载

到官网下载安装文件redis-6.2.1.tar.gz

安装

# 解压文件 
sudo tar -xf redis-6.2.1.tar.gz
# 安装
cd redis-6.2.1  
make && make install

设置远程连接

该功能能不开启就不开启。

需要执行两步操作:

关闭保护模式;取消绑定ip

vim redis.conf
?protect-mode找到该配置将yes该为no
protected-mode no
?bind-address找到该配置将该配置注释,如果在内网中最好指定你需要访问该redis服务的主机ip地址
#bind 127.0.0.1 -::1

如果暴露到公网上了建议指定一个复杂一点的密码,设置密码方式

vim redis.conf
?requirepass 找到该配置将注释取消并设置一个复杂的密码

可能遇到的问题

  • 找不到<stdlib.h>``<string.h>等头文件

    缺少编译环境

    解决思路

    安装编译环境

  • 找不到<jemalloc/jemalloc.h>缺少这个内存分配器,

    本次安装并没有遇到过这个问题,以前遇到过。

    解决思路

    解决方案见下一条错误

  • cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
    cc: error: ../deps/lua/src/liblua.a: No such file or directory
    cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
    

    如果你看到了上一条错误可能会去安装jemalloc(自己去github找jemalloc拉下来安装)此时就会出现上边的错误。不要这样安装,去解压目录下的deps下安装。

    解决思路

    cd 到解压目录下 deps文件夹此时看到该文件夹下有一个Makefile。猜测是编译该文件下所有内容的。执行下输出Explicit target required

    所以推断该Makefile是单独编译该文件下内容同时指定文件夹名的。所以查看上面缺少什么就编译什么

    # 编译jemalloc
    make jemalloc 
    # 编译lua
    make lua
    # 编译hiredis
    make hiredis
    # 编译 hdr_histogram
    make hdr_histogram
    # 注意,这几部操作仅在解压目录下deps目录下有意义。
    

解决完以上问题再编译Redis应该就没问题了。

!!!!

上面可能出现的问题大概率不会出现,安装build-essential一般不会出现问题。碰到这些问题的起因就是当我安装看到<stdlib.h>``<string.h>找不到时首先就想到了缺少c++编译器的支持所以马上就安装了g++,此时方向就已经错了。另外,deps下的内容最好使用外面的Makefiel进行编译。虽然进入相应文件夹手动编译有些也可以成功,但会缺少一些必要编译参数。例如使用手动编译的jemalloc再编译redis时可能提示你一些函数找不到,则此时编译redis就需要指定处理器架构即make CFLAGS="-march=x86-64",

zookeeper

详见Zookeeper学习笔记

Docker

详见Docker Hello World

这个是Centos系统的但是大致思路都一样

Docker Compose

文章待发布

Mysql

详见关于ubuntu18.04MySQL安装即初始化过程中的一些问题

Golang

下载

到官网下载linux版文件并上传到服务器中。将其解压到/usr/local/目录(任意目录,配置环境变量时能够找到即可)下

将以下环境变量配置添加到.bashrc文件中(即文章开头的那个)

export GOROOT=/usr/local/go
export GOPATH=$GOROOT/GOPATH
export PATH=$PATH:/usr/local/go/bin

执行go version查看是否安装成功。出现版本信息表示安装成功

go version go1.16.3 linux/amd64

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:小艾咪

查看原文:专业技能:熟练安装各种软件???

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

562 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传