Linux项目环境部署
一、项目部署之前的准备
-
项目的技术框架:确认需要安装的软件
- 软件套件安装
- 套件下载地址:lnmp.org/auto.html
-
安装软件,并确认软件安装成功且版本正确
-
确认软件程序正常启动
1.项目依赖软件的安装:软件安装套件--LNMP
2.确认安装软件成功且版本正确
mysql --version
nginx -v
php -v
3.确认软件对应的程序服务启动完成
systemctl status 服务名称(mysqld、nginx、php-fpm)
----异常情况处理----
# 程序服务无法正常启动
重启服务:服务名称 restart
关闭服务:服务名称 stop
开启服务:服务名称 start
重启服务器:shutdowm -r now
# 服务启动、运行过程中,卡死情况
a.查看服务的进程号
ps -aux | grep 服务名称
b.结束该服务进程
kill -9 进程号
# 安装、启动服务时,提示端口号被占用
a.查看占用端口号的程序名称
lsof -i:端口号
# 访问、设置服务程序时(远程工具连接MySQL),需要获取服务端口号
netstat -anp | grep 程序名称
二、项目部署
整体步骤
-
上传项目包
# 切换到安装源码包指定目录
cd 指定路径
# 查看当前目录地址是否正确
pwd
# 文件上传
rz
# 确认文件上传是否成功
ls -l
-
解压并修改权限
# 将压缩文件进行解压(压缩包格式:zip)
原始解压命令:unzip -d ./ 压缩文件.zip
简化命令:unzip 压缩文件.zip
# 修改解压目录权限(将目录下所有文件和目录权限一同修改)
chmod -R 777 目录名称
# 确认权限修改成功
ls -l 目录
-
修改文件并重启服务
# 找到需要修改配置文件的所在目录
find / -name 配置文件名称
# 切换到配置文件所在目录
cd 目录
# 删除配置文件
rm -rf 配置文件名称
# 上传修改后的配置文件
rz
# 重启服务(重启服务器)
shutdown -r now
# 查看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地址,然后在可视化界面完成项目的数据初始化
四、确认项目部署成功
Linux介绍
- 特点:开源免费
- 常见版本:Ubuntu、CentOS、小红帽(Redhat)
- 目录结构:树状结构
Linux命令
基础格式:命令 选项 参数
-
Linux帮助手册
格式:
命令 --help
man 命令
-
ls :了解当前目录下都有哪些文件
格式:ls 选项
-a:全部文件(包括隐藏文件)
-l:以列表方式查看目录下的文件
-h:显示文件大小
-
通配符
*:代表任意字符(长度和类型)
?:代表一个任意字符
[abcd] [a-z]:代表匹配的指定一个字符
-
cd文件目录的切换
格式:
绝对路径切换目录:cd /目录名称
相对路径切换目录:cd ./目录名称
-
mkdir:创建目录
格式:
mkdir 目录名称---创建单个目录
mkdir -p /目录名称/目录名称---目录中再创建目录
-
touch:创建文件
格式:touch 文件名称
-
rm:删除文件或目录名称
格式:rm -rf 文件或目录名称
选项:
-i:删除文件时进行提示
注意:不加任何选项,默认有提示
-r:删除目录
-f:取消删除时的提示
-
cp:复制文件或目录
格式:
cp 源文件 目标文件
cp -r 源目录 目标目录
-r:删除目录
-
mv:移动文件或重命名
格式:mv 源文件/目录名称 要修改文件/目录名称
-
cat、more、grep:查看文件信息
格式:
cat -n 文件名称
more 文件名称
grep -n 文件名称
-i 忽略大小写 -n 带上行号 -v 取反
-
grep 正则表达式
^ 搜索行首开头的内容
$ 搜索行尾的内容
[ ] 匹配[]中的任意一个字符
格式:grep –n ^a 文件名称
-
重定向:把执行的结果保存到其他文件中
格式:执行的结果 > >> 保存到的文件名称
> 覆盖
>> 追加
-
管道符:对于输出的结果,进行额外处理
格式:输出结果 | 对结果额外处理
-
pwd:查看当前所在路径
-
clear(Ctrl+L):清频幕
-
which:查看某一个工具的安装目录
信息系统相关命令
-
shutdown:重启与关机
格式:
shutdown -h now 关机
shutdown -r now 重启
now--现在
21:00 --定时关机,24小时制
+10--延迟时间再执行
-
ps:查询进程号
使用场景:某一个软件(程序)卡死,需要将其进程结束,必须需要查到它的进程号
格式:ps -aux | grep 程序名称
-
top:实时查看系统进程相关信息
使用场景:当服务器运行缓慢,查看当前程序的服务器资源占用情况,确认是否将使用高的进程给杀死
格式:top
M:根据内存的大小降序显示进程信息
P:根据CPU使用率大小降序显示进程信息
q/Ctrl+c:退出top命令
-
kill:结束进程
格式:kill -9 进程号
-
netstat:查看程序端口号
格式:netstat -anp | grep 程序名称
-a:显示所有已打开的端口
-p:显示对应的进程id
-n:用数字显示对应的端口,不用别名显示
-t:显示所有Tcp协议端口
-u:显示所有udp协议端口
-
lsof:查看端口号是否被占用
格式:
lsof -i:端口号
-
tail、head:查看日志
使用场景:开启文件,在系统中复现BUG,获取系统日志信息。将信息发给开发就可以进行问题定位
格式:
tail -f 日志文件名称 | grep -n 错误信息过滤---实时显示日志并过滤关键字
head -15---显示日志文件开头15行内容
tail -15---显示日志文件最后15行内容
常见错误信息:(400、404、401、403、error、carsh)
-
ls:查看权限
格式:ls -l 文件或目录名称
读(read)---r ——4
写( write)---w——2
执行(execute)---x——1
角色分类:
拥有者权限:创建该文件/目录的人(角色)
组权限:拥有者所在分组的其他用户
其他用户:与拥有者不在同一个组的其他角色
类型:
文件(-)
目录(d)
软连接(l)
-
chmod:修改文件或目录权限
使用场景:测试环境部署项目时,将项目的安装包放入到linux服务器之后,需要设置权限。不然没有办法完成数据的读、写、执行
格式: chmod -R 777 文件名称/目录
注:更改目录下所有文件的权限,加入选项
-R -
whoami:查看当前用户名
-
切换用户:su 用户名
注:管理员(root)切换任意用户,不用输入用户的密码;用户切换管理员,需要输入管理员密码
-
exit:用户退出
-
find :查找指定文件、目录
格式:find / –name 文件名 /目录名称
说明:
./从当前路径进行查找;/从根目录进行查找:/xxx从指定目录中进行查找 -
tar:打包和解包
格式:
打包:tar -cvf 打包名称.tar 被打包文件/目录
解包:tar -xvf 打包名称.tar -C 指定目录名称
-c:create--创建
-v:进度
-f:files(文件)
注:
f选项,必须放在最后面
-C必须大写
-
gzip、zip:压缩和解压缩
gzip格式:
压缩:tar -zcvf 压缩包名称.tar.gz 被压缩文件/目录
解压:tar -zxvf 压缩包名称.tar.gz -C 指定目录名称
zip格式:
压缩:zip -r 压缩名称.zip 被压缩文件/目录
解压:unzip -dn 指定解压目录 压缩包名称.zip
-
rz:上传文件
-
vi编辑器:编辑Linux系统中的文件内容
-
使用vi编辑器打开文件(命令行模式):vi 文件名
注意:文件名必须带上后缀,不然编辑的就是全新的文件
-
编辑文件(插入模式):
-
默认不能编辑。因为默认的模式是命令模式,只能写命令
-
按a/i/o,进行"插入(insert)"模式,这时候才可以编辑
-
-
保存文件(末行模式):
-
按"Esc"退出插入模块
-
进入末行模式:按键"shit"加上":"
-
末行模式中输入:
wq:保存后退出
q!:不保存直接退出
-
-