Last Updated on

前言

由于运维的所有文章,基本都是基于centos7服务器的,但是在具体的文章,我不方便每一个都从最底层的系统开始说起,都是直接在一定的基础上,这样对于有一定了解的人来说,很方便,也好理解,但是对于纯新手,零基础的想学运维的人来说,有些就看不太懂。每个人都是从纯小白一路过来的,我也是,所以为了对纯新手更优好,特此记录一篇centos7的基础环境的准备。

此网站中我所有的centos7相关的运维的文章,所有操作都是基于在这个实验环境之上进行的。由于考虑到个人学习很难说购买真实的服务器,所以皆使用虚拟机来准备环境,而由于文章中会经常设计到集群等规模较大的东西,所以实验用虚拟机会准备三台为基础,所以请各位起码有一台性能不太差的电脑以支持学习测试与实验,具体使用多少台虚拟机,则会在具体文章中说明。

好,话不多说,下面就进行基础的centos7 环境准备

正文

首先,准备虚拟机软件,windows请使用vmware 的 workstation,macos则使用vmware的fusion。 直接去官方下载最新安装包就行了,至于注册码的话,直接百度找就可以了。

纯小白的话,我这里分享一个安装包:https://pan.baidu.com/s/1_heIOHzXeoUhCRbu7yooMQ

虚拟机软件的安装与使用,我这里就不多讲了,都很简单。安装完后,下载centos7的镜像,安装centos7系统。系统安装过程也不多说了,我这里以生产环境的标准进行一个全新系统的初始化配置记录。

1. 设置网络

每台服务器首先都需要设置网络,如果是虚拟机都话,创建虚拟机后,默认会有一个网络,但是我们的实验,需要每个虚拟机都有自身的ip,且能互相访问,所以,虚拟机需要使用NAT网络模式:

  • windows系统的vmware workstation中可以很方便的设置NAT模式的固定IP。设置方法不多说,很简单。
  • macos的vmware fusion中,默认是不允许自己设置静态ip的,默认是用dhcp自动分配ip,但虚拟机重启,dhco分配的ip并不会变化,所以直接默认即可。不需要修改,只要记住自己的虚拟机ip即可。

这里,我就都以 192.168.0.1,192.168.0.2,192.168.0.3来代表三台实验虚拟机。

2. 关闭selinux

SELinux的全称是Security Enhanced Linux, 就是安全加强的Linux。SELinux则是基于MAC(强制访问机制),简单的说,就是程序和访问对象上都有一个安全标签(即selinux上下文)进行区分,只有对应的标签才能允许访问。否则即使权限是777,也是不能访问的。

但是selinux的设定比较复杂,处理不好会很影响使用,一般情况下,更多的都是将其关闭。

# 通过配置文件,永久关闭
$ vim /etc/selinux/config
-----------------------------------------------------------
SELINUX=disabled
-----------------------------------------------------------

# 重启服务器生效,可以留到最后所有配置都完成后再重启
$ reboot

# 如果不能重启,可以临时关闭selinux,但是重启后则会恢复。
$ setenforce 0

# 查看selinux状态
$ getenforce
# selinux开启时,则返回Enforcing
Enforcing  
# 临时关闭selinx,则显示Permissive
Permissive
# 通过配置文件关闭后,则显示Disabled
Disabled

3. 设置文件最大打开数

centos7系统默认的最大文件打开数为1024,非root用户的最大进程数为4096。系统所能支持的最大文件打开数可通过以下方法查看:

$ cat /proc/sys/fs/file-max

设置时,不要超过此数值即可。一般常见设置为65535,比如阿里云服务器则是默认此数值。

# 编辑配置文件,在文件最后添加如下内容
$ vim /etc/security/limits.conf
---------------------------------------------------------------
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
---------------------------------------------------------------

# 修改非root用户最大进程数,修改为如下内容
$ vim /etc/security/limits.d/20-nproc.conf
---------------------------------------------------------------
*          soft    nproc     63353
root       soft    nproc     unlimited
---------------------------------------------------------------

PS: 注意,这里修改完后,还没有结束,centos7中,上面的配置只能设定用户登录后,用在pam中启动程序和使用时才生效。而使用systemctl 运行的系统后台进程,则不起作用。在/etc/security/limits.conf文件中,开头就进行了说明:

所以还需要修改一个地方的配置:

# 编辑系统配置文件,修改其中两项
$ vim /etc/systemd/system.conf
---------------------------------------------------------------
# 默认最大文件打开数
DefaultLimitNOFILE=65535
# 默认进程最大打开数
DefaultLimitNPROC=65535
---------------------------------------------------------------

# 编辑用户配置文件,同上修改其中两项
$ vim /etc/systemd/user.conf
---------------------------------------------------------------
# 默认最大文件打开数
DefaultLimitNOFILE=65535
# 默认进程最大打开数
DefaultLimitNPROC=65535
---------------------------------------------------------------

# 以上修改了系统服务和用户服务的配置,一般用户服务用的不多,常见的服务都是作为系统服务存于/usr/lib/systemd/system内,用户服务存于/usr/lib/systemd/user内,当然一般以备不时之需,修改时将两个配置都一同修改了。

ok,修改完后,需要重启生效,可以留到最后所有配置完成后再重启

4. 修改历史命令格式与数量

centos7系统默认会记录历史操作命令,可以通过history命令进行查看,但是默认是不显示操作时间和用户的,且默认是只记录1000条历史命令。很多时候,我们为了排错,排毒,或查找自己的操作问题,都会需要查看历史命令。下面就将历史命令让其显示操作时间和用户,增加记录数量到10000条。

# 修改环境变量文件
$ vim /etc/profile
---------------------------------------------------------------
# 在最下面加入一句,修改历史命令格式
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` "

# 修改历史命令记录数量,这个配置在文件中有,找到此行,修改数字。
HISTSIZE=10000
---------------------------------------------------------------

# 重载生效
$ source /etc/profile

# 查看历史记录,会发现已经有时间和用户了
$ history

5. 安装常用基础包

系统准备好后,还需要安装一些常用的基础包,方便使用

$ yum install -y vim unzip zip wget gzip zlib zlib-devel lsof gcc-c++ make

结束

ok,基础配置大致就只配置这么多就可以了,其他的会在需要时单独说明。另外,防火墙默认是开启状态的,正常的,不要关闭防火墙,防火墙很常用,且作用很多。