认识Linux系统及项目部署
1.Linux是什么,用来干什么用的?
Linux是一个操作系统,用来作为服务器部署项目软件包和数据库(部署完成你才能访问项目软件)。
常见的操作系统
Windows mac Linux Unix 安卓 iOS
2.在测试实际工作中我们用来Linux来做那些事?
部署环境(才能访问)+查看日志(定位bug)+监控资源(性能测试)
3.Linux特点:开源免费
4.Linux常见的发行版本
Ubuntu,Redhat,CentOS(企业版)
Linux使用领域
1.应用服务器 2.数据库服务器 3.网络服务器 4.虚拟化云计算 5.嵌入式领域 6.个人pc 7.移动手机
Linux远程连接
常用远程工具介绍
-
finalshell 2、xshell 3、SecureCRT
远程连接Linux服务器之前,必须要知道Linux服务器的IP地址,连接账户密码,以及SSH远程连接协议的端口(默 认:22)
可以通过 ifconfig 命令查看 Linux服务器的ip地址(账户密码找运维人员提供)
可以通过netstat –anptu | grep sshd 查看ssh的端口(默认是22)
连接前最好先确定远程ip地址是否可以ping通(连通),可以通过本地电脑进入cmd进行 ping x.x.x.x
linux主要目录介绍
目录结构:树状结构
1./ :根目录,唯一
/home:用户目录 /root:系统管理员root目录 /usr:应用程序 /etc:系统配置 /boot:内核文件 /tmp: /tmp:临时文件 /bin:放命令,工具
linux命令格式
基础格式:命令 选项 参数 注:选项,参数(选填)
查看目录内容
命令格式:ls[-lah(选项)] [文件或目录]
ls参数说明:-l: 以列表方式详细显示内容信息 -a:显示所有文件,包含隐藏文件及目录 -h:配合-显示出文件的大小
切换目录-cd
命令格式:cd [目录名称]
cd命令说明:cd或者cd~ :切换到当前用户的主目录(/home/用户目录)
cd. :切换到当前目录 cd.. :切换到上一级目录 cd- :切换到上一次所在的目录
绝对路径切换目录:cd /目录名称
相对路径切换目录:cd ./目录名称
创建目录--mkdir 命令格式:mkdir目录名称 说明:可以跟上-p选项,实现多个层级目录创建;
目录名称不能与当前目录下的文件或目录同名;
支持在其它路径创建目录
touch:创建文件
格式:touch 文件名称
-
rm:删除文件或目录名称
格式:rm -rf 文件或目录名称
选项: -i:删除文件时进行有提示
注意:不加任何选项,默认有提示
-r:删除目录
-f:取消提示
复制文件或目录一cp 命令格式: cp 源文件 目标文件
常用选项说明: -: 交互式复制,覆盖时会提示用户确认-f:强制覆盖已存在的目标文件而不提示
r: 若源文件为目录,则复制该目录下的所有内容
v:显示复制的进度
** 移动文件或目录-mv**
命令格式:mv 源文件 常用选项说明:-f:强制覆盖已存在的目标文件而不提示
-i : 交互式复制,覆盖时会提示用户确认
显示复制的进度-v:
-
cat、more、grep:查看文件信息
格式:
cat -n 文件名称
more 文件名称
grep -n 文件名称
-i 忽略大小写 -n 带上行号 -v 取反
- grep 正则表达式
^ 搜索行首开头的内容
$ 搜索行尾的内容
[ ] 匹配[]中的任意一个字符
格式:grep –n ^a 文件名称
-
重定向:把执行的结果保存到其他文件中
格式:执行的结果 > >> 保存到的文件名称
覆盖> 追加>>
- 管道符:对于输出的结果,进行额外处理
格式:输出结果(控制台展示内容) | 对结果额外处理
-
pwd:查看当前所在路径
- **clear:用于清除当前屏幕终端所有内容
-
**which:查找工具或者程序的安装位置
-
shutdown:重启与关机
格式: shutdown -h now 关机
shutdown -r now 重启
now--现在
24小时制--定时关机
+数字--延迟时间进行关闭
- 查询系统进程-ps
使用场景:某一个软件(程序)卡死,需要将其进程结束,必须需要查到它的进程号
格式:ps -aux | grep 程序名称
-
实时查看系统进程相关信息-top
使用场景:当服务器运行缓慢,查看当前程序的服务器资源占用情况,确认是否将使用高的进程给杀死
格式:top
M:根据内存的大小降序显示进程信息
P:根据CPU使用率大小降序显示进程信息
q:退出top命令 或者 Ctrl+c
结束进程-kill
格式:kill -9 进程号
查看程序端口号-netstat
命令格式:netstat -anp | grep 程序名称
-a:显示所有已打开的端口
-p:显示对应的进程id
-n:用数字显示对应的端口,不用别名显示
-t:显示所有Tcp协议端口
-u:显示所有udp协议端口
查看端口号是否被占用-lsof
格式:
lsof -i:端口号
信息系统相关命令
查看日志信息命令-head
命令格式: head 文件名
默认显示日志文件有前10行内容
head-20 文件名:显示日志文件的前20行内容。
命令格式:tail 文件名
命令说明: 默认显示日志文件最后10行内容.
tail-15 文件名: 显示日志文件最后15行内容
tail -f 文件名:实时显示日志的文件信息
tail - f 文件名 | grep 关键字实时显示日志并过滤关键字
用户权限和管理
数字法命令格式:chmod 755 文件名
命令说明: 755这三个数字分别表示的是
文件拥有者权限/用户组权限/其他用户权限
权限对照表:
修改文件或目录权限--chmod
使用场景:测试环境部署项目时,将项目的安装包放入到linux服务器之后,需要设置权限。不然没有办法完成数据的读、写、执行
格式: chmod -R 777 文件名称/目录
注:更改目录下所有文件的权限,加入选项-R
切换用户:su 用户名
打包和解包 -tar
格式: 打包:tar -cvf 打包名称.tar 被打包文件/目录
解包:tar -xvf 打包名称.tar -C 指定目录名称
-c:create--创建 -v:进度 -f:files(文件)
-C必须大写
压缩和解压缩 #### gzip、zip
gzip格式:
压缩:tar -zcvf 压缩包名称.tar.gz 被压缩文件/目录
解压:tar -zxvf 压缩包名称.tar.gz -C 指定目录名称
zip格式:
- 压缩:zip -r 压缩名称.zip 被压缩文件/目录
- 解压:unzip -dn 指定解压目录 压缩包名称.zip
-Linux系统vi编辑器
·作用:编辑Linux系统中的文件内容
目标:折开文件,编辑文件,保存文件
1.使用vi编辑器打开文件: vi 文件名
注意:文件名必须带上后缀,不然编辑的就是全新的文件
2.编辑文件: 1.默认不能编辑。因为默认的模式是命令模式,只能写命令
2.按a/i/o,进行”插入 (insert)”模式,这时候才可以编辑
3保存文件 1按exc”退出插入模块 2.进入末行模式:按键”shit”加上”:" 3.末行模式中输入: wq:保存后退出 q!:不保存直接退出
Linux项目环境部署
一、项目部署之前的准备
-
项目的技术框架:确认需要安装的软件
- 软件套件安装
- 套件下载地址:lnmp.org/auto.html
-
安装软件,并确认软件安装成功且版本正确 mysql --version;nginx -v;php -v
-
确认软件程序正常启动 status 服务名称(mysqld,nginx。。。)
----异常情况处理----
1.程序服务无法正常启动
重启服务:服务名称 restart
关闭服务:服务名称 stop
开启服务:服务名称 start
2.服务启动、运行过程中,卡死情况
a.查看服务的进程号 ps -aux | grep服务名称 b.结束该服务的进程ki1l -9进程号
3.安装、启动服务时,提示端口号被占用
a.查看占用端口号的程序名称1sof -i:端口号 4.访问、设置服务程序时(远程工具连接MySQL),需要获取服务端口号 netstat -anp | grep 程序名称
二、项目部署
上传项目包
bash 复制代码
切换到安装源码包指定目录
cd 指定路径
查看当前目录地址是否正确
pwd
文件上传
rz
确认文件上传是否成功
ls-l
-
解压并修改权限
将压缩文件进行解压(压缩包格式: zip)
原始解压命令: unzip简化命令: unzip 压缩文件.zip
修改解压目录权限(将目录下所有文件和目录权限一同修改chmod -R 777 目录名称
确认权限修改成功 ls -1 目录
-
修改文件并重启服务
#找到需要修改配置文件的所在目录 find-name 配置文件名称
切换到配置文件所在目录# cd 目录
删除配置文件#
rm -rf 配置文件名称
上传修改后的配置文件# rz
重启服务(重启服务器)
shutdown -rnow
# 查看Nginx启动状态
systemctl status 程序服务名称(nginx)
-
异常处理:配置完成后查看Nginx状态异常
异常产生的原因: 原因是Nginx 启动时 PID 文件并未生成,导致文件无法读取
处理思路: 在 /usr/lib/systemd/system/nginx.service 中添加如下语句即可,作用是在执行可执行文件前等待 0.1s
ExecStartPost=/bin/sleep 0.1
通过vi编辑器打开文件进行处理
1、使用命令 vi 文件名 (nginx.service)打开文件
2、按i键,进入插入模式
3、找到需要修改的位置,修改对应的文件内容ExecStartPost=/bin/sleep 0.1
4、按ESC键,按shift+:进入末行模式
5、输入wq,保存退出
处理完之后,必须重启/关闭虚拟器,然后再查看Nginx状态是否正常
如图所示
三、初始数据库
- 在浏览器中输入虚拟机ip地址,然后在可视化界面完成项目的数据初始化