linux操作系统 这个操作系统和苹果系统差不多,菜单栏在上面。 linux为什么每打开一个文件夹就要新创建 一下窗口? 这是因为系统默认设置的,那我们应该怎么设置? 打开一个文件夹,edit-->preferences-->Behavior 把 Always open in borwser windows 打上勾,即可 就不会打开多个文件夹了。 那么我们的菜单在哪里?Applications 犹如windows的开始菜单。 那么我们如何来打开linux控制端呢? CLI Applications->system->terminal(use the command line) 打开了命令行模式 places->connect to server 这里可以打开连接软件 连接远程机器、共享等 我们使用的shell一般都是bash 提示符号:$ 、# 这两个符号提示 $ 这个符号是普通用户 # 这是root超级管理员 hostname 查看主机名 exit 退出 clear 清屏 ls 列出所有的所有的文件夹 list缩写 uname 底层 返回所在的操作系统 -r 内核版本号 -a 所有信息 --all 如何通过命令行打开火狐 firefox ctrl+c 可以终止当前进程 firefox & 当加上&这个符号的话,则此进程在后台运行。不受当前终端影响。 tab可以可以自动补全单词。例如我们输入 uname 这个命令 uname 当输入成这样的时候,按tab这个键补全。 tab 可以自动补全文件名 un 当输入这个un的时候,按两下tab的时候 可以把un 开头的命令全部列出来。供选择。 可以通过上下键来选择曾经执行过的命令。也可以通过history来查看。 ctrl+r可以在历史记录中查看以前输入过的命令。 看看通配符: * 匹配0个或多个任意字符 ? 匹配0个或1个字符 [0-9] 匹配0-9的文件 [a-z] 匹配a-z的文件 [^a-z] 匹配不是a-z的文件 ls Do[a-z]ument 这个命令 如何切换用户 su su - 这里这个横杠,则创建一个全新的环境来运行,会初始化当前用户的各种环境变量 su root passowrd song 即可切换用户 sudo 让普通用户拥有执行超级管理员权限。 id 显示当前用户的信息 passwd 修改用户密码 pwd 显示当前所在的文件目录. & 在命令后边加一个&后,就是在后台运行 。 jobs 可以查看 在后台运行的命令。 sleep 5000 等待5000毫秒后再执行。 通过 ctrl+c 可以终止当前命令。 bg 2 通过bg可以继续让命令在后台运行 。 fg 2 可以把后台作业在前台运行 。 linux文件基本操作 1.如何复制文件或目录 cp 源文件 目标文件 -r 递归复制整个文件夹。 -v 显示复制的详细信息(可以知道复制的进程) cp Document Document2 把document这个文件下的文件复制到document2这个目录下。 cp -r Document Document2 复制Document这个目录复制到Document2这个目录。 当前目录,复制,则是重命名。 rm 删除一个文件 rm Document/a.txt 删除这个目录 rm -r Document 删除文件夹以及这里的所有文件 rm -ri Document 交互式的删除文件,则会提问你,这是否要删除. mkdir user 创建目录 mkdir -p /user/php/swoole 连续创建目录 rm -r 删除非空目录也使用这个命令。 第5讲 系统目录 proc 实时文件 这个文件夹不存在硬盘里,而只是保存在内存中 cd proc 回车 cat cpuinfo 可以查看cpu运行的状态 。 cat meminfo 查看内存大小 系统常用命令 date 显示当前系统时间 date date -u date +%Y--%m--%d date -s "16:20:20" 修改当前时间 cannot set date: Operation not permitted 提示没有操作权限e 当然这必须是超级管理员才可以的。 cal 显示一个日历 uptime 查看当前系统运行时间。 输出、查看命令 echo 用于显示输入内容 cat 用于显示文件内容 more 用于翻页显示文件内容(只能向下翻页) less 用于翻页显示文件内容(可以上下翻页) head 用于显示文件头几行(默认10行) head -n 则返回指定的条数 tail 用于显示文件后几行(默认显示10行) -n 指定显示的条数 -f 追踪(用于日志显示) 查看硬件信息 lspci 用于查看pci设备 -v 查看详细信息 lsusb用于查看usb设备 -v查看详细信息 lsmod 用于查看加载模块(驱动) 关机、重启 shutdown -h 关闭计算机 -r 重新启动 立即关机:shutdown -h now 10分钟后关机: shutdown -h +10 定时关机: shutdown -h 23:20 立即重新启动 shutdown -r now poweroff 立即关闭计算机 reboot 重新启动 归档、压缩 zip (这里不使用rar因为有版权限制。)这里我们采用 zip 命令来完成. zip test.zip myfile unzip test.zip 命令tar用于归档文件 tar -cvf etc.tar /etc 创建了一个归档文件,但并不会对这个文件进行压缩。只是合并在一起。 tar -xvf etc.tar 释放这个压缩文件。 把这个tar文件释放出来. tar -cvzf etc.tar.gz /etc 归档并压缩 ,命名的文件必须是以.tar.gz这个后缀为名。 命令du 表示查看某个目录或某个文件所占用空间的大小 du -sh 文件名. 查看文件大小。 du 命令默认以kb为单位 -m 以兆为单位 -h 表示系统自动调节单位 是兆 或 G -k 以kb为单位 和默认的是一样的 file 文件名 查看文件的信息。 查找: locate keyword 此命令需要预先建立数据库,数据库默认每天更新一次。 可以使用updatedb命令手工建立、更新数据库 find 查找位置、查找参数 find . -name *keyword* .代表当前目录 在当前目录中查找 文件名 包含 keyword 的文件。 find / -name *.conf /代表根目录 找到以conf结尾的全部文件 find / -perm 777 -perm(权限) 查找文件777这个文件。 find / -type d 查找文件类型是目录的文件。 find . -name "a*" -exec ls -l {} \; 注意 : -exec {} \; 这是固定格式。 -perm 权限 -name 名称 -user 基于用户 -group 类型 -size 大小 查看磁盘或目录 df 用户查看已挂载磁盘的总容量,使用容量、剩余容量 可以不加任何参数 默认以kb为单位返回。 df常用的选项有 -i -h -k -m -h 表示使用合适的单位显示 例如 G VI VIM 文本编辑器 vim命令 打开文件 :q 可以退出vim vi 拥有三种模式 A:命令模式(常规模式) B: 插入模式 在命令模式,按i 可以变成插入模式。 I a A O o R r 都可以进入编辑模式 C: ex模式 在命令模式按一下: 即可进入ex模式。 在插入模式或ex模式,按esc都返回命令模式。 命令模式下的一些常用命令: i 光标前插入文本 o 当前行下面插入新行。 dd 删除整行。 yy 将当前行的放入缓冲区 n+yy 复制多行 p 把缓冲区的内容粘贴出来。 u 撤销上一个操作。 r 替换当前字符。 / 查找关键字。 进入ex模式保存。退出、强制退出、 :w 保存当前文件 :q 退出 :q! 强制退出、不保存 :x 保存并退出 :set number 显示行号 :! 执行一个系统命令。比如 ls who pwd :sh 切换到shell窗口,那我们如何再返回去呢? ctrl+d 返回vim gg 移动到首行 G 移动到尾行 0 到行首 shift+4 到行尾 命令模式 /word 向光标之后查找一个字符串 word ?word 向光标之前查找一个字符串 word 按 n 向前搜索 :n1,n2s/word1/word2/g 在 n1到n2行 把word1 替换到 word2 不加g只替换每一行的第一个word1 :1,$s/word1/word2/g 全文替换 分区的概念: /dev/sda /dev/hda sd 和hd 这是根据硬件来定义的,如果硬盘是IDE 那么则是hd 如果是usb、串口的那么则是sd 要查看sda 则要进入 cd /dev/这个目录。 ls /dev/sda* 则这样会查看 到4个 MBR分区机制。 支持32位和64位系统。 支持分区数量有限。 只支持不超过2T的硬盘。(有第三方解决方法) MBR分区占用512个字节。 MBR 最多可以创建4个主分区 扩展分区必须是占用一个主分区 逻辑分区是创建在扩展分区里的。 63个IDE 15个SCSI分区。 GPT 一个较新的分区机制。解决MBR的一些限制。 但GPT要求硬件支持一些新 技术UEFI。 我们linux自带的fdisk fdisk只有具有超级管理员用户的权限才能运行。具有一定的毁坏性。 ,可以直接使用root用户来登录。或sudo 、su 超级管理员来使用。 fdisk -l 显示硬盘列表. 这个操作,必须是在超级管理员下才可以使用。 # fdisk /dev/sda 显示硬盘信息 Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition 添加一个新的分区 o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id 修改分区ID u change display/entry units v verify the partition table w write table to disk and exit 保存硬盘信息 x extra functionality (experts only) 当我们按下n 的时候,会提示 command action e extended 拓展分区 p primary partition(1-4) 主分区 我们这里按一下p 创建主分区. +2G 就是创建一个2G大小的分区。 拓展分区是不能使用的。要使用的话,必须在拓展分区上建立逻辑分区, 那我们如何来创建逻辑分区? n l logical (5 or over) p primary partition(1-4) l +2G 回车,即可创建一个逻辑分区。 t Hex code(type L to list codes) L partprobe 更新分区表. 有时候分区信息会不显示。 cat /proc/partitions 显示分区信息 文件系统:这里说的文件系统指是什么呢? 创建文件系统又称之为格式化。 没有文件系统的设备被称之为裸(raw)设备 常见的文件设备有:fat32 ntfs ext2 ext3 ext4 xfs hfs 等。 windows 常见的文件系统格式是NTFS Linux 是Ext3 Ext4 如何在磁盘上创建文件系统呢? 使用 mke2fs -t ext4 /dev/sda1 这样就创建完毕了。 mke2fs -t 是标准格式 ext4 是文件系统、 /dev/sda1 是硬盘。 -c 文件系统检测是否有坏损块。 -L 指定卷表 -j 建立日志信息(ext3、ext4 默认带日志) dumpe2fs /dev/sda1 显示硬盘信息。 fsck用于检查并经济关系是损坏的文件系统。 系统默认创建:lost+found每一个目录都会有一个这样的文件夹。 如何获取linux的帮助 -h 或使用--help ls --help 查看ls所有的参数. man是linux最常用的帮助命令. man ls 会显示出这个ls都有哪些功能,介绍 使用:q 退出. man -k pass 搜索找含有pass的命令 info 和man 类似 info ls 显示更详细的帮助文件。 用户和组 每一个用户都有一个shell root ID为0,则root用户 系统用户 为某些服务来创建 普通用户 id 显示此用户的信息。 passwd 修改密码 切换到root用户下:(这是三个文件) 需要使用cat命令来查看 /etc/passwd 保存用户信息 /etc/shadow 保存密码 /etc/group 保存组信息 cat /etc/passwd 用于查看用户信息 who am i 当前的用户 who 当前登录到此系统的用户 w 显示用户,并显示当前用户在做什么。 添加用户 : useradd nash_su 创建一个nash_su的用户 touch file 新建一个文件夹 useradd 支持以下的参数: -d 家目录 -s 登录shell -M 表示不建立家目录 -u userID -g 主族 -G 附属组(最多31个,多个可以使用","分隔) useradd -u 666 -G nash_su testuser2 passwd testuser1 回车 出现 new password: 这里输入新密码 Retype new password: 确认密码 passwd:all authentication tokens updated successfully 修改密码成功 successfully. 修改用户: usermod 参数 用户名 usermod -l newtestuser testuser 修改用户名 usermod -u 777 testuser 把用户ID改成777 -d 家目录 -s 登录shell -u userID -g 主族 -G 附属组(最多31个,多个可以使用","分隔) 删除用户 userdel testuser (删除用户,但不删除家目录) userdel -r testuser(删除用户并删除家目录) 组: groupadd nash_su 添加nash_su这个组 groupmod -n newname oldname 修改组名 groupmod -g newGid oldGid 修改组ID 例如:groupmod -n nash_su22 nash_su 将nash_su 更改为 nash_su22 groupdel nash_su 删除nash_su 这个组. linux 权限操作: linux 在三种权限 r(读) w(写入) x(执行) 对于目录来说,必须有x(执行)这个权限 d文件夹 -文件 l引用地址 ls -r 显示 drwxr-xr-x. 2 root root 4096 Jun 24 02:00 xinetd.d drwxr-xr-x. 2 root root 4096 Jun 24 01:52 xml drwxr-xr-x. 5 root root 4096 Jun 24 01:56 yum lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc0.d -> rc.d/rc0.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc1.d -> rc.d/rc1.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc2.d -> rc.d/rc2.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc3.d -> rc.d/rc3.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc4.d -> rc.d/rc4.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc5.d -> rc.d/rc5.d lrwxrwxrwx. 1 root root 10 Jun 24 01:54 rc6.d -> rc.d/rc6.d drwxr-xr-x. 10 root root 4096 Jun 23 18:06 rc.d chown可以修改这个文件所属关系. chown nash_su new_file 把new_file文件夹所属权修改成nash_su(这只是将new_file 这个文件夹的权限修改了,但它的子目录没有被修改) chown -R nash_su new_file 这里加上了大R 就可以把它的子类也修改成nash_su。 chgrp修改组 。 chgrp nash_su new_file chgrp -R nash_su new_file 修改权限 chmod u、g、o 分别代表 用户、组、其他 +、- 指是增加还是删除权限 chmod u+w 文件夹名 那么只会将此文件夹加上w权限,而它的子目录不会被添加。怎么执行呢? 加 R chmod -R u+w 文件夹名 给u加上写的权限 chmod -R u-w 文件夹名 把u的写权限全部去掉 drwxr-xr-x. lrwxrwxrwx. 除去第一个字母,后边是依次是 用户 、组、其他 r读 w写 x执行 每一组都是三个字母。 chmod -R go+w 组和其他都加上写的权限 使用数字的方式修改权限 。 r=4 w=2 x=1 r+x=5 r+w=6 rwx=7 chmod -R 777 文件夹名 修改成777 都可以修改、执行、读取 ls -ld 扩展权限 umask 对于普通用户来说 002 root用户是022 目录创建默认是 777-umask 文件创建默认是 666-umask 如何判断创建这个新文件的权限是什么,这还取决于当前登录的用户是什么?是否具有超级管理员的权限. 直接在控制端输入: umask 可以打印出当前umask的值。 linux网络配置 IPV4 编址 32位长 一个IPV4分为两个部分 网络部分、主机部分 那么我如何知道哪个是网络部分。这里就要借助于子网掩 码来确定网络部分。 ARP网络地址解析协议。 网关:就是为了跨网访问使用的。 IPV6 编址 128位长 以太网连接 ifconfig -a 显示网卡信息 ifconfig eth0 直接显示这个接口的网卡信息. ifup eth0 启用eth0这个网卡 ifdown eth0 禁用eth0这个网卡. 使用setup命令来配置网卡: network configuration 网卡的配置信息: /etc/sysconfig/newwork-scripts/fcfg-eth0 如果需要编辑这个文件,可以使用vi 或 vim 来编辑。并保存. DNS配置文件 /etc/resolv.conf 主机名配置: /etc/sysconfig/newwork这个文件。 网络测试命令: ping 192.168.1.1 ping www.baidu.com 如果需要停止的话,直接ctrl+c取消即可。 测试DNS解析 host 域名 host www.baidu.com 显示路由表 ip route 追踪到达目标地址的网络路径 traceroute www.baidu.com mtr进行网络质量测试: mtr www.cimie.com 修改主机名 : hostname 直接显示主机名 hostname mycomputer 实时修改,当重新启动后就没有了,不会保存。 如果要永久保存这个主机名,还是要修改 /etc/sysconfig/ network 这个文件。 管道及重定向 stdin 标准输入 0 键盘 stdout 标准输出 1 终端 stderr 标准错误 2 终端 命令是通过stdin接收参数或数据,通过stdout 和stderr 输出信息。 重定向 关键字 > 重定向到文件 覆盖 echo "xxxxx" > outfile >> 重定向到文件,追加 echo "SONG" >> outfile (把"SONG"追加到outfile 文件) 2> 将标准错误 2>&1 将标准错误和标准输出结合在一起 < 小于号做为标准输入到文件并搜索出keyword显示出来 grep keyword < /etc/passwd 管道 | 竖线。 通常是用来组合不同的命令。 linux 文本处理 cat 查看文件内容 more less head tail 基于关键字搜索文本 grep 正则表达式 -i 搜索时不区分大小写 -n 显示结果所在行。 -v 输出不带关键字的行。 -Ax 输出的时候包含结果所在行之后的指定行数. -Bx 输出的时候包含结果所在行之前的指定行数 cut 基于列处理文本内容 -d 指定分割字符(默认分割符:tab) -f 指定输出列号 -c 基于字符进行切割 cut -d: -fl /etc/passwd cut -c2-6 /etc/passwd wc用以统计文本信息 wc 文本文件 -l 只统计行数 -w 统计单词数量 -c 统计字节数 -m 统计字符数 sort 排序文本 -r 倒序排序 -n 基于数字进行排序 产出重复行 unlq 删除重复行(默认只能删除相邻的重复行) cat filename | unlq sort -u 也能删除重复行。 diff比较两个文件的区别。 -i 忽略大小写 -b 忽略空格数量的改变 -u 统一显示比较显示信息(两个文件不同) diff -u file1 file2 > aa.txt 将两上不同的文件比较后,重定向到aa.txt 这个文件。 tr 删除关键字 tr -u "apple" "" <aa.txt 搜索替换 sed 搜索替换。 RPM linux软件管理 rpm -i software.rpm 安装 rpm -e software 删除 rpm -U software-new.rpm 升级 rpm支持通过http/ftp协议安装软件 rpm -ivh http://www.lllll.com/software.rpm -v 显示相关信息 -h 显示进度条 qip 查看rpm 文件 -k 验证软件是否被修改。 YUM 仓库 进行软件安装和测试。 ----------------------------------------- linux系统服务 service 是运行在操作后台的一个或多个程序,没有图形界面。 服务通常是不中断的,随时接收请求、提供服务。 例如:linux (apache 、nginx) 服务器最多的就是网络服务。 ftp www 邮件 网游 等服务。 system V -0 关机 -3 多用户模式 -5 图形界面 -6 重新启动 不同的用户启动的服务器服务是不一样的。 对应有启动和不启动服务。 system V SCRIPT systemV启动脚本 service 服务器名 start/stop/restart/status service network start 开启网卡 service network stop 关闭网卡 /etc/rc.d init.d //显示系统所有的服务。 ls /etc/init.d/ ls 显示文件,当显示的颜色为绿色的时候,表示可执行文件 runlevel 返回 5 图形界面 chkconfig 设置服务开机是否启动 。 chkconfig 服务名 on 开机启动 chkconfig 服务名 off 开机不启动 chkconfig --list 把所有的服务信息列出来 cent os 6默认不会安装xinetd 需要手工安装 yum install xinetd chkconfig xinetd off xinetd控制的服务配置文件保存在/etc/xinetd.d/下面。 日志都是以一个纯文本的文件存在的。 系统的运行状态、错误信息.可以进行分析 、保存历史记录。 Linux系统一般会保存以下类型的日志: A:内核信息 B:服务信息 C:应用程序信息 linux系统中实现日志功能的服务称之为 syslog 在cent os6以上,称之为 rsyslog service rsyslog status 查看服务的状态 /var/log/ 默认查看日志信息(保存在这个目录中) tail messages 通过这个命令来显示日志信息 tail -f messages (实时监控日志信息)这个命令就是可以实时检测文件日志的变化。 通过 ctrl+c 可以退出 rsyslog配置文件为:/etc/rsyslog.conf styslog配置 cd /etc/ less rsyslog.conf 打这个文件,使用vim 进行修改 如果需要将日志发送到一个统一的日志服务器,那么需要配置: *.* @192.168.1.1 使用(UDP)协议发送 *.* @@192.168.1.1 使用TCP/IP协议发送到这台服务器 DNS服务: 域名解析 要使用域名的话,必须是要有DNS的 gethostbyname() 使用这个函数 /etc/hosts 保存IP地址到域名的一个对应。 /etc/newworks 在查DNS服务器的时候,一般都会去查hosts这个文件,然后再去查DNS 我们可以通过 /etc/nsswitch.com 控制DNS查询顺序 host www.cimie.com 输出的信息较为简单。 dig www.cimie.com 输出的信息更详细 dig +trace www.cimie.com 查看域名解析全过程 DNS的信息通过一个叫资源记录(RR Resource Record)的格式进行保存, 常用属性有: -NAME -CLASS -TYPE -RDATA CNAME 叫别名 WWW MX 邮箱 A IPV4 IP地址 AAAA IPV6 IP地址 一个zone文件保存 dig -t mx cimie.com dig -c www.cimie.com dig -t soa cimie.com 现使用最为广泛的DNS服务器软件是BIND (支持操作系统:linux unix mac windows) DNS使用53 953这两个端口 yum install -y bind bind-chroot bind-utlis bind DNS服务器软件 yum install -y bind yum install -y bind-chroot yum install -y bind-utils BIND主配置文件保存在两个位置: /etc/named.conf -bind服务器配置文件 /var/named -zone文件 如果安装了bind-chroot ,bind会被封装到一个伪根目录内,配置文件的位置变为: /var/named/chroot/etc/named.conf /varnamed/chroot/var/named 所有的文件保存在 /usr/share/doc/bind9.8.2/sample 这个目录下两个文件复制到相对应的目录 cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc/ cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/ 1. 在配置文件(/var/named/chroot/etc/named.conf)下添加一个zone的定义 zone"cimie.com"{ type master; file"cimie.com"; 这里和文件名对应起来 }; //和上面的那个cimie.com 和上面的那file文件属性对应起来。 /var/named/chroot/var/named/cimie.com.zone www IN A 192.168.1.111 mail IN A 192.168.1.222 IN MX mail.cimie.com 邮箱的配置应该放最前面。 1.启动bind 服务或刷新配置 service named start service named reload named-checkconf /var/named/chroot/etc/named.conf named-checkzone /cimie.com.zone 域从服务器 在主服务器中配置,从服务器抓取主服务器的配置。 slave服务器,当主服务器有问题时,从服务器接替主服务器,继续服务。 从服务器的zone配置文件保存在/var/named/slaves 使用host 或dig命令查看服务 web服务的一些基本概念 web服务分为服务端和客户端 web服务程序 IIS Apache Nginx Lighttpd 有各自的优缺点。 目前linux使用多的是 Nginx。如何搭建服务端。HTTP使用TCP协议, 默认使用80端口 200 正常,请求成功 301 永久移动,一般用于域名重定向 304 未修改 一般用于缓存 401 禁止访问,未授权 403 禁止访问 没有权限 404 未找到资源 500 服务器错误。 linux apache基本配置 apache 在linux下基本都默认支持。 动态的、预创建进程。 动态模块加载 虚拟主机 SSL主机 (金融网站) centOS6 默认自带APACHE版本2.2 使用最多的版本:(2.0、1.9) 安装apache: yum install -y httpd service httpd start 启动apache服务 http:80 https:443 apache 主配置文件: /etc/httpd/conf/httpd.conf 模块配置文件: /etc/httpd/conf.d/ 默认日志文件: /var/log/httpd/ apache 默认自动启动,不需要配置 默认网站根目录: /var/www/html/目录下面 apache配置选项: /etc/httpd/conf/httpd.conf 常用配置如下: KeepAlive off 是否打开持续链接 MaxKeepAliveRequests 100 KeepAliveTimeout 15 保活功能15秒 Listen 80 默认监听80端口 ,如果服务器有多个IP地址,那么可以使用 Listen 192.168.1.1:80 这样监听某个IP地址 LoadModule 加载模块 User apache Group apache ServerAdmin root@cimie.com 管理员邮箱 ServerName www.cimie.com 如果有报错的话,把服务器的名称定义好。 DocumentRoot "/var/www/html" <Directory "/var/www/html"> </Directory> DirectoryIndex index.html index.html.var 默认的首页的文件名(从左到右,优先级)。 配置好配置文件后: /etc/init.d/httpd restart 重新启动httpd服务 service httpd configtest httpd -t apache日志记录: /var/log/httpd/ 这个目录下 可以使用ls查看文件夹下面的文件 tail access_log 记录了服务器的访问。 HTTP认证(打开就提示用户名和密码) apache基于用户和密码 建立了两个密码文件 htpasswd -cm /etc/httpd/.htpasswd linuxcast htpasswd -m /etc/httpd/.htpasswd nash_su <Directory "/var/www/html"> AuthName "name" #名称随便写 AuthType basic AuthUserFile /etc/httpd/.htpasswd Require valid-user </Directory> 虚拟主机: 虚拟主机分为两种: 1.基于IP的虚拟主机(IP需要付费) 2.基于域名的主机 (常用) 将不同的域名解析到同一个IP地址上。 <VirtualHost *:80> ServerName www.cimie.com ServerAdmin webmaster@cimie.com DocumentRoot /var/www/cimie </VirtualHost> <VirtualHost *:80> ServerName www.info-cma.org ServerAdmin webmaster@info-cma.org DocumentRoot /var/www/info-cma </VirtualHost> chown apache cimie chown apache info-cma 让apache这个用户对cimie和info-cma有访问权限。 然后每个文件夹中,建立文件, 配置完后,再重新启动 server httpd restart 一般使用基于域名的虚拟主机,但是如果需要搭建SSL的虚拟主机,则必须使用IP虚拟主机。 邮件服务: MUA 用户收发邮件代理。 IMAP(在本地操作和服务器同步) 和 POP3两种协议。 MDA负责处理垃圾邮件和病毒扫描 Mail Dellver Agent procmall 使用最多的是这个程序负责邮件病毒扫描、垃圾邮件。 MRA 收邮件使用。 FTP 服务器 vsftpd yum install -y vsftpd service vsftpd start 启动ftp服务 /etc/vsftpd/ 都是保存在这个目录下 /etc/vsftpd/vsftpd.conf 主配置文件 /etc/vsftpd/vsftpd.conf /etc/vsftpd/ftpusers 黑名单 /etc/vsftpd/user_list 控制名单,由配置文件控制是白名单还是黑名单。 /var/ftp ftp共享目录 /var/ftp/xferlog 日志信息 ftp用户分类:正常用户(系统用户) 匿名用户(anonymous) 虚拟用户(ftp-only) 可以单独设置不允许匿名用户登录: 打开/etc/vsftpd/vsftpd.conf 配置文件, # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES 把anonymous_enable=YES 改成anonymous_enable=NO 保存退出即可 命令行的软件 yum install -y lftp 安装软件 lftp 127.0.0.1 默认是以匿名参数登录 lftp -u song 127.0.0.1 通过-u 指定用户名和密码登录。 从服务器下载一个文件: lftp -u song 127.0.0.1 cd pub get song.tar.gz 上传一个文件 lftp -u song 127.0.0.1 cd pub put song.tar.gz 只要登录的用户对某个文件具有写权限就可以进行上传或下载。 anonymous_enable=YES 开启匿名用户 anon_upload_enable=YES 开启上传功能。 anon_mkdir_write_enable=YES 打开匿名用户创建文件夹功能 chmod 777 /var/ftp/pub DHCP服务器 进程:/usr/sbin/dhcpd 脚本: /etc/init.d/dhcpd 1.安装: yum install dhcp 2.获取配置文件 cp /user/share/doc/dhcp-version/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 3.按需要配置,并启动服务 apache 专题课程 1. 如何安装apache yum install -y apache 叫:httpd rpm -qi httpd 查看htppd的型号和版本 Version : 2.2.15 yum list | grep httpd 查看相关httpd的一些服务。 httpd.i686 2.2.15-30.el6.centos @updates httpd-tools.i686 2.2.15-30.el6.centos @updates httpd-devel.i686 2.2.15-30.el6.centos updates httpd-manual.noarch 2.2.15-30.el6.centos 一些apache的软件 2. 开启服务: service httpd start service httpd restart service httpd graceful 优雅的重启 在所有用户访问完毕后再重启,不会出现网站打不开的情况。 chkconfig httpd on 开机开启. 3. 看看apache配置文件/etc/httpd/conf/httpd.conf /etc/httpd/conf.d apache的模块文件夹 /etc/httpd/run apache主进程的PID cat /etc/httpd/run/httpd.pid 根目录在: /var/www/ 默认网站:/var/www/html/ 当安装apache服务后,系统会自动加上一个apache的用户,通过这个命令可以查看: cat etc/passwd | grep apache apache专题二 80默认端口 加密端口:443 查看apache进程: ps aux |grep httpd 启动了9个进程,1个主进程(root启动的) 8个子进程(有多个,具体有多少,是根据配置文件来说的) netstat -tupln | grep 80 可以看到是httpd apache模块化: httpd -M 查看模块 httpd -l 查看静态编译程序模块. yum install -y httpd-* 安装所有apache所有的服务。 时间较长,但可以全部安装 apache MPM 负责网络监听 linux profork.c httpd -V 显示默认使用的mpm的类型 Profork 通过子进程去处理请求,并会根据请求数量动态生成更多的子进进程。 Worker worker线程化,多进程的MPM,每个进程可以生成多个线程,每个线程可以处理一个请求。 apache 进程三 MPM watch -n 1 'ps uax | grep httpd' 监听进程,时时显示 查看MPM profork /etc/httpd/conf/httpd.conf <IfModule prefork.c> StartServers 20 <IfModule> 适当的调整,在硬件和cpu允许的情况下,调整到最好。 apache 第四课 /etc/httpd/conf/httpd.conf 配置文件 先看看如何配置第一部分: ServerTokens OS 控制返回页角的详细信息 Major Full ServerRoot "/etc/httpd" 服务主目录 Timeout 60 超时时间 keepAlive off 保持链接(默认off) User apache Group apache DirectoryIndex index.html defaultType text/plan 默认返回纯文本的。 不同的服务器,是不同的链接方式 SSH(Secure SHell)常见远程CLI管理协议 service sshd status 服务器默认是开启的 客户端如何链接: ssh root@192.16.1.1 ssh root@192.168.1.1 who 这样的登录,只返回这个命令的结果,就直接退出了。 scp 用于使用ssh在两台电脑传输文件 scp 源文件 目标地址 scp -r myxiaosong.tar.gz root@192.168.72.1:/root/