介绍
系统初始化
进行完基础系统安装后,我们已经得到了一台基础的服务器,下面我们就来安装一些基础服务,让我们的服务器用起来更方便吧~
创建普通用户并授权
普通用户权限受限,更有利于保证系统完整性,可靠性
添加新用户
此操作将会在系统/home
目录创建一个与用户名同名的目录,作为用户的个人目录
adduser [用户名]
passwd [用户名]
添加sudo权限
管理员用户,有权修改系统文件,但会给予提示,并在需要权限是,要求进行鉴权
chmod -v u+w /etc/sudoers
vim /etc/sudoers
[用户名] ALL=(ALL) ALL
chmod -v u-w /etc/sudoers
切换当前用户
在需要进行用户角色切换时,可通过如下方式实现
su - [用户名]
# 当需要切换到root用户时,你应该这样操作
sudo su
修改主机名
sudo hostnamectl set-hostname [主机名]
系统更新
sudo yum update
安装网络工具
网络工具能帮助我们定位和查看我们当前服务状态
sudo yum install -y net-tools bind-utils
# 查看网卡状态
sudo ifconfig
# 查看tcp服务状态
sudo netstat -tlnp
# 查看udp服务状态
sudo netstat -ulnp
禁用无线网卡
建议采用网线进行有线网络的连接,相对无线网络更为稳定可靠
# 通过禁用无线网卡驱动实现
sudo mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless /lib/modules/$(uname -r)/kernel/drivers/net/wireless.bk
# 恢复
sudo mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless.bk /lib/modules/$(uname -r)/kernel/drivers/net/wireless
配置静态IP
静态ip配置能防止IP地址重新分配,导致服务器失联问题
# sudo vi /etc/sysconfig/network-scripts/ifcfg-enp1s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.29 # 设置的静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=192.168.1.1 # DNS服务器
DNS2=192.168.1.29 # DNS服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp1s0
UUID=9faca0e6-5051-4a8e-9d34-6229c8f1d59e
DEVICE=enp1s0
ONBOOT=yes
解决最大连接数限制
linux在默认情况下只允许1024个连接请求
ulimit -n
# 1024
# 通过修改配置文件更改限制
sudo vi /etc/security/limits.conf
# 在配置文件中加入如下配置,重启系统生效
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
升级内核
查看当前内核版本
uname -r
# 3.10.0-957.el7.x86_64
启用ELRepo仓库
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
查看可用的系统内核包
选择合适的长期维护内核版本进行安装
sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# Loaded plugins: fastestmirror
# Loading mirror speeds from cached hostfile
# * elrepo-kernel: mirrors.neusoft.edu.cn
# elrepo-kernel | 2.9 kB 00:00:00
# elrepo-kernel/primary_db | 1.8 MB 00:00:00
# Available Packages
# kernel-lt.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-devel.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-doc.noarch 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-headers.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-tools.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-tools-libs.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-lt-tools-libs-devel.x86_64 4.4.193-1.el7.elrepo elrepo-kernel
# kernel-ml.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-devel.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-doc.noarch 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-headers.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-tools.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-tools-libs.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# kernel-ml-tools-libs-devel.x86_64 5.3.0-1.el7.elrepo elrepo-kernel
# perf.x86_64
安装新的内核
这里我们选择一个长期维护内核版本进行安装
sudo yum --enablerepo=elrepo-kernel install kernel-lt
查看当前系统已安装的所有内核版本
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# or sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
# 0 : CentOS Linux (4.4.193-1.el7.elrepo.x86_64) 7 (Core)
# 1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
# 2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
# 3 : CentOS Linux (0-rescue-35ff0ef975ee884aa7b1c6363da60fdb) 7 (Core)
选择生效的内核版本
sudo grub2-set-default 0
# 重启系统使内核生效
sudo reboot
删除旧内核版本
# 安装的内核不多于 3 个,yum-utils工具不会删除任何一个
sudo yum install yum-utils
sudo package-cleanup --oldkernels
安装docker
升级内核
添加下载源
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有仓库中所有docker版本,并选择特定版本安装
sudo yum list docker-ce --showduplicates | sort -r
# * updates: mirrors.163.com
# Loading mirror speeds from cached hostfile
# Loaded plugins: fastestmirror
# * extras: mirrors.163.com
# * elrepo: hkg.mirror.rackspace.com
# docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
# docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
# docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
# docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
# docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
# docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
# docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
# docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
# docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# * base: mirrors.aliyun.com
# Available Packages
安装选定版本
# 默认安装最新的stable版本
sudo yum install docker-ce
# 指定版本 18.09.9-3.el7
sudo yum install docker-ce-18.09.9-3.el7
设置开机启动
sudo systemctl start docker
sudo systemctl enable docker
修改配置文件,配置镜像加速
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://0msvdakj.mirror.aliyuncs.com"]
}
docker免sudo处理
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
# 切换当前会话到新 group 或者重启 X 会话
newgrp - docker
安装nfs服务
命令行执行安装
sudo yum install -y nfs-utils
修改配置文件
# vi /etc/sysconfig/nfs
安装zsh作为默认shell
sudo yum install -y zsh git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
chsh -s /bin/zsh
安装pyenv
命令行执行安装
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
将pyenv加入~/.zshrc中
vi ~/.zshrc
export PATH="/home/wuyue/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
激活pyenv
source ~/.zshrc
安装python
# 安装依赖
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel
pyenv install 3.7.4 -v
# 设置默认python版本
pyenv global 3.7.4
修改python默认源
mkdir ~/.pip
vi ~/pip.pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
通过yum安装supervisor
命令行执行安装
sudo yum install epel-release
sudo yum install -y supervisor
配置文件
# 主配置文件 /etc/supervisord.conf
# 子配置文件路径 /etc/supervisord.d/*.ini
dns服务器部署(bind9)
命令行执行安装
sudo yum install bind
配置文件
# 主配置文件:/etc/named.conf
# 解析库文件:/var/named/
声卡配置
安装声卡调试软件
sudo yum install alsa-utils
将当前用户加入audio组
# 用于解决权限问题
sudo gpassword -a [用户名] audio
声卡输入设备
aplay -l
# **** List of PLAYBACK Hardware Devices ****
# card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
# Subdevices: 1/1
# Subdevice #0: subdevice #0
# card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
# Subdevices: 1/1
# Subdevice #0: subdevice #0
# card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
# Subdevices: 1/1
# Subdevice #0: subdevice #0
# card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
# Subdevices: 1/1
# Subdevice #0: subdevice #0
声卡输入设备
arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
配置文件
根据声卡输入、输出便有了如下的配置文件
- 输出 card 0,0
- 输入 card 1,0
# vi .asoundrc
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
声卡音量配置 alsamixer
声卡测试
# 录入
arecord -d 3 test.wav
# 播放
aplay test.wav