手把手教你Linux项目环境部署

172 阅读9分钟

项目技术架构(前置准备):

  1. 项目运行的电脑:(工作中)服务器,(学习中)虚拟机。
  2. 项目运行服务器所在操作系统:Linux操作系统。
  3. 项目运行必须使用的软件:数据库软件(MySQL),网址服务软件(Nginx、Apache),代码运行环境(Java、PHP)等。(具体需要根据实际情况做出选择与更改) 为了节省时间我们一般使用套件进行安装,套件地址lnmp.org/auto.html

1.png

选择好之后我们可以点击生成按钮,会生成在线下载并安装对应软件的Linux命令。

2.png 3.png

安装完成后我们需要进行以下检查:

1.对安装成功的软件进行版本号检查

  1. MySQL:mysql --version 4.png
  2. Nginx:nginx -v
    6.png
  3. PHP:php -v 7.png

2.检查软件服务是否正常启动

  1. MySQL:systemctl status mysqld 8.png
  2. Nginx:systemctl status php-fpm 9.png
  3. PHP:systemctl status nginx 10.png
异常处理:
  • 异常产生的原因:
  • 是Nginx 启动时 PID 文件并未生成,导致文件无法读取
  • 处理方法:在/usr/lib/systemd/system/nginx.service目录下添加语句:
  • ExecStartPost=/bin/sleep 0.1

  • 作用是在执行可执行文件前等待0.1秒。

11.png

12.png

13.png

当软件运行无异常后我们就可以进行项目部署了

1.首先查看虚拟机/服务器的IP地址

  • 命令: ifconfig

11.png

2.在浏览器输入IP地址会显示欢迎来到Nginx的页面

3. 切换到指定目录(源码压缩包需要放置的位置)

  • 命令:cd 指定目录

4. 确认切换路径是否正确

  • 命令:pwd

5. 上传文件

  • 命令:rz

  • 输完命令点击回车,会弹出目录,我们需要选择需要的压缩包进行上传

6. 确认文件是否上传成功

  • 命令:ls

  • 查看当前目录下是否显示上传的压缩包

7. 解压文件

  • 原始解压命令:unzip -d ./ 压缩包名称

  • 简化解压命令:unzip 压缩包名称

8. 确认文件是否解压成功

  • 命令:ls

  • 查看当前目录下是否有解压后的文件

9. 修改权限

  • 命令:chmod -R 777 解压后的文件的目录

10. 确认权限是否修改成功

  • 命令:ls -l 解压后的文件的目录

11. 查找网址服务程序配置文件所在路径

  • 命令:find / -name 配置文件目录名称

12. 切换到配置文件所在目录,并查看配置文件是否在目录下

  • 切换命令:cd /etc/nginx/配置文件目录名称

  • 查看命令:ls

13. 删除配置文件,并确认是否删除成功

  • 命令:rm -rf 配置文件名称

14. 上传最新的配置文件

  • 命令:rz

  • 输入命令后点击回车,会弹出目录,选择配置文件进行上传

15. 上传后查看配置文件是否上传成功

  • 命令:ls

  • 查看配置文件是否在当前目录下

16. 重启服务,确认网址服务程序是否启动成功

  • 重启程序命令:systemctl restart nginx

  • 也可以直接重启服务器:命令:shutdown -r now

  • 查看命令:systemctl status nginx

17.最后我们在浏览器输入以下网址进入部署的项目的前后台:

我们以TPshop商城为例进行环境搭建:

上传项目压缩包文件到 /usr/share/nginx/html (需要根据实际情况选择压缩包上传的位置)
配置文件目录:/etc/nginx/conf.d(一般会告诉我们配置文件路径,如果没有我们可以通过配置文件名称进行查找)

1. 切换到指定目录(源码压缩包需要放置的位置)

  • 命令:cd /usr/share/nginx/html

111.png

2. 确认切换路径是否正确

  • 命令:pwd

222.png

3. 上传文件

  • 命令:rz

333.png 444.png

4. 确认文件是否上传成功

  • 命令:ls

555.png

5. 解压文件

  • 原始解压命令:unzip -d ./ tpshop.zip

  • 简化解压命令:unzip tpshop.zip

777.png

6. 确认文件是否解压成功

  • 命令:ls

666.png

7. 修改权限

  • 命令:chmod -R 777 www

888.png

8. 确认权限是否修改成功

  • 命令:ls -l www

999.png

9. 查找网址服务程序配置文件所在路径

  • 命令:find / -name conf.d

1111.png

10. 切换到配置文件所在目录,并查看配置文件是否在目录下

  • 切换命令:cd /etc/nginx/conf.d

  • 查看命令:ls

2222.png

11. 删除配置文件,并确认是否删除成功

  • 命令:rm -rf default.conf

3333.png

12. 上传最新的配置文件

  • 命令:rz

4444.png 6666.png

13. 查看配置文件是否上传成功

  • 命令:ls

5555.png

14. 重启服务,确认网址服务程序是否启动成功

  • 重启程序命令:systemctl restart nginx

  • 也可以直接重启服务器:命令:shutdown -r now

  • 查看命令:systemctl status nginx

7777.png

到这里我们完成了环境部署,接下来我们需要初始化tpshop项目

初始化tpshop项目:

1.在浏览器地址栏中输入 服务器(虚拟机)ip/index.php , 会进入到tpshop的安装页面

  • 在浏览器输入 服务器(虚拟机)ip/index.php,我们看到的页面为下图,我们点击“接受”

a.png

  • 我们看到的页面为下图,正常情况下,环境检测应该是没有问题的,直接点击“下一步”

b.png

  • 我们看到的页面为下图,在创建数据页面中,输入对应的信息,点击“创建数据”,即可安装

c.png

  • 安装完成后,我们看到以下页面

d.png

2.我们可以在浏览器输入 服务器(虚拟机)的ip地址 进入tpshop的前端页面 输入服务器(虚拟机)的ip地址/admin 进入tpshop的后端页面

  • 在浏览器输入 服务器(虚拟机)ip 后,我们会看到以下页面

e.png

  • 在浏览器输入 服务器(虚拟机)ip/admin 后,我们会看到以下页面

f.png

到这里我们的TPshop商城环境搭建就完成了

Linux相关介绍:

Linux 介绍

1.      操作系统:管理软、硬件的媒介

2.      常见操作系统:windows,Mac,Linux,Unix,Android,ios

3.      Linux特点:开源免费

4.      Linux常见版本:Ubuntu,CentOS,Redhat(小红帽)

5.      Linux使用领域:应用服务器,数据库服务器,移动手机

Linux 文件目录结构

1.      目录结构:树状结构

2.      常见的目录及存放文件:

/home:用户目录(资料、文件、软件)

/bin:放工具

/root:权限管理程序

/usr:软件

Linux命令:

Linux 命令格式

1.      基础格式:命令 选项 参数 (选项,参数选填)

2.      Linux帮助手册(首选百度)

help:命令 --help(ls --help)

man:man 命令(man ls)

查看目录内容--ls

ls [选项] [文件或目录]

-l:以列表方式详细显示内容信息

-a:显示所有文件,包含隐藏文件及目录目录

-h:显示出文件的大小

切换目录--cd

cd [目录名称]

cd或cd~,cd /root :到root目录

cd ./ :切换到下一级目录

cd .// :切换到上一级目录

创建目录--mkdir

mkdir [选项] 目录名称

-p:实现多个层级目录创建(套娃)

创建文件--touch

touch 文件名

删除文件或目录--rm

rm [选项] 目录名或文件名

-r:表示删除文件夹及文件夹下所有内容

-f:表示强制删除,不提示

-i:表示有提示

复制文件或目录--cp

cp [选项] 源文件 目标文件

-r:复制目录

-f:不提示

-i:有提示

-v:显示复制的进度

移动文件或目录--mv

mv 源文件 目标文件

-f:不提示

-i:有提示

查看文件命令

cat [选项] 文件名 (文件内容较少)

-n:对所有行进行行编号

-b:对非空行进行行编号

more [选项] 文件名 (文件内容较多)

grep [选项] 文件名

-n:显示行号

-v:不包含搜索的文件名(取反)

-i:忽略大小写

grep -n ^文件名 (以文件名开头)

grep -n 文件名$  (以文件名结尾)

grep -n [Ss]ifna[Ll]  (以S/s开头,以L/l结尾)

重定向-->,>>

  • 使用场景:将显示在终端的内容通过重定向添加或追加到另一个文件中

语法格式:

需要在终端展示的内容 重定向命令 保存的文件名称

">":覆盖文件中原有内容

说明:如果没有文件,创建文件之后再写入展示内容;

如果有文件,会自动删除文件之后,再创建

">>":不会覆盖原有文件(追加)

说明:如果没有文件,创建文件之后再写入展示内容;如果有文件,在文件中继续写入展示内容

如:ls -l  >  1.txt

管道符--|

  • 作用:对于输出结果(控制台展示的内容),进行额外的处理

语法格式:

输出结果(控制台内容) | 对于结果额外处理的Linux命令

分页:more

过滤:grep

如:ls -l /usr/bin | more

ls /usr/bin | grep ^au

关机与重启命令

暴力型:不管程序是否关闭,强制进行操作(可能会导致程序损害)

       重启:reboot

       关机:halt

  • 温和型:先将程序关闭之后,在进行操作(如果程序无法关闭,那么操作就无法进行)

       重启:shutdown -r 参数

       关机:shutdown -h 参数

参数:

1、now(立刻关闭)

2、24小时时间(定时关闭)

3、+数字(延迟多少时间进行关闭)

1.工作重启或关机,一定是使用温和型方式操作

2.如果遇到程序无法自动关闭导致操作进行不下去,怎么办?

  a.通过进程,执行Linux命令关闭该程序

  b.再使用温和型方式进行操作

查看系统进程--ps(获取进程号PID)

  • 使用场景:某一个软件(程序)卡死,需要将其进程杀死,那么首先要查看它的进程号

ps -aux

-a:显示所有进程

-u:显示详细状态

-x:显示没有控制终端的进程

结合grep:ps -aux | grep mysql

查看系统进程--top(实时动态查看,相当于Window的任务管理器)

  • 使用场景:服务器运行缓慢

top

M:内存大小排序

P:CPU使用率排序

q:退出

关闭进程--kill

kill -9 进程号   (强制关闭对应的进程)

查看系统监听端口--netstat

  • 使用场景:查看某一个程序在服务器中运行时的端口号(访问某个程序时,需要设置端口号)

netstat -anp

-a:显示所有端口

-n:用数字显示对应的端口

-p:显示进程id

结合grep:netstat -anp | grep [程序名称](查看某个程序的端口)

查看系统监听端口--lsof

  • 使用场景:启动服务器中的某一个程序,发现启动失败。查看其中程序使用的默认端口号是否被占用

lsof -i  (如果不给出条件,打开所有进程)

lsof -i:3306 (显示使用端口3306的进程信息)

查看日志信息命令

head 文件名 (默认显示前十行内容)

head -20 文件名 (显示前二十行内容)       

tail 文件名 (默认显示最后十行内容)

tail -20 文件名 (显示最后二十行内容)

tail -f 日志文件信息 | grep -n 错误信息过滤(404,400,401,403,error)

权限基本概念

读    read    r  4

写    wirte   w  2

执行 execute  x  1             

修改用户权限-chmod   

  • 使用场景:测试环境部署项目时,将项目的安装包放入Linux服务器后,需要设置权限

chmod  [选项] 权限数字 文件名

更改目录下所有文件权限:-R

755分别表示:拥有者权限(rwx)/用户组权限(rx)/其他用户权限(rx)

用户管理--查看登录账户、切换用户、用户退出

查看当前用户:whoami

切换用户:su 用户名

用户退出:exit

查找指定文件

  • 使用场景:进行环境部署时,将安装包解压之后需要针对某个配置文件进行修改

find 路径(范围) -name 查找文件/目录名称

打包和解包

打包

tar -cvf 打包名称.tar 被打包的文件/路径

-c:create创建

-v:进度

-f(必须放在最后面):files文件

解包

解在当前目录:tar -xvf 打包的名称.tar

解在指定目录:tar -xvf 打包的名称.tar -C 路径名称

压缩和解压缩

  • gzip

压缩

tar -zcvf 压缩名称.tar.gz 被压缩的文件/路径

解压缩

解压到当前目录:tar -zxvf 压缩包的名称.tar.gz

解压到指定目录:tar -zxvf 压缩包的名称.tar.gz -C 路径名称

  • zip

压缩:

zip -r 压缩名称.zip 被压缩的文件/路径

解压缩:

unzip -d 解压后的目录 压缩包的名称.zip

vi 编辑器

打开文件:vi 文件名(带后缀)

编辑文件:按a/i/o,进入“插入模式”,编辑内容

保存文件:

按exc退出插入模式,按shift+:进入末行模式

输入wq:保存后退出,输入q!:不保存直接退出