linux学习笔记

Linux

学习目标:
1.1 Linux 概要介绍
1.2 Linux 安装
虚拟机配置、安装CentOS
1.3 Linux 基本使用
命令行与图形化选择和配置
登录(本地,远程)
1.4 Linux基础操作知识
各类命令的使用(文件目录、用户管理、磁盘管理、程序资源管理、网络设置、安全设置、打包压缩)
1.5 web服务器搭建
LAMP部署

1.1 Linux介绍
Linux是开放源代码的类UNIX操作系统
常见Linux版本:Debian(Ubuntu),Redhat,Fedora,CentOS
Linux的标志和吉祥物是一只企鹅

1.2 Linux安装
下载安装文件,通过可启动设备(光盘、u盘等)安装;
使用虚拟机加载镜像文件安装。

1.3 Linux基本使用

启动过程:
内核引导
运行init
系统初始化
建立终端 (tty,Teletype)
用户登录

如何设置启动级别(图形化还是命令行)
编辑/etc/inittab设置启动级别(1,2,3,5)

远程登录Linux
使用secureCRT工具
通过ssh服务

1.4 Linux基础操作知识

(1)文件和目录

----命令行式人机交互方式
提示符:
[用户名@主机名 当前路径最后一个目录]休止符
休止符:
普通用户是$,root是#

(ls -l --color=never)

指令:命令 选项 参数
命令:通常是要求机器执行某操作
选项:通常是要求机器以某种方式执行该操作
参数:通常是机器执行该操作时需要使用的数据

命令:通常有2种来源,1是系统中的可执行程序,通常需要写完整的程序路径(环境变量PATH中所列目录下的可执行程序可不写路径);
2是系统中的环境变量、函数、别名等

环境变量:$PATH
echo $PATH 查看path下的路径

当前用户shell启动文件 $HOME/.bash_profile ( ls -a显示隐藏文件),可以做环境变量配置

选项:Linux系统中选项和参数顺序可互换,多个选项之间通常顺序也可互换
Linux系统中选项语法:
短选项:-一个字母,多个短选项可合并,如:-a -b -c这3个短选项可合并成-abc
长选项:–多个字母
注:一个命令、若干个选项和若干个参数都是该命令中的元素,每个元素之间用空格隔开,每个元素内部不能有空格,如果确实必须有空格,则用双引号引用以强制表示一个整体

参数:
选项可以带参数,选项参数不能单独存在,必须依附于某选项。
选项参数的语法,
短选项参数:-短选项 选项参数
长选项参数:–长选项=选项参数

----文件路径的描述方式
只有1个盘,叫根目录/
绝对路径:从根目录开始描述的文件路径描述方式,如/a/b/c。以/打头的路径描写法一定是绝对路径
相对路径:以相对于当前路径的文件路径描述方式。
.表示当前目录
…表示上级目录
当前路径:系统目前正处于的目录就是系统的当前路径,描写在提示符中。

文件名以.打头的文件时隐藏文件

家目录:用户自己专用的目录,类似于windows系统中某用户的库
当前用户的家目录:~
某用户的家目录:~用户名

查看命令帮助的方法:
命令 -h
命令 --help
man 命令名

ls:/bin/ls,显示文件信息,如果文件是目录文件,则默认显示该目录下的文件信息;如果文件为空,则表示显示当前目录下的文件信息;如果没有选项,则表示显示文件的信息为文件名
语法:ls [选项]… [文件]…
选项:
-a,表示连隐藏文件一同显示
-d,表示当文件为目录文件时,不再显示目录下的文件信息,而是该目录文件本身的信息
-l,表示以长列表格式显示文件的所有信息,而不仅仅是文件名

----文件信息内容
文件类型和访问权限
由10个字母组成,第1个字母表示文件类型。-表示普通文件,d表示目录文件,l表示符号链接文件,b、c等表示不同的设备文件;
第2到10共9个字母分3组,每1组为rwx,第1组表示文件作者对该文件的访问权限,第2组为该文件所属组的组用户对该文件的访问权限,第3组表示其他用户对该文件的访问权限。
r表示具有读权限,w表示具有写权限,x表示具有执行权限,如果没有相应权限,则相应位置为-。如r–表示只读,rw-表示可读可写但没有执行权限,-w-表示可写但不可读
硬链接数量:该文件所指向地址被几个文件指向
文件作者(属主)
文件所属的组(属组,属群)
文件大小
文件最后修改时间
文件名

ll:ls -l的别名

alias: 非可执行程序,给命令的某种执行方式取别名
语法:alias 别名=‘命令的某种执行方式’
alias 不加任何参数,显示所有别名

unalias:删除别名
语法:unalias 别名

cd:不是程序,跳转当前路径
(type cd
cd is a shell builtin)
语法:cd [目录文件]
目录文件:必须是目录文件,不允许是普通文件。如果目录文件为空,表示跳转到当前用户的家目录。

pwd: /bin/pwd,(Print Working Directory的缩写)显示当前路径的绝对路径
语法:pwd

mkdir: /bin/mkdir,创建目录
语法:mkdir [选项]… 不存在的目录…
目录:默认时必须该目录不存在,上级目录存在
选项:
-p,表示如果父目录不存在,则连父目录一同创建。
注:同一级可同时创建多个目录,不同目录用空格隔开
例子:
mkdir test1
mkdir /root/Desktop/test2
mkdir test3 test4 test5
mkdir -p test6/test7
mkdir “mwt test”

rmdir: /bin/rmdir,删除空目录
语法:rmdir [选项] 空目录…
选项:
-p,如果除该字目录外没有其他内容的父目录也需要删除,则用该选项

cp: /bin/cp,复制文件
语法:cp [选项] 源文件… 目的
源文件:可1个或多个,可用通配符来匹配多个文件
目的:如果源文件为多个文件,则目的必须是目录,表示将那些源文件拷贝到该目录下;
如果源文件为单个文件,则目的为目录时也表示将该文件拷贝到该目录下,
目的为文件时表示将该文件拷贝并重命名为该文件
选项:
-r,递归,表示连目录中的子目录中的内容一同复制,如果是目录必须使用该选项
-i,拷贝到目的地存在同名文件,覆盖前提示
(系统预定义cp为cp -i的别名)
例子:
cp install.log test3
cp install.log install.log.syslog test4
cp install.log test5/inttest
cp -r test4 test3
/bin/cp -i install.log test3

mv: /bin/mv,剪切文件和重命名
语法:mv [选项] 源文件… 目的
源文件:可1个或多个,可用通配符来匹配多个文件
目的:如果源文件为多个文件,则目的必须是目录,表示将那些源文件拷贝到该目录下;
如果源文件为单个文件,则目的为目录时也表示将该文件拷贝到该目录下,
目的为文件时表示将该文件拷贝并重命名为该文件
选项:
-f,表示目标文件存在时强制覆盖不提醒
可直接操作目录,没有也无需-r选项

rm: /bin/rm,删除文件
语法:rm [选项]… 文件…
文件:不限定普通文件,还是目录文件,也不限定目录是否为空,可以使用通配符
选项:
-r,表示连目录中的子目录中的内容一同删除,删除目录必须使用该选项,普通文件用该选项也不报错
-f,表示直接删除不提醒,不用该选项,则对每个被删除文件提问,是否确定要删除该文件。
-i,删除前提示
例子:
rm install.log install.log.syslog
rm -r test3
rm -f install.log

通配符:?表示任意单个字符,表示任意多个字符
元素用“”表示一个整体
例子:
rm -r -f test

----文本编辑

vi,vim:/bin/vi, /usr/bin/vim,(Visual interface的缩写)创建或编辑文本文件
语法:vi [一个文件]
使用方法:
初始为显示界面,无法编辑
按a或i键后进入编辑模式,界面左下角显示–insert–
进入编辑模式后,可进行输入
按esc键退出编辑模式,–insert–消失,恢复显示模式
按:wq保存退出,:wq显示在界面左下角,回车后退出该命令
未改动内容情况下直接退出,:q
如果编辑过但无法保存或不需要保存就直接退出,按:q!强制退出
整页翻页 ctrl-f,ctrl-b(f就是forword b就是backward)
在命令模式下,输入“/要查找的内容”,表示查找指定内容
例子:
vi vitest3

批量执行命令
例子:
sh vitest2

----查看文件内容

cat: /bin/cat,显示文本文件的内容
语法:cat [选项] [文件]…
选项:
-n,表示显示行号
-b,表示显示非空行的行号,空行不算行号
只适合短小的文本文件显示内容,大文件会要刷新很多页面才到文件结束,命令才执行结束
例子:
cat vitest3
cat -n install.log

more:/bin/more,分页显示文本文件的内容
语法:more 文件…
使用过程中分页显示,可翻页,按q退出文件显示
例子:
more install.log

head:/bin/head,显示文件头若干行,默认10行
语法:head [选项] 文件…
选项:
-n 数字,表示显示文件头若干行,而非默认的头10行
例子:
head install.log
head -n 3 install.log

tail:/bin/tail,显示文件末尾若干行,默认10行
语法:tail [选项] 文件…
选项:
-n 数字,表示显示文件头若干行,而非默认的头10行
例子:
tail install.log
tail -2 install.log

cut: /bin/cut,按列切割文本文件,选择部分列显示文件内容
常用用法:cut -d 分割字符 -f 被分割内容的序号… 文件…
注:分隔符只能是单个字符
例子:
cut -d : -f 1 vitest3
cut -d : -f 2,4 vitest3
cut -d : -f 2-4 vitest3
cut -d 9 -f 2 vitest3

特殊符号作为分割符,需要使用引号引起

----链接文件

ln: /bin/ln,创建或修改链接,默认硬链接
语法:ln [选项] 目标文件 链接文件名
选项:
-s,创建的不是硬链接,而是符号链接,也称为软链接

----文件与目录权限

用户、组、其他用户:
group1{
user1
user2
}

group3{
user3
}

a.txt 所有者 user1
a.txt 所属组 group1 user2
a.txt的其他用户 user3

a.txt 的权限 rwxr-xr-x

进制转换:
12^0
1
2^1
1*2^2

000 — 0
001 --x 1
010 -w- 2
011 -wx 3
100 r-- 4
101 r-x 5
110 rw- 6
111 rwx 7

777
655 所有者rw,组用户rx,其他用户rx

chmod,/bin/chmod,改变文件的访问权限
语法:chmod [选项] 模式,模式 文件…
模式:
1.数字式:用1个3位的8进制数字来表示3组用户访问权限。每位8进制中0表示—,1表示–x,2表示-w-,3表示-wx,4表示r–,5表示r-x,6表示rw-,7表示rwx
例子:
chmod 777 install.log
chmod 655 install.log

2.字母式:用户字母ugoa连接符号=+-权限字母rwx,……。u表示作者,g表示组用户,o表示其他用户,a表示所有用户。

所有者 u user
所属组 g group
其他用户 o others
所有用户 a all

rwx 权限

  • 增加权限
  • 删除权限
    = 赋予权限

举例:a=rwx表示所有用户权限是读写执行;u+x,g+w,o-w表示作者增加执行权限、组用户增加写权限、其他用户去掉写权限;go+w表示组用户和其他用户增加写权限
选项:
-R,表示操作的是目录及其下所有子目录、文件
例子:
chmod u+x install.log
chmod u=rw,g=rx install.log

----搜索文件或目录

locate 通过数据库/var/lib/mlocate/mlocate.db查找文件数据,速度较快
格式:locate 文件名
注:可能需要先手动更新数据库,updatedb
例子:
locate test
updatedb

find:/bin/find,查找文件
语法:find [选项] 地址 条件
条件:
-name 匹配条件,表示按照文件名符合该条件查询
-type 文件类型,表示按照文件类型查询,f表示普通文件
-size 数字,表示等于该数字,默认单位是block(512位元组的区块),数字后面可以加指定单位(c,k,M,G)(查找文件精度和选取的单位相关,要更精确地查找需要选择更小单位)
-size +数字单位,表示按文件大小超过该数字的条件查询
-size -数字单位,表示按文件大小少于该数字的条件查询
运算:! 条件,或-not 条件,表示条件取反
条件1 -a 条件2,或条件1 -and 条件2,或条件1 条件2,表示2个条件都要满足,与运算
条件1 -o 条件2,或条件1 -or 条件2,或条件1 , 条件2,表示2个条件任选其一即可,或运算

-size [+|-]#UNIT
          常用单位:k, M, G
            #UNIT:(#-1, #]
            -#UNIT:[0,#-1]
            +#UNIT:(#, oo)

与 and

true and true = true
false and true = false
true and false = false
false and false = false

或 or

true or true = true
false or true = true
true or false = true
false or false = false

非 not !

!true = false
!false = true

例子:
find /root -name test
find /root -name “test
find /root -type f
find /root -type l
find /root -size 1
find /root -size 1k
find /root -size 1G
find /root -size 1024M
find /root -size +100k
find /root -size -100k
find /root -size +10k -and -size -100k
find /root -size +1k -and -name test

which,/usr/bin/which,查找环境变量$PATH所列目录下和别名、函数中的可执行的命令。
用法:which 命令
默认搜索目录:
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
例子:
which chmod

whereis,/usr/bin/whereis,在自定义目录下进行查找
用法:whereis 文件名
默认搜索目录:
/{bin,sbin,etc}
/usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,
X386,TeX,g+±include}
/usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs}
例子:
whereis chmod

grep,/bin/grep,在文本中查找符合条件的行
语法:grep [选项] 条件 文件…
选项:
-i,表示不区分文件中的内容和查找条件的大小写
-w,表示整单词符合条件的行才被查询到
-x,表示整行符合条件才被查询到
-v,表示不符合的行才被查询到,即符合条件的行被剔除
-n,表示带行号显示被查询的行
例子:
grep nu vitest1
grep -i nu vitest1
grep -w liNux vitest1
grep -x “liNux centos 6.2” vitest1
grep -n test vitest1
grep -v test vitest1

(2)用户和用户组管理

每个用户都属于某组group,默认每个用户创建时,同时创建同名的组,作为该用户的主组,另外还可以手动添加该用户到其他组中。
用户和组都有编号,系统中0到499被系统占用,普通用户和组编号从500开始。
用户配置信息存放:/etc/passwd
密码配置信息存放:/etc/shadow
组信息存放:/etc/group

shell程序 用户调用的程序,默认为/bin/bash

primary group主组 用户是可以属于多个组的,一个用户只能有一个主组,其他都是附加组

id,/usr/bin/id,查看该用户信息
语法:id 用户名

su,/bin/su,切换用户
语法:su [选项] 用户
选项:
-l,-,表示切换用户时先执行该用户的login_shell程序,导致的效果是该连接的所有配置都刷新成新用户的配置,而不再是之前用户的配置

groupadd,/usr/sbin/groupadd,创建组
语法:groupadd [-选项] 组名
选项:-g,指定组ID,不加该选项则由系统分配ID
例子:
groupadd groupb
groupadd -g 600 groupb

useradd,/usr/sbin/useradd,创建新用户,不加组选项则创建与用户名相同的组,并将该用户加入
语法:useradd [选项] 用户名
选项:
-d 不存在的目录,表示不用系统默认的/home/用户名的家目录,而是自己指定的家目录(注意是不存在的目录,如果是已存在的目录,则系统不会拷贝用户配置文件到该用户家目录,目录如果指定在/root会导致普通用户没有权限访问)
-g 组,表示将该用户创建后,主组指定为该组
-G 组,表示创建该用户后,再将该用户也加入到该组中作为用户的附加组
-s shell程序,表示要求该用户登录后都先执行该shell程序(默认/bin/bash,可修改为/bin/sh等)
-p 密码,表示创建用户时设置密码(必须使用密文,可以通过openssl passwd -stdin翻译)

注:Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
centos中用户默认的shell:bash,Bourne shell(sh)的一个双关语(Bourne again / born again)
例子:
useradd usera
useradd -d /userbtest userb
useradd -g groupa userd
useradd -G groupa usere
useradd -s /bin/sh userf
openssl passwd -stdin
useradd -p ZmAledS4KGjyE userh

passwd,/usr/bin/passwd,管理用户权限
语法:passwd [选项] [用户名]
用户名和选项都省略,表示给本用户修改密码
只有用户名没有选项,表示给该用户修改密码,该权限只有root用户具有
选项:
-l,表示锁定该用户(密码失效)
-u,表示解锁该用户
例子:
passwd usera
passwd -l usera
passwd -u usera

gpasswd,/usr/bin/gpasswd,修改组(用户主组并不改变,操作的是附属组)
语法:gpasswd [选项] 组名称
选项:
-a 用户,表示将该用户加入到该组(用户原组并不改变)
-d 用户,表示将该用户从该组中删除

whoami /usr/bin/whoami
显示当前用户名
例子:
whoami

who,/usr/bin/who
显示有哪些终端的用户登录本机。su的用户切换不改变登录用户信息
注:本机打开terminal命令行终端以后,会显示pts虚拟终端的登录
例子:
who

----改变文件的用户和组
chown,/bin/chown,改变文件的用户和组
语法:chown [选项] 作者:组 文件…
选项:-R,表示操作的是目录及其下所有子目录、文件
注:用户:组,可以省略部分,如,只有用户,表示只改所有者;只有:组,表示只改组
例子:
chown usera:groupa install.log
chown userb install.log
chown :mwt install.log
chown -R usera:groupb test

(3)磁盘管理

df,查看文件系统的信息,通常用于查看硬盘是否存储已满
常用用法:df
选项:-h 以人类可读方式显示
例子:
df
df -h

du,查看文件、目录的磁盘使用信息,不写参数默认当前目录
常用用法:du [-选项] 文件…
选项:-h 以人类可读方式显示
例子:
du
du -h /etc
du -h install.log

free,查看内存使用信息
-b,-k,-m,-g show output in bytes, KB, MB, or GB
例子:
free
free -b
free -k
free -g

fdisk,磁盘管理
常用方法:fdisk -l 显示设备列表(主硬盘设备名称通常是/dev/sda)
fdisk 设备名称, 进入磁盘管理操作命令行,q退出
例子:
fdisk -l
fdisk /dev/sda

----设备挂载
mount,挂载存储设备到文件系统中
常用用法:mount -t 类型 设备 一个空目录(且不是当前目录)
类型:
iso9660,表示光盘
FAT32,通常U盘
EXT2,EXT3,EXT4,通常是硬盘,可省略
设备:
设备文件名,通常在/dev/目录下
例:
mount -t iso9660 /dev/cdrom /root/test2

umount,解除设备的挂载
常用用法:umount 文件系统名或该目录
例子:
umount test2

(4)程序与资源管理(进程和服务)

ps,/bin/ps,显示系统中的进程信息
常用用法:ps -ef,表示对所有进程以全列表格式显示进程信息

----进程显示信息
UID,该进程的执行用户
PID,该进程编号
PPID,该进程的父进程
C,处理器使用率
STIME,进程启动开始时间
TTY,终端
Linux中终端分为2类,物理终端tty(centos预置从tty1到tty6)和虚拟终端
TIME,cpu累计使用时间
CMD,进程的程序名

init系统初始化进程,配置文件/etc/inittab,保存的是系统以哪种模式启动。

3命令行启动
5图形化启动
(NFS, networking file system)

|,管道,用于连接进程,a | b表示进程a的输出连接到b进程的输入。
ps -ef | grep 查询条件,表示将ps -ef查询的结果,连接到grep命令,作为grep查询的输入
例子:
ps -ef|grep -i ssh
ps -ef|grep -i ssh|grep -v grep

kill,/bin/kill,终止进程
常用用法:kill -s 信号 进程编号…,向这些进程发送信号
kill -l,列出所有信号
信号:9表示立刻清除该进程,立即释放资源;
15表示终止进程的继续运行,待进程自行释放资源,可能继续运行一段时间。
例子:
kill -s 9 1434

----服务

chkconfig --list,查看系统中的服务
显示
服务名 启动级别上服务可用情况

service,查看或管理某服务
常用用法:service 服务名 查看该服务可用指令
service 服务名 start 启动服务
service 服务名 stop 停止服务
service 服务名 restart 重启动服务
service 服务名 status 查看服务当前状态

iptables 防火墙服务
例子:
service iptables
service iptables restart
service iptables stop

(6)安全设置
iptables,关于防火墙
常用用法:
iptables --list 列出已有规则
iptables --flush 清空现有规则
iptables -I/-A INPUT/OUTPUT -p tcp/udp --dport 端口号 -s/-d 地址 -j ACCEPT/REJECT/DROP
-I,表示新增一个高等级的防火墙规则
-A,表示新增一个低等级的防火墙规则
INPUT表示针对输入,其他电脑访问本电脑
OUTPUT表示针对输入,本电脑访问其他电脑
-p,表示协议
–dport,表示端口,如80,22,110,25
-s,当为INPUT时,针对来源于其他电脑的地址
-d,当为OUTPUT时,针对访问到其他电脑的地址
-j,表示规则类型,ACCEPT表示允许规则,REJECT表示拒绝规则,DROP表示不回应直接丢弃
例:iptables -I INPUT -p tcp --dport 8080 -s 172.16.200.153 -j ACCEPT

注:iptables是服务,可以通过service关闭
例子:
service iptables stop

(5)网络管理

ifconfig,查看网络配置信息,修改网络配置
以网络连接eth0为例:
修改ip:ifconfig eth0 172.168.0.211
修改子网掩码:ifconfig eth0 netmask 255.255.255.0
开启网卡:ifconfig eth0 up
关闭网卡:ifconfig eth0 down

切换远程登录工具的编码:
选项->会话选项 编码 utf-8

setup 网络管理

ifdown,禁用某网络
常用用法:ifdown 网络名
例子:
ifdown eth0

ifup,启用某网络
常用用法:ifup 网络名
注:ifup与ifdown这两个程序其实是script而已,它会直接到 /etc/sysconfig/network-scripts目录下搜索对应的配置文件。
例子:
ifup eth0

ping,测试和目的地址是否联通
常用用法:ping -c 次数 地址
例子:
ping -c 3 172.31.71.130

(7)时间日期
date,显示或设置系统时间
常用用法:date +格式,用于按一定的格式显示时间
date 月月日日时时分分年年年年.秒秒,用于按照该数字格式修改时间(时间修改后重启可能导致启动失败)
格式参数:%a %A等,可通过–help查看
例子:
date
date +%a%A%j%H
date 122511112000.11

(8)关机重启
shutdown 关机
常用用法:shutdown -P now 立刻关机
例子:
shutdown 3
(可以使用ctrl+c取消关机)
shutdown -P now

reboot 重启

----打包与压缩

tar,/bin/tar,打包和解包,要求包文件有后缀.tar
常用用法:tar -cvf 包名称.tar 被打包的文件们,用于打包
例:tar -cvf test3.tar install.log install.log.syslog
tar -xvf 包名称.tar,用于解开包
例:tar -xvf test3.tar
tar -zcvf 包名称.tar.gz 被打包的文件们,用于打压缩包
例:tar -zcvf test4.tar.gz install.log install.log.syslog
tar -zxvf 包名称.tar.gz,用于解压缩包
例:tar -zxvf test4.tar.gz
tar -jcvf 包名称.tar.bz2 被打包的文件们,用于打压缩包
例:tar -jcvf test5.tar.bz2 install.log install.log.syslog
tar -jxvf 包名称.tar.bz2,用于解压缩包
例:tar -jxvf test5.tar.bz2

gzip,/bin/gzip,压缩和解压缩,不同于window系统中的新增压缩或解压缩文件,而是在源文件上压缩或解压缩,压缩或解压缩后源文件消失,要求压缩文件有后缀.gz
语法:gzip [选项] 文件…
选项:
-d,表示解压缩,即不加该选项表示压缩

bzip2,/usr/bin/bzip2,压缩和解压缩,功能和gzip相同,要求压缩文件有后缀.bz2
语法:bzip2 [选项] 文件…
选项:
-d,表示解压缩,即不加该选项表示压缩

zip,/usr/bin/zip,对多文件打包压缩,后缀.zip
常用用法:zip 压缩包文件.zip 打包文件…
例:zip test6.zip install.log install.log.syslog

unzip,/usr/bin/unzip,对压缩包.zip解包解压缩
常用方法:unzip -d 解压缩目录 压缩包文件.zip
选项:
-d 目录 解压到目录
例:unzip -d test7 test6.zip

l linux w windows
a Apache
m MySQL
p PHP

1.5 web服务器搭建

(1)linux软件安装
1.源码安装
解包解压缩、配置编译环境、执行编译、安装

步骤:
cd到源码目录
执行./configure 选项
生成Makefile
使用make命令编译源码
使用make install命令安装

configure,是解压缩出的目录中的可执行程序
常用方法:./configure --长选项…(注意前面需要加./路径表示调用当前目录下程序)
常用长选项:–prefix=路径,表示将该软件安装到该目录(通常是/usr/local下)
注:可根据错误提示信息加需要的选项

make,/usr/bin/make,C语言编译命令
常用方法:make,用于读取configure配置出的makefile文件,进行源代码编译
make install,读取makefile文件,进行可执行程序的安装

源代码安装步骤:
tar -zxvf apr-1.4.6.tar.gz (解压)
cd apr-1.4.6 (进入安装目录)
./configure --prefix=/usr/local/apr (环境检查和配置)
自动生成Makefile文件
make (编译)
make install (安装)

Apache
apr-1.4.6.tar.gz
./configure --prefix=/usr/local/apr

apr-util-1.4.1.tar.gz
./configure --prefix=/usr/local/aprutil --with-apr=/usr/local/apr

pcre-8.32.tar.gz
./configure --prefix=/usr/local/pcre
以上包是Apache服务器的运行环境依赖包
(如果编译报错需要安装gcc-c++)

Apache服务器安装包httpd-2.4.3.tar.gz
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/aprutil --with-pcre=/usr/local/pcre

注:安装完成后先配置服务器名,配置文件在Apache安装目录下conf/httpd.conf,添加一行ServerName localhost:80
httpd是服务,安装后需要手动启动服务,Apache安装目录下bin/apachectl start
./apachectl start
需要添加防火墙访问规则,或者停止防火墙服务
网页部署的目录是Apache安装目录下的htdocs目录,通过浏览器输入ip地址进行访问

2.rpm安装
执行rpm安装

rpm,/bin/rpm,rpm软件管理
常用方法:rpm -qa,列出本机安装的所有rpm程序
rpm -qa | grep 条件,列出本机是否安装指定条件的rpm程序
rpm -e --nodeps 包名, 表示强制卸载该rpm程序
rpm -ivh 包名,安装该包软件

例:
rpm -qa|grep -i mysql(查询)

rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.i686(删除)
rpm -e --nodeps mysql-5.1.52-1.el6_0.1.i686
rpm -e --nodeps mysql-devel-5.1.52-1.el6_0.1.i686

rpm -ivh MySQL-server-5.6.10-1.el6.i686.rpm(安装)
rpm -ivh MySQL-client-5.6.10-1.el6.i686.rpm
rpm -ivh MySQL-devel-5.6.10-1.el6.i686.rpm

MySQL
MySQL安装包:
MySQL-server-5.6.10-1.el6.i686.rpm
MySQL-client-5.6.10-1.el6.i686.rpm
MySQL-devel-5.6.10-1.el6.i686.rpm
注:mysql是服务器,手动启动
service mysql start
默认生成root用户的密码,在家目录下的.mysql_secret文件中
cat .mysql_secret
通过mysql -u root -p密码(注意-p后直接打密码没有空格)登录
mysql -u root -p随机密码
首次登录后通过set password for root@localhost=PASSWORD(‘新密码’);修改密码(注意sql语句结尾加;号)
set password for root@localhost=PASSWORD(‘111111’);
quit退出mysql控制台

注:如果mysql出现问题,可以结束mysql进程:通过ps -ef|grep -i mysql查询相关进程,然后通过kill命令杀进程
再次启动mysql服务即可

(2)LAMP环境搭建
LAMP:
Linux
Apache
MySQL
PHP

PHP
PHP服务器安装包php-5.4.13.tar.gz
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
注:如果configure报错,可能需要安装libxml2-devel,libxml2
安装完成后进行配置,首先拷贝php.ini-prodution文件到/usr/local/lib目
录重命名为php.ini
cp php.ini-production /usr/local/lib/php.ini
使用vi打开Apache配置文件
/usr/local/apache2/conf/httpd.conf,
添加AddType application/x-httpd-php .php(注意.php前的空格)
在DirectoryIndex index.html后添加index.php
拷贝hello.php到网页发布目录/usr/local/apache2/htdocs
cp hello.php /usr/local/apache2/htdocs/
配置完成后通过脚本重启Apache服务
./apachectl restart
通过浏览器访问hello.php查看php是否按照配置成功

(3)网站部署

Discuz_X2.5_SC_UTF8.zip解压到指定目录discuz,
unzip -d discuz Discuz_X2.5_SC_UTF8.zip
拷贝discuz目录下upload目录到Apache网页发布目录htdocs下并重命名为discuz
cp -r upload/ /usr/local/apache2/htdocs/discuz
通过浏览器访问discuz/install进行安装、配置检查等
使用chmod修改目录及目录下文件的权限
chmod go+w -R config data uc_client uc_server
安装后浏览器访问discuz首页,论坛发布成功

3.yum安装
配置yum服务器、列出软件列表、执行yum安装

yum,/usr/bin/yum,yum在线软件管理
常用方法:yum 指令
指令:
check,表示在yum服务器上检查问题
list或grouplist,表示列出该yum服务器上的软件(组)rpm程序
info rpm程序,表示查看该软件的详细信息
install rpm程序
groupinstall 组,表示安装该软件(组)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值