1. 源码安装
源码安装:
第一步:前置条件:安装编译工具
yum install gcc gcc-c++
第二步:下载源码包
cd /usr/local/src/
wget http://…tar.gz
(源码包建议保存位置:/usr/local/src/)
第三步:安装源码包
先解压 tar -zxf 源码包
再进入源码包
第四步:编译安装源码包
(1)./configure --prefix=/usr/local/apache(在local目录下)
检验没通过继续下载依赖,安装,解压
(检查编译环境,指定安装路径,指定依赖关系的安装目录: 解决依赖关系)
禁用和启用功能模块
makefile
第五步:执行编译make,将源码包编译为机器码
make
将源码编译成机器码,如果有禁用和启用功能模块,在这个阶段编译
第六步:make install
根据makefile文件中的指定的路径进行安装
第七步:启动服务
进入 /usr/local/httpd/bin/下 启动
输入./apachectl start
可以输入ps -ef | grep httpd 进行查看
再输入iptables -F关闭防火墙, 就完成了
最后在网页上输入自己的IP,进入/usr/local/httpd/htdocs/,可以编写index.html文件
安装tomcat
1.安装java环境jdk
(1)创建安装目录/usr/local/java
(2)把压缩包解压到java底下:tar -zxf 压缩包 -C /usr/local/java 并改名为jdk8
(3)配置环境变量 vim/etc/profile
export JAVA_HOME=/usr/local/java/jdk8
expoort PATH=$PATH: $JAVA: _HOME/bin
(4)重启环境变量:source /etc/profile
(5)检查java环境有没有安好:java -version,如果出现版本,就说明安装好了
2.安装tomcat
(1)创建安装目录 /usr/local/tomcat
(2)将压缩包解压到/usr/local/tomcat底下并改名为tomcat8
(3)启动服务cd /usr/local/tomcat/tomcat8/bin
执行开始脚本:sh startup.sh
可以再查看一下进程:ps -ef |grep tomcat
(4)关闭防火墙 systemctl stop firewalld(cent7)
service iptables stop (CentOS6)
在网页上输入ip地址和端口:192.168.1.12:8080
[root@localhost ~]mv jdk1.8.0_161 jdk8 #重命名
[root@localhost jdk8]# vim /etc/profile #写入如下两行
export JAVA_HOME=/usr/local/java/jdk8
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost jdk8]# source /etc/profile
[root@localhost ~]# tar -zxf apache-tomcat-8.0.36.tar.gz #解压
[root@localhost ~]# mv apache-tomcat-8.0.36 /usr/local/tomcat/
[root@localhost ~]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
apache-tomcat-8.0.36
[root@localhost tomcat]# cd apache-tomcat-8.0.36/
[root@localhost apache-tomcat-8.0.36]# ls
bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
[root@localhost apache-tomcat-8.0.36]# cd bin/
[root@localhost bin]# ls
bootstrap.jar commons-daemon-native.tar.gz digest.sh startup.bat tool-wrapper.sh
catalina.bat configtest.bat setclasspath.bat startup.sh version.bat
catalina.sh configtest.sh setclasspath.sh tomcat-juli.jar version.sh
catalina-tasks.xml daemon.sh shutdown.bat tomcat-native.tar.gz
commons-daemon.jar digest.bat shutdown.sh tool-wrapper.bat
[root@localhost bin]# ./startup.sh #启动
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.0.36
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.0.36
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.0.36/temp
Using JRE_HOME: /usr/local/java/jdk8
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.0.36/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.0.36/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# service iptables stop #关闭防火墙(CentOS6)
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
在网页输入192.168.1.12:8080
2.磁盘管理和维护
2.1 磁盘文件名:
/dev/sd[a-p] [1-128]
/dev/hd[ ]
/dev/vd[ ][ ]
磁盘使用前,首先要格式化成文件系统可以识别的类型,变成可以挂载的数据块(磁盘),成为一个独立的文件系统
df -h 查看磁盘(文件系统)
扇区:(sector)是最小的物理存储单位,每个扇区都是512个字节,最小分区单位通常是扇区
**磁柱:**将扇区组成一个圆是磁柱
磁盘分区表主要有两种格式,一种是限制较多的MBR分区,一种是GPT格式。MBR分区中,第一个扇区最重要,主要存放开机区的MBR和分区表
柱面:(逻辑概念)以柱面的形式读取数据
**簇:**将物理相邻的若干个扇区称为了一个簇。操作系统读写磁盘的基本单位是扇区,而文件系统的基本单位是簇(Cluster)
文件系统:
只有将磁盘分区格式化之后,才能成为操作系统能够利用的文件系统格式(filesystem)
Linux文件系统:权限和属性数据存放在inode中,实际数据存放在data block中,文件系统的整体信息放在superblock中。
2.2 分区命令
扩展分区不能用,不能格式化,因为它只是一个概念上的分区,但可以使用它上面的逻辑分区
fdisk /dev/sda 对sda磁盘进行分区
fdisk-l 查看系统的分区详细信息
[root@CentOS6 ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a2895
Device Boot Start End Blocks Id System
/dev/sda1 * 1 39 307200 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 39 1344 10485760 83 Linux
/dev/sda3 1344 1997 5242880 83 Linux
/dev/sda4 1997 2611 4934656 5 Extended
/dev/sda5 1997 2258 2097152 82 Linux swap /
说明:硬盘的大小是21.5GB,有255个扇面(heads),63个扇区(sectors/track),2610个磁柱(cylinders),每个磁柱的容量是8225280 bytes=8225.280 k=8.225280M
fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
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
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
a:切换可引导标志
b:编辑BSD磁盘标签
c:切换DOS兼容性标志
d:删除分区
l:列出已知分区类型
m:打印这个菜单
n:添加新分区
o:创建新的空DOS分区表
p:打印分区表
q:不保存更改就退出
s:创建新的空Sun磁盘标签
t:更改分区的系统ID
u:更改显示/输入单位
v:验证分区表
w:将表写入磁盘并退出
x:额外功能(仅限专家)
2.3 格式化命令:
mkfs.ext4 /dev/sda
mkfs.xfs /dev/sda
创建一个新的分区
1.首先对sda磁盘进行分区:fdisk /dev/sda
2.然后输入n :建立一个新的分区,再出现e和p,e是扩展分区p是主分区,选择p,再定义分区号(主分区只能用四个),first忽略,在last上定义大小,再输入w保存刚才的配置信息
3.对硬盘进行更新:partx -a /dev/sda(有时还不行需要进行重启reboot)
4.查看有没有刚建好的分区:fdisk -l
5.格式化:mkfs.xfs (Cent7):mkfs.xfs /dev/sda6
mkfs.ext4 (Cent6);mkfs.ext4 /dev/sda6
6.进行挂载使用:mount /dev/sda6 /mnt/
2.4 文件系统管理类命令
2.4.1 mkfs
创建文件系统的工具:mkfs.ext2,ext3,ext4,(文件系统类型)
xfs
btrfs
mkfs.ext2 分区:格式化
-t :指定创建的文件系统类型
mkfs -t ext4 =mkfs.ext4
-b:创建文件系统指明块大小
1024 2048 4096
-l:label:指明卷标
-j:创建有日志功能的文件系统
-i:指明inode与子节的比率
-N:直接指定创建的文件系统的inode数量
-m:指定预留空间
2.4.2 e2label:设定与查看卷标
设定 e2label device labe1
查看 e2label device
e2label /dev/sda1 test
2.4.3 fsck:检测及修复文件系统的工具
fsck.ext2
-c:显示检查的进度
2.5 查看属性的工具
2.5.1 dumpe2fs
2.5.2 tune2fs 修改文件系统属性(ext系列)
文件系统的块大小
tune2fs /dev/sda6
-l:查看块内容
-j:修改指定的文件系统类型
-L:修改卷标
-m:调整预留空间百分比
2.5.3 resize2fs
调整 ext系列的文件系统的大小
-f:强制执行
-M:直接将文件系统缩小到最小值
-P:显示文件系统的最小值
2.5.4 e2fsck
磁盘修复,修复时需要卸载挂载点
-a:检查分区,发现问题可以直接修复
-b:设定superblock位置
-B size:设定区块大小
-c:检查是否有坏道
-f:强制检查
2.5.5 blkid :获取文件系统类型,UUID,卷标
blkid device
(blkid /dev/sda1)
-U:UUID 定位设备
-L:label 定位设备
交换分区
Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
fdisk device
t 82
增加一个交换分区
(这个分区必须先卸载挂载点 umount /dev/sda* /mnt)
1.首先查看当前的交换分区:free -m,再swapon -s
2.准备分区:fdisk /dev/sda,输入t,改变分区的id,再输入分区号,写入82
3.进行更新:partprobe /dev/sda,可以进行查看ll /dev/sda*
4.初始化分区:mkswap /dev/sda1
5.进行挂载:blkid /dev/sda1
/dev/sdb1: UUID=“ea5b1c77-e540-463c-9644-0d75450f8b4c” TYPE=“swap”
再vim /etc/fstab
UUID=“ea5b1c77-e540-463c-9644-0d75450f8b4c” swap swap default 0 0
6.再查看交换分区swapon -s
mkswap :格式化
dd if=/dev/zero of=/dir/filename bs=1[K,M,G] count=N
/etc/fstab
UUID=“4a3d5ab7-4e3e-4baa-a3a3-f0386901a12f” swap swap defaults 0 0
swapon -a 根据文件挂载swap分区
swapoff device
[root@nebulalinux03 ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
或者
[root@nebulalinux03 ~]# dd </dev/zero >/swap2.img bs=1M count=512
[root@nebulalinux03 ~]# mkswap /swap2.img
[root@nebulalinux03 ~]# vim /etc/fstab
/swap2.img swap swap default 0 0
[root@nebulalinux03 ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[root@nebulalinux03 ~]# chmod 600 /swap2.img
[root@nebulalinux03 ~]# swapon -a
[root@nebulalinux03 ~]# swapon -s
Filename Type Size Used Priority
/dev/sdb1 partition 524284 0 -1
/swap2.img file 524284 0 -2
**mount:**挂载命令
mount -t 系统类型 -o 选项 设备 挂载点
ro
rw
acl
umount 设备
umount 挂载点
查看哪些进程占用挂载点
lsof 挂载点
fuser -v 挂载点
终止挂载点使用
fuser -km 挂载点
lsof
列出所有被打开过的文件,进程
lsof -c process: 显示进程打开的文件
lsof -p 1234(进程号):列出进程1234打开的文件
lsof -i :显示符合条件的进程
lsof /proc:列出某个文件或进程被谁使用
lsof -u 用户名:
lsof -s
lsof -i tcp/udp
lsof -i :8080
df 显示磁盘分区上所用空间
-h :以KB,MB,GB单位显示,1024为单位
-H:以1000位单位
-i:显示inode使用情况
du 文件大小
-h:以K,M,G为单位显示
-c:显示目录中文件大小,并且显示总和
-s:仅显示目录的总值,单位KB
-S:仅显示文件的总值,单位KB
-k,-m:显示目录中文件的大小,-k 单位KB,-m 单位MB
挂载配置文件
/etc/fstab
第一列:device 设备文件
UUID
设备文件
卷标 label
第二列:挂载点
第三列:filesystem: xfs ext4 swap iso9660
第四列:文件系统参数 defaults
第五列:能不能备份
0 不备份
1 每天备份
2 不定期备份
第六列:是否校验扇区
0 不校验
1 最先校验
2 在1之后校验
作业:编译安装 nginx apache
分区操作
yum源配置