作为一名运维人员,必须要会实战,光有理论肯定是行不通的。
这里分享给大家运维当中必须要掌握的实战技能。
一、配置本地源和网络源
①配置本地源
打开虚拟机后点击右下角光盘图标:
然后选择“浏览”,添加你安装的系统的镜像文件,比如你安装系统使用的是“CentOS-7-x86_64-DVD-1804.iso”,那么你就选择这个镜像文件“CentOS-7-x86_64-DVD-1804.iso”
然后选择“打开”——“确定”
接下来回到虚拟机系统内,进入目录:yum.repos.d内
cd /etc/yum.repos.d/
创建任意以repo为后缀的文件
vim local_yum.repo
然后添加以下内容:
[local_yum]
name=local_yum
baseurl=flie:///mnt/cdrom
enabled=1
gpgcheck=0
解析:[local_yum]和name=local_yum皆为标识,可随意定义;baseurl=flie:///mnt/cdrom的意思是使用本地源,地址路径为/mnt/cdrom;enabled=1表示启用源;gpgcheck=0表示不开启校验。
保存退出后,创建/mnt/cdrom目录(如果存在则不创建)
mkdir -p /mnt/cdrom
接下来使用挂载命令进行光盘挂载:
mount /dev/cdrom /mnt/cdrom
此处的/dev/cdrom即表示光盘
若出现下面的这行提示则说明挂载成功
[root@pc-01 dev]# mount /dev/cdrom /mnt/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
接下来设置开机自动挂载
vim /etc/fstab
打开文件后添加一行:
然后保存退出。
接下来使用命令创建缓存
[root@pc-01 dev]# yum makecache
至此yum本地源配置完成,可使用yum命令安装所需服务了。
②配置网络源
先搜索“163yun源”,然后进入“centos镜像使用帮助”这个网站;
下载对应版本的repo文件,此处我使用的是centos7系统,所以选择centos7
下载完成之后上传到/etc/yum.repos.d目录下
进入/etc/yum.repos.d/目录:
cd /etc/yum.repos.d/
此处我使用的工具为xshell,因此我使用sz命令上传(需安装lrzsz这个工具,命令:yum install lrzsz -y)
上传成功后可以看到/etc/yum.repos.d目录下多了CentOS7-Base-163.repo文件
然后执行以下两条命令即可(注意:除非是刚装系统的设备,否则尽量避免使用yum clean all,因为会出现各种不可控问题,切记)
yum clean all
yum makecache
③补充:针对局域网内多台设备不能联网的情况配置http源供其余设备使用(生产环境下经常碰到)
这里选择已配置本地源的96作服务器,选择没有外网的97作客户端。
先在96上安装httpd服务:yum install httpd httpd-devel -y
安装成功后进入httpd服务的web发布目录:cd /var/www/html/
创建名为centos的文件夹,然后把挂载到/mnt/cdrom/Packages/下的所有rpm复制到/var/www/html/centos/目录下:
mkdir centos
cp -R /mnt/cdrom/Packages/* /var/www/html/centos/
接下来使用命令:yum install createrepo* -y 创建本地源
然后使用命令生成rpm创建的本地源配置文件:createrepo centos/
进入repodata目录,命令:cd /var/www/html/centos/repodata/
使用ll命令,如果有以下文件则表示成功
重启httpd服务:systemctl restart httpd
接下来进入客户端97,在目录/etc/yum.repos.d/下创建名为http.repo的源配置文件
cd /etc/yum.repos.d/
vim http.repo
输入以下内容:
[http]
name=http
baseurl=http://192.168.1.196/centos
enabled=1
gpgcheck=0
然后创建yumcache,命令:yum makecache
注意,如果出现以下错误,请关闭selinux以及防火墙,关闭方法见我的博文:
Nginx安装后,同一网络环境下访问不了解决方式_nginx局域网无法访问_wxm9077的博客-CSDN博客
如果没有错误就安装成功了
接下来,同步yum源到本地(96上操作)
yum install yum-utils createrepo -y
reposync -r base -p /var/www/html/centos
特别重要:
如果配置了yum源使用不了,请这样操作:
进入/etc/yum.repos.d
把如图所示的repo文件都改名
在repo后面添加“.bak”即可
然后使用:yum clean all 清空所有的yum配置
接着,yum repolist all 查看自己配置的源是否存在,此处可以看到我配置的“centos-local”源,如果没有出现自己配置的源,则返回上一步继续把可疑的repo文件改名
然后使用命令建立缓存:yum makecache
接下来就可以自己的源进行安装了。
二、硬盘分区、增加Swap内存
一般情况下对硬盘的操作分为三步:分区、格式化、挂载
①硬盘分区
查看分区信息:fdisk -l
分区命令:fdisk /dev/sdb
/dev/sdb是要进行分区的硬盘
②输入n新建分区 提示输入p或e p代表的是创建主分区,e代表创建扩展分区
③输入p创建主分区,提示输入分区编号,1-4是主分区编号
④输入1,即创建的分区为/dev/sdb1,提示输入第一个起始分区
⑤直接回车默认第一个起始分区从2048开始,提示输入结束的扇区,每个扇区代表的是1kB,512字节,假如我们需要分配5G空间,则直接输入+5G即可
⑥输入p查看分区信息
⑦输入w保存设置的分区
⑧进行格式化
mkfs.ext4 /dev/sdb1 .ext4是把分区sdb1格式化为ext4文件格式
⑨进行挂载
mkdir -p /usr/sdb1
mount /dev/sdb1 /usr/sdb1
⑩查看挂载信息
df -h
(11)使挂载永久生效
vim /etc/fstab
添加一行: /dev/sdb1 /usr/sdb1/ ext4 defaults 0 0
保存配置文件 然后重启设备进行检查看是否生效
结果:
说明我们已经永久性挂载了。
增加Swap内存
此处增加2G交换内存
先创建10G的扩展分区,名称为/dev/sdb2 ,p是主分区,e是扩展分区
继续输入n创建逻辑分区,并分配2G逻辑分区内存,l代表的是逻辑分区
输入p即可看到我们分配的分区信息
然后w保存
继续输入partprobe把信息同步到内核
输入ls -l /dev/sdb* 查看我们的分区信息
可以看到我们进行的分区都在里面了
进行格式化 mkswap /dev/sdb5
格式化后此分区就成为了一个Swap格式的2G分区了
接下来还要把这个Swap格式的2G分区挂载到Swap
swapon /dev/sdb5
然后使用free -m 看内存中的Swap是否已经增加
结果:可以看到Swap的大小已经从2G变为4G了
进行永久性保存
vim /etc/fstab
添加一行: /dev/sdb5 swap swap defaults 0 0
保存后重启检查下,结果如下:已永久生效
注意,若是/etc/fstab 文件里面的信息写错了 在重启时会报错,此时不要着急,输入root密码,然后继续编辑/etc/fstab
把正确的信息写上即可。
三、vsftpd服务搭建
首先安装vsftpd:yum install vsftpd -y
启动vsftpd服务:systemctl start vsftpd
设置开机自启:systemctl enable vsftpd
安装完成后配置文件存储于/etc/vsftpd目录:
使用命令:grep -v "#" vsftpd.conf 过滤出vsftpd.conf的配置信息,-v表示取反,对带有“#”的行取反,即只过滤没有"#"的行
vim vsftpd.conf
编辑内容如下:
anonymous_enable=YES #启用匿名模式
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #配置改为YES
listen_ipv6=NO #配置改为NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
下面分三种模式来配置
①匿名用户模式
在此模式下设置匿名用户的权限,需在配置文件加上以下三个参数
anon_upload_enable=YES #允许匿名用户上传文件
anon_mkdir_write_enable=YES #允许匿名用户创建目录
anon_other_write_enable=YES #允许匿名用户其他写入权限
然后给ftp用户赋予权限
chown ftp:ftp -R /var/ftp/pub/
chmod +w -R /var/ftp/pub/
重启vsftpd服务:systemctl restart vsftpd
②系统用户模式
先创建一个测试用户
[root@pc-01 ~]#useradd ftp1
[root@pc-01 ~]# echo "123456"|passwd --stdin ftp1
直接重启vsftpd:systemctl restart vsftpd
用创建的用户进行登录验证:
③虚拟用户模式(推荐)
安装完成后进入vsftpd配置文件所在目录:cd /etc/vsftpd/
创建文件主要用来存储虚拟用户的账号信息:vim /etc/vsftpd/ftpusers.txt
输入账号及密码:
wxm1
123456
wxm2
123456
把ftpusers.txt文件进行加密存储在数据库
命令:db_load -T -t hash -f ftpusers.txt vsftpd_login.db
执行完成后目录结构:
给db数据库赋权:chmod 600 vsftpd_login.db
删除创建的ftpusers.txt文件:rm -rf ftpusers.txt
创建系统用户登录Linux系统:useradd -d /var/ftproot -s /sbin/nologin ftpuser
赋权:chmod -Rf 755 /var/ftproot/
创建pam模块认证文件:vim /etc/pam.d/vsftpd.vu
输入以下内容:
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
然后修改主配置文件:vim /etc/vsftpd/vsftpd.conf
添加以下几行:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/user
allow_writeable_chroot=YES
创建虚拟用户配置文件夹:mkdir /etc/vsftpd/user
进入/etc/vsftpd/user文件夹,创建wxm1和wxm2的ftp配置文件:cd /etc/vsftpd/user
touch wxm1 wxm2
如图:
wxm1的配置文件内容:
local_root=/home/ftpuser/wxm1 #wxm1虚拟用户配置文件路径
write_enable=YES #允许登陆用户有写权限
anon_world_readable_only=YES #允许匿名用户下载,然后读取文件
anon_upload_enable=YES #允许匿名用户上传文件权限,只有在write_enable=YES时该参数才生效
anon_mkdir_write_enable=YES #允许匿名用户创建目录,只有在write_enable=YES时该参数才生效
anon_other_write_enable=YES #允许匿名用户其他权限,例如删除、重命名等
wxm2的配置文件内容:
local_root=/home/ftpuser/wxm2
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
然后创建目录wxm1和wxm2,并赋权
mkdir -p /home/ftpuser/wxm{1..2}
chmod -R 755 /home/ftpuser/wxm1
chmod -R 755 /home/ftpuser/wxm2
chown -R ftpuser:ftpuser /home/ftpuser/
chmod 755 /home/ftpuser
重启vsftpd服务:systemctl restart vsftpd
登录验证:
四、Apache源码安装部署
创建部署Apache的文件夹:mkdir -p /usr/local/soft
进入目录:cd /usr/local/soft
下载软件:wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.46.tar.bz2
下载后解压:tar -xjf httpd-2.4.46.tar.bz2
解压后目录结构:
安装所需的apr环境:yum install apr apr-devel apr-util apr-util-devel -y
进入目录进行预编译:这一步主要是为了进行检测环境是否具备安装httpd服务,并指定安装目录,出现如图表示预编译成功
./configure --prefix=/usr/local/soft/apache --with-mpm=worker
然后进行make编译及安装:make -j4 && make -j4 install
安装成功如下:
进入httpd服务启动程序目录启动httpd服务:
cd /usr/local/soft/apache/bin
./apachectl start
修改自启动文件:
vim /etc/rc.d/rc.local
添加以下一行后即可开机自启:
/usr/local/soft/apache/bin/apachectl restart
检测是否能访问apache服务:浏览器输入apache服务所在ip,出现以下图片说明安装启动成功
五、kickstart批量部署系统
首先安装所需服务DHCP、TFTP、HTTPD等:yum install httpd httpd-devel dhcp* tftp-server xinetd -y
cd /etc/xinetd.d
vim tftp
修改标记的一行为no,如图:
创建光盘挂载文件夹,并且进行挂载:mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /var/lib/tftpboot 进入tftp目录
mkdir -p /var/lib/tftpboot/pxelinux.cfg/ 创建启动的配置文件夹目录
安装syslinux 命令: yum install syslinux syslinux-devel -y
然后依次复制启动文件:
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /mnt/cdrom/isolinux/vesamenu.c32 /var/lib/tftpboot/
cp /mnt/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
赋权:chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
输入以下内容:
default vesamenu.c32
timeout 10
display boot.msg
menu clear
menu background splash.png
menu title CentOS Linux 7
label linux
menu label ^Install CentOS Linux 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.1.197/centos7 quiet ks=http://192.168.1.197/ks.cfg
label check
menu label Test this ^media & install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
启动tftp和xinetd:
chkconfig tftp --level 35 on && service xinetd restart
然后确认xinetd和tftp都处于启动状态
创建目录用来存放系统:mkdir -p /var/www/html/centos7/
cd /var/www/html
vim ks.cfg
写入以下内容:
install
text
keyboard 'us'
rootpw 123456
timezone Asia/Shanghai
url --url=http://192.168.1.197/centos7
lang zh_CN
firewall --disabled
network --bootproto=dhcp --device=ens32
auth --useshadow --passalgo=sha512
firstboot --disable
selinux --disabled
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype="ext4" --size=300
part / --fstype="ext4" --grow
part swap --fstype="swap" --size=512
reboot
%packages
@base
@core
%end
然后进入:cd /etc/dhcp
vim dhcpd.conf
写入以下内容:
ddns-update-style interim;
ignore client-updates;
next-server 192.168.1.197;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.197;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.100 192.168.1.195;
}
然后进行光盘挂载:
umount /mnt/cdrom
mount /dev/cdrom //var/www/html/centos7
重启服务:
service httpd restart
service dhcpd restart
service xinetd restart
新建一个虚拟机看是否会重装系统
ps:本篇分享的技能到此结束,硬核技能分享请看下一篇文章。