TPShop环境部署--个人笔记

1,195 阅读9分钟

TPShop环境部署

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


项目技术架构

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

软件套件安装

  • 套件地址:https://lnmp.org/auto.html

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

image-20230914111922815.jpg

项目部署前的准备

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

检查软件是否安装成功,版本号是否与要求一致

MySQL:mysql --version

Nginx:nginx -v

PHP:php -v

3.png

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

MySQL:systemctl status mysqld

4.png

Nginx:systemctl status php-fpm

6.png

PHP:systemctl status nginx

5.png

异常情况处理

程序服务无法正常启动

重启服务:服务名称 restart

关闭服务:服务名称 stop

开启服务:服务名称 start

重启服务器:shutdowm -r now

服务启动、运行过程中,卡死情况

a.查看服务的进程号

ps -aux | grep 服务名称

b.结束该服务进程

kill -9 进程号

安装、启动服务时,提示端口号被占用

a.查看占用端口号的程序名称

lsof -i:端口号

#访问、设置服务程序时(远程工具连接MySQL),需要获取服务端口号

netstat -anp | grep 程序名称

配置完成之后查看Nginx状态异常处理: 出现下图内容则为异常,异常产生的原因是Nginx 启动时 PID 文件并未生成,导致文件无法读取

7.png 处理思路: 在 /usr/lib/systemd/system/nginx.service 中添加如下语句即可,作用是在执行可执行文件前等待 0.1s

  • (强调)处理完之后,必须重启/关闭虚拟器,然后再查看Nginx状态是否正常

    操作如下: 8.png

  • 进入vi编辑器之后在

PIDFile=/var/tun/nginx.pid 语句下加入

ExecStartPost=/bin/sleep 0.1

9.png

通过vi编辑器打开文件进行处理

1、使用命令 vi 文件名(nginx.service) 打开文件

2、按a/n/i键,进入插入模式

3、找到需要修改的位置,修改对应的文件内容

ExecStartPost=/bin/sleep 0.1

4、按ESC键,按 shift+: 进入末行模式

5、输入wq,保存退出

操作完成后,必须重启/关闭虚拟器,然后再查看Nginx状态是否正常。重新启动后查看Nginx状态是否正常,若全部安装的软件服务正常启动,则可以开始项目部署。

项目部署

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

上传项目包
  • 切换到指定目录(源码安装包,放置位置)

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

  • 查看当前目录地址是否正确

    pwd

  • 文件上传

    命令:rz

12.png

  • 确认文件上传是否成功

    命令:ls -l

解压并修改权限
  • 将压缩文件进行解压-zip

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

    ​ 简化命令:unzip tpshop.zip

  • 确认文件是否解压成功

    将解压后目录下的所有文件和目录修改权限为满权限

chmod -R 777 www

确认修改权限成功

ls -l www

Snipaste_2023-09-14_12-10-47.png

修改文件并重启服务
  • 找到修改文件

命令:find / -name conf.d

  • 切换到文件所在目录并查看该目录下是否有配置文件

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

查看命令:ls

删除配置文件

命令:rm -rf default.conf

上传配置文件

rz

48.png

  • 重启服务(重启服务器)

    shutdown -r now

  • 查看Nginx启动状态

    systemctl status nginx

49.png

服务器启动成功,无异常,环境部署就完成了,接下来我们需要初始化tpshop项目

初始化tpshop项目:

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

直接输入虚拟机ip也行

  1. 点击 “接受” 按钮后,会进入到环境检测试页面

  2. 正常情况下,环境检测应该是没有问题的,直接点击“下一步”

  3. 在创建数据页面中,输入对应的信息(如下图),点击创建数据,即可安装。

a.png

5.环境检验

能够打开tpshop首页,且能打开二级页面,就说明环境搭建成功

  • 我们可以通过浏览器直接访问

进入tpshop前端页面:http://服务器(虚拟机)IP

进入tpshop后端管理页:http://服务器(虚拟机)IP/admin

TPshop商城环境搭建到这里就完成了。

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 文件名

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

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

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

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

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

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

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

  7. 末行模式中输入:

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