Linux项目环境部署以及命令

162 阅读8分钟

Linux项目环境部署

一、项目部署之前的准备

  • 项目的技术框架:确认需要安装的软件

    1. 软件套件安装
    2. 套件下载地址: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 文件并未生成,导致文件无法读取

image-20230914130114684.png

​ 处理思路: 在 /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,保存退出

image-20230914131341390.png

注:处理完之后,必须重启/关闭虚拟器,然后再查看Nginx状态是否正常
处理后如图:

image-20230914131638908.png

三、初始数据库

  • 在浏览器中输入虚拟机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系统中的文件内容

    1. 使用vi编辑器打开文件(命令行模式):vi 文件名

      注意:文件名必须带上后缀,不然编辑的就是全新的文件

    2. 编辑文件(插入模式):

      1. 默认不能编辑。因为默认的模式是命令模式,只能写命令

      2. 按a/i/o,进行"插入(insert)"模式,这时候才可以编辑

    3. 保存文件(末行模式):

      1. 按"Esc"退出插入模块

      2. 进入末行模式:按键"shit"加上":"

      3. 末行模式中输入:

        wq:保存后退出

        q!:不保存直接退出