【2023·CANN训练营第一季】Linux基础(五)

文章介绍了如何在Linux上配置ApacheHTTPServer,包括设置VirtualHost、DocumentRoot,以及启动服务。此外,还讲解了创建定时备份脚本的方法,使用crontab在每月第一天2:30自动备份/etc目录。最后,详细阐述了源码编译安装的步骤,包括configure、make和makeinstall过程。
摘要由CSDN通过智能技术生成

前言

这是我在昇腾CANN训练营的学习笔记

今天要讲的是关于Linux基础的一些操作命令

八、http 服务

1. http 服务

随着计算机与 Internet 技术的蓬勃发展,形形色色的 Web 站点成为直接面向用户的中坚力量。在各种网站服务器软件中,Apache HTTP Server 无疑是其中的佼佼者。

Apache 配置

server 上配置一个 web 站点 http://www.example.com

将文件 index.html 拷贝到 DocumentRoot 目录下

DocumentRoot 目录为/web

[root@server ~]$ yum -y install httpd 
[root@server ~]$ mkdir /web
[root@server ~]$ chcon -t httpd_sys_content_t /web
[root@server ~]$ vim /etc/httpd/conf.d/www.conf
修改www.conf配置文件
<VirtualHost *:80>
  DocumentRoot "/web"
  ServerName www.example.com 
</VirtualHost>
<Directory "/web"> 
  AllowOverride None
  Require all granted 
</Directory>
启动httpd服务
[root@server ~]$ systemctl enable httpd
[root@server ~]$ systemctl start httpd
[root@server ~]$ firewall-cmd --permanent --add-service=http 
[root@server ~]$ firewall-cmd --reload

九、脚本

1. 创建定时备份脚本

server 上编写/root/filebk.sh 脚本

要求

备份并压缩/etc目录的所有内容,存放到/root/bak目录,存放的形式2019-06-10_etc.tar.gz

#!/bin/bashDate=$(date +%F)
BKDir=/root/bak
[ ! -d $BKDir ] && mkdir -p $BKDir
cd /
tar czf $BKDir/${Date}_etc.tar.gz etc
要求

每月第一天 2:30自动完成备份

[root@server ~]$ crontab -e
30 2 1 * * /root/filebk.sh &>/dev/null

2. 创建脚本判断文件是否存在

server 上创建判断备份目录是否存在脚本/root/backdir.sh

  • 运行脚本时带的参数是一个已经存在的目录

    /root/backdir.sh /opt,则输出:

    backup directory already exist.

    不做任何操作

#!/bin/bashif [ $# -ne 1 ] ;then
  echo “Usage:/root/backdir.sh dir” 
  exit
fi
  • 运行脚本时带中参数是一个不存在的目录

    /root/backdir.sh /aaa,则输出:

    backup directory is not exist,will make it.

    创建该目录

if [ -d $1 ];then
  echo “backup directory already exist.”
  • 运行脚本时如果参数错误则输出

    Usage:/root/backdir.sh dir

else
  echo “backup directory is not exist,will make it.” 
  mkdir -p $1
fi

有关编写脚本的详细教程和更多知识,留意明天的Shell脚本和编程笔记吧~

十、源码编译安装

Step By Step 一步步安装

# 0. 解压源码包
tar -xvf 源码.tar.xz
cd ./源码
# 1. Configure 配置
./configure --prefix=[路径] # 不指定路径默认安装到/usr/local
# 2. Make 编译
make
# 3. Install 安装
make install
# 如果安装不成功,重新安装需要先清理编译的文件
make clean

One Command 一步到位

./configure && make && make install
  • configure 配置

    这一步是配置,一般用来生成 Makefile,为下一步的编译做准备,可以通过在configure 后加上参数来对安装进行控制

    ./configure --prefix=[路径]
    # --prefix  指定安装路径
    # --sys-config  指定配置文件路径
    # --help  查看帮助
    

    程序各部分安装路径

    • 执行文件 => [路径]/bin
    • 资源文件 => [路径]/share
    • 库文件 => [路径]/lib
    • 配置文件 => [路径]/etc

    默认路径为/usr/local

    *注意: *如果不配置--prefix选项,安装后比较凌乱

  • make编译

    这一步就是编译,大多数的源代码包都经过这一步进行编译 (有些perlpython编写的软件需要调用perlpython来进行编译)

    可能遇到的错误:make *** 没有指明目标并且找不到 makefile, 停止。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make

  • make install安装

    这条命令来进行安装

    (有些软件需要先运行make checkmake test来进行一些测试) 指定文件安装位置:

    make install PREFIX=[路径] install
    # 指定安装路径
    # prefix默认是/usr/local
    # make install 和 make install prefix=/usr/local 等价
    make install DESTDIR=[路径] install
    # 指定程序所有文件存放的位置(防止污染系统目录)
    # 安装到临时目录,该目录不是运行包的位置
    # 没有该目录则自动创建
    make install prefix=[路径2] destdir=[路径1] sysconfdir=[路径3]
    # 编译的文件会放在 [路径1]/[路径2]/ 下
    # 执行文件 => [路径1]/[路径2]/bin
    # 库文件 => [路径1]/[路径2]/lib 
    # 头文件 => [路径1]/[路径2]/include
    # 配置文件 => [路径1]/[路径3]
    

    注意:此步骤不是必须的,因为在上一步make命令中就已经编译出了可执行的文件了,此时的make install只是为了安装到系统中常用的位置上,因为从那个目录下运行程序有些不便

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值