基于centos7打造个人服务器(二):系统初始化

介绍

系统初始化

进行完基础系统安装后,我们已经得到了一台基础的服务器,下面我们就来安装一些基础服务,让我们的服务器用起来更方便吧~

创建普通用户并授权

普通用户权限受限,更有利于保证系统完整性,可靠性

添加新用户

此操作将会在系统/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

你可能感兴趣的:(系统运维,centos,运维)