linux:services服务器配置

1.环境准备。

配置selinux和防火墙

vim   /etc/selinux/config

SELINUX=permissive



yum  -y  remove  firewalld

ip地址基础

[root@server ~]# ip  address   show
[root@server ~]# ip   a    s
临时添加IP地址
[root@server ~]# ip address add 192.168.10.1/24 dev  eth0
[root@server ~]# ip   a   a   192.168.20.1/24   dev  eth0
[root@server ~]# ip  a  s
删除临时IP地址
[root@server ~]# ip  address  del  192.168.10.1/24   dev    eth0
[root@server ~]# ip   a   s
ping 命令,测网络连接
-c 指定ping包的个数
[root@server ~]# ping -c  2  192.168.88.240
[root@server ~]# ping -c  3  192.168.88.2
[root@server ~]# ping -c  4  192.168.88.3

一、构建FTP文本传输服务

作用:文本传输协议 vsftpd

具体步骤:

服务端

1.安装软件包

dnf -y install vsftpd

#开启无密码验证
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES

2.运行程序,查看ls /var/ftp 有dvd pub两个文件

/usr/sbin/vsftpd
pgrep  -l  vsftpd  
#查看进程信息

touch  /var/ftp/dcc.txt

3.本机访问测试

curl 默认补全http://

[root@server ~]# curl  ftp://192.168.88.240
-rw-r--r--    1 0   0    0 May 16 06:42 dcc.txt
drwxr-xr-x    2 0    0   6 Oct 13  2020 pub

客户端

客户端上传文件,安装lftp ip为服务端ip (服务端修改权限 mput上传文件)

lftp创建文件失败会会重试,不成功一直重试,进程一直在

在 客户端更改 /etc/lftp.conf

二、NFS共享文件夹服务

作用:

为客户机提供共享使用的文件夹

所需软件包: nfs-utils

系统服务:nfs-servers

服务端配置步骤
dnf -y install nfs-utils

#创建共享文件夹
mkdir  /abc
echo haha > /abc/h.txt


#配置权限
vim /etc/exports
/abc *(ro)

#重启系统
systemctl restart nfs-server
客户端配置步骤

挂载共享才能使用

rpm  -q  nfs-utils
showmount -e ip地址 #查看对方nfs共享

mkdir    /mnt/mynfs
mount    192.168.88.240:/abc    /mnt/mynfs
df -h   /mnt/mynfs   #查看正在挂载的设备信息
ls     /mnt/mynfs

实现开机自动挂载

vim    /etc/fstab 
服务器ip:/abc   /mnt/mynfs  nfs  _netdev 0 0

 三、DNS域名解析服务

作用:根据注册的域名查找其对应的IP地址

–主要执行程序:/usr/sbin/named

–系统服务:named

–DNS协议默认端口:53

–运行时的虚拟根环境:/var/named/chroot

•主配置文件:/etc/named.conf #设置负责解析的域名

•地址库文件:/var/named #完全合格的域名与IP地址对应关系

构建DNS服务器

1.安装软件包

[root@server ~]# yum  -y  install   bind    bind-chroot
bind(主程序)
bind-chroot(提供牢笼政策)

2.修改主配置文件

[root@server ~]# cp -p /etc/named.conf  /root #备份数据
[root@server ~]# ls  -l    /root/named.conf
[root@server ~]# vim  /etc/named.conf    #大致浏览内容
[root@server ~]# vim   /etc/named.conf
options  {                  
        directory     "/var/named";   #定义地址库文件存放路径
};
zone "tedu.cn"  IN {       #定义负责的解析tedu.cn域名
        type  master;        #权威主DNS服务器
        file   "tedu.cn.zone";     #地址库文件名称
};

3.建立地址库文件

保证named用户对地址库文件有读取权限

如果没有以点作为结尾,那么默认补全本地库文件负责的域名

[root@server ~]# cd    /var/named/      
[root@server ~]# cp  -p  named.localhost  tedu.cn.zone   #保持权限不变
[root@server ~]# ls   -l   tedu.cn.zone   
[root@server ~]# vim     tedu.cn.zone 
……此处省略一万字
NS   server      #声明DNS服务器为server
server   A   192.168.88.240    #server解析结果为192.168.88.240
www      A   1.1.1.1
ftp      A   2.2.2.2
[root@server named]# systemctl   restart    named

测试DNS服务器

1.指定DNS服务器地址

[root@server ~]# echo nameserver  192.168.88.240  >  /etc/resolv.conf
[root@server ~]# cat  /etc/resolv.conf

2.命令测试域名解析

[root@server ~]# nslookup    www.tedu.cn  
[root@server ~]# host    ftp.tedu.cn

/etc/hosts文件与/etc/resolv.conf文件

1./etc/hosts文件域名解析最高优先级
2./etc/resolv.conf文件指定DNS服务器地址

测试解析

nslookup www.tedu.cn --推荐

host ftp.tedu.cn --输出精简

dig 解析测试

四、邮件服务器

处理用户发出的邮件 —— 传递给收件服务器

处理用户收到的邮件 —— 投递到邮箱

/var/mail/ 收件人名称 存储邮件信息路径

[root@server /]# yum -y  install  postfix
[root@server /]# rpm  -q  postfix  #提供邮件功能的软件
postfix-2.10.1-9.el7.x86_64
[root@server /]# systemctl status postfix 
[root@server /]# useradd   yg
[root@server /]# useradd   xln

mail 发信操作: mail -s '邮件标题' -r 发件人 收件人

[root@server /]# yum  -y   install  mailx #提供mail命令软件
[root@server /]# mail   -s  'test01'   -r   yg    xln
hahaxixiehehelele
.                #一行只有一个点表示提交   
EOT

mail 收信操作: mail [-u 用户名]

[root@server /]# mail   -u    xln
>N  1  yg@server.tedu.cn    Fri Sep 18 17:24  18/510
&  1            #输入邮件编号
&  quit       #退出

非交互式发邮件:

[root@server ~]# echo 123456  |  mail  -s  'test02'   -r   yg  xln
[root@server ~]# mail  -u  xln

五、NTP时间服务器

作用:提供标准时间

•Network Time Protocol(网络时间协议)

•它用来同步网络中各个计算机的时间的协议

•210.72.145.39 (国家授时中心服务器IP地址)

•Stratum(分层设计)

•Stratum层的总数限制在15以内(包括15)

虚拟机A:时间服务器

1.安装软件包chrony

[root@server /]# yum  -y  install   chrony
[root@server /]# rpm  -q  chrony

2.修改配置文件

[root@server /]# vim  /etc/chrony.conf      
#pool 2.pool.ntp.org iburst  #与谁同步时间,iburst表示快速同步
allow   all    #开头的#去掉,修改为允许所有客户端
local  stratum  10   #开头的#去掉,本机为第10层的时间服务器

3.重启时间服务

[root@server /]# systemctl    restart    chronyd

虚拟机B:客户端

1.安装软件包chrony

[root@pc2 /]# yum  -y  install   chrony

2.修改配置文件

[root@pc2 /]# vim   /etc/chrony.conf      
server  192.168.88.240   iburst   #与192.168.88.240同步时间

3.重启时间服务

[root@pc2 /]# systemctl   restart   chronyd

虚拟机B:

4.测试:  
[root@pc2 /]# date   -s   "2008-1-1"      
[root@pc2 /]# date
[root@pc2 /]# systemctl   restart   chronyd 
[root@pc2 /]# date
[root@pc2 /]# date

六、源码编译安装(源码包)

优点:

–获得软件的最新版,及时修复bug

–软件功能可按需选择/定制,有更多软件可供选择(自定义安装路径)

–源码包适用各种平台

步骤:

步骤1:安装开发工具gcc与make,释放源代码至指定目录

步骤2:tar解包,释放源代码至指定目录

步骤3:./configure 配置,指定安装目录/功能模块等选项

步骤4:make 编译,生成可执行的二进制程序文件

步骤5:make install 安装,将编译好的文件复制到安装目录

[root@server ~]# yum  -y   install  gcc   make
[root@server ~]# rpm   -q   gcc
[root@server ~]# rpm   -q   make
[root@server ~]#

2.进行解压缩

[root@server ~]# tar  -xf  /root/tools.tar.gz  -C  /usr/local
[root@server ~]# ls   /usr/local/tools
inotify-tools-3.13.tar.gz

3.进行tar解包

[root@server ~]# tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/          
[root@server ~]# ls    /usr/local/
[root@server ~]# cd     /usr/local/inotify-tools-3.13/
[root@server ~]# ls

4.运行configure脚本

作用1:检测当前系统是否安装gcc

作用2:指定安装位置与功能

作用3:生成Makefile文件(制作程序的大纲,做菜的菜谱)

./configure --prefix=/opt/myrpm #指定安装位置,

./相对路径

[root@server ~]# cd   /usr/local/inotify-tools-3.13/
[root@server ~]# ./configure  --help   #查看帮助信息,大概浏览一下
[root@server ~]# ./configure  --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
常见的报错信息:gcc开发工具没有安装

checking for gcc... no

checking for cc... no

checking for cl.exe... no

configure: error: no acceptable C compiler found in $PATH

See `config.log' for more details.

5.进行make编译,变成可以执行的程序(放在内存中)

[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make

如果重新出现错误,重头再来

6.进行make install安装

生成以下文件为成功安装

[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make   install 
[root@server inotify-tools-3.13]# ls   /opt/
[root@server inotify-tools-3.13]# ls   /opt/myrpm/
[root@server inotify-tools-3.13]# ls   /opt/myrpm/bin/

七、数据同步

格式:rsync [选项...] 源目录 目标目录

rsync 是一个用于文件同步和传输的强大工具,
rsync -aavXSH --delete 则是一条命令,包含了多个选项,
用于执行高级的文件同步操作。下面是这个命令中各个选项的含义:
● -a: 表示归档模式,保留文件属性,递归同步子目录,保持文件权限、所有者信息、时间戳等。
● -a: 另一个 -a 选项,表示递归同步子目录。
● -v: 显示详细输出,使 rsync 在执行时显示更多信息。
● -X: 保持扩展属性。
● -S: 保持稀疏文件。
● -H: 保持硬链接文件。
● --delete: 在目标目录中删除源目录没有的文件,实现镜像同步。
综合起来,rsync -aavXSH --delete 命令的作用是在执行文件同步时,
保留所有文件属性,包括权限、所有者信息、时间戳等;同时保持扩展属性、稀疏文件、硬链接文件;
并且在目标目录中删除源目录没有的文件,实现目录之间的镜像同步。
这条命令适用于需要保持两个目录内容同步的场景,确保目标目录与源目录保持一致。
但请注意,在使用 rsync 进行文件同步时,务必谨慎操作,以免意外删除重要文件。
建议在执行此类操作前先做好备份

-r:递归,包括目录/子目录及所有文件
-l:保留符号链接文件
-p,-t:保留文件的权限,时间标记
-o,-g:保留文件的属主/属组标记
-D:保留设备文件及其他特殊文件

本地同步

[root@server ~]# mkdir   /mydir    /todir               
[root@server ~]# echo haha >  /mydir/h.txt      
[root@server ~]# rsync  -avX  --delete   /mydir/      /todir   #同步目录的内容
[root@server ~]# ls   /mydir/
[root@server ~]# ls   /todir/
[root@server ~]# touch   /todir/a.txt          
[root@server ~]# ls  /todir/
[root@server ~]# rsync  -avX  --delete  /mydir/      /todir
[root@server ~]# ls   /todir/
[root@server ~]# ls   /mydir/

远程同步(rsync+ssh)

• 与远程的 SSH目录保持同步

下行:rsync [...] user@host:远程目录 本地目录

上行:rsync [...] 本地目录 user@host:远程目录

虚拟机A的/mydir目录的内容与虚拟机B的/mnt进行同步

同步的目录没有会进行创建目录

虚拟机A:

[root@server ~]# rsync  -avX  --delete  /mydir/    root@192.168.88.2:/mnt
……..connecting (yes/no)? yes
root@192.168.88.2's password:         #输入密码

虚拟机B:

[root@server ~]# ls   /mnt

实时数据同步

虚拟机A的/mydir/目录的内容与虚拟机B的/mnt进行同步

实现ssh无密码验证(公钥与私钥)

虚拟机A

1.虚拟机A生成公钥与私钥

[root@server ~]# ssh-keygen         #一路回车
[root@server ~]# ls    /root/.ssh/
id_rsa(私钥)   id_rsa.pub(公钥)    known_hosts(记录曾经远程管理过的机器)

2.虚拟机A将公钥传递给虚拟机B

[root@server ~]# ssh-copy-id     root@192.168.88.2
[root@server ~]# rsync  -avX --delete   /mydir/    root@192.168.88.2:/mnt

监控目录内容变化工具

• 基本用法

inotifywait [选项] 目标文件夹

• 常用命令选项

-m,持续监控(捕获一个事件后不退出)

-r,递归监控、包括子目录及文件

-q,减少屏幕输出信息 -qq:不要屏幕输出

-e,指定监视的 modify、move、create、delete、attrib 等事件类别

inotifywait  监控目录内容变化
rsync  -avX  --delete   /mydir/    root@192.168.88.2:/mnt

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 操作系统中,可以通过 systemd 来管理服务的启动和停止。要将服务设置为自启动,可以按照以下步骤进行操作: 1. 编写服务的 systemd 配置文件:在 `/etc/systemd/system/` 目录下,新建一个以 `.service` 结尾的文件,文件名可以自定义,例如 `my-service.service`。 2. 编辑配置文件:在新建的服务配置文件中,可以设置服务的名称、描述、执行命令等相关信息。以下是一个示例配置文件: ``` [Unit] Description=My Service [Service] Type=simple ExecStart=/usr/bin/my-service Restart=always [Install] WantedBy=multi-user.target ``` 其中,`Description` 表示服务的描述信息,`Type` 表示服务运行的类型,这里设置为 `simple` 表示该服务是一个简单的命令行程序;`ExecStart` 表示服务要执行的命令;`Restart` 表示服务在停止后是否自动重启;`WantedBy` 表示服务要在哪些运行级别下启动。 3. 重新加载 systemd 配置文件:执行以下命令,重新加载 systemd 配置文件: ``` sudo systemctl daemon-reload ``` 4. 启动服务:执行以下命令,启动服务并设置为自启动: ``` sudo systemctl enable my-service.service sudo systemctl start my-service.service ``` 以上命令中,`enable` 表示将服务设置为自启动,`start` 表示启动服务。如果要停止服务,可以执行以下命令: ``` sudo systemctl stop my-service.service ``` 如果要查看服务的状态,可以执行以下命令: ``` sudo systemctl status my-service.service ``` 通过以上步骤,就可以将服务设置为自启动。需要注意的是,不同的 Linux 发行版可能对 systemd 的配置方式有所不同,具体还需根据发行版的文档进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值