TPShop环境部署
以TPshop商城为例进行环境搭建
项目技术架构
- 项目运行的电脑:(工作中)服务器,(学习中)虚拟机。
- 项目运行服务器所在操作系统:Linux操作系统。
- 项目运行必须使用的软件:数据库软件(MySQL),网址服务软件(Nginx、Apache),代码运行环境(Java、PHP)等。(具体需要根据实际情况做出选择与更改) 为了节省时间我们一般使用套件进行安装,套件地址:
https://lnmp.org/auto.html
软件套件安装
- 套件地址:
https://lnmp.org/auto.html
选择好之后我们点击生成按钮,会生成在线下载并安装对应软件的Linux命令。
项目部署前的准备
1.对安装成功的软件进行版本号检查
检查软件是否安装成功,版本号是否与要求一致
MySQL:mysql --version
Nginx:nginx -v
PHP:php -v
检查软件服务是否正常启动
MySQL:systemctl status mysqld
Nginx:systemctl status php-fpm
PHP:systemctl status nginx
异常情况处理
程序服务无法正常启动
重启服务:服务名称 restart
关闭服务:服务名称 stop
开启服务:服务名称 start
重启服务器:shutdowm -r now
服务启动、运行过程中,卡死情况
a.查看服务的进程号
ps -aux | grep 服务名称
b.结束该服务进程
kill -9 进程号
安装、启动服务时,提示端口号被占用
a.查看占用端口号的程序名称
lsof -i:端口号
#访问、设置服务程序时(远程工具连接MySQL),需要获取服务端口号
netstat -anp | grep 程序名称
配置完成之后查看Nginx状态异常处理: 出现下图内容则为异常,异常产生的原因是Nginx 启动时 PID 文件并未生成,导致文件无法读取
处理思路: 在
/usr/lib/systemd/system/nginx.service 中添加如下语句即可,作用是在执行可执行文件前等待 0.1s
-
(强调)处理完之后,必须重启/关闭虚拟器,然后再查看Nginx状态是否正常
操作如下:
-
进入vi编辑器之后在
PIDFile=/var/tun/nginx.pid 语句下加入
ExecStartPost=/bin/sleep 0.1
通过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
-
确认文件上传是否成功
命令:ls -l
解压并修改权限
-
将压缩文件进行解压-zip
原始解压命令:unzip -d ./ tpshop.zip
简化命令:unzip tpshop.zip
-
确认文件是否解压成功
将解压后目录下的所有文件和目录修改权限为满权限
chmod -R 777 www
确认修改权限成功
ls -l www
修改文件并重启服务
- 找到修改文件
命令:find / -name conf.d
- 切换到文件所在目录并查看该目录下是否有配置文件
切换命令:cd /etc/nginx/conf.d
查看命令:ls
删除配置文件
命令:rm -rf default.conf
上传配置文件
rz
-
重启服务(重启服务器)
shutdown -r now
-
查看Nginx启动状态
systemctl status nginx
服务器启动成功,无异常,环境部署就完成了,接下来我们需要初始化tpshop项目
初始化tpshop项目:
- 在浏览器地址栏中输入虚拟机 ip/index.php, 会进入到tpshop的安装页面
直接输入虚拟机ip也行
-
点击 “接受” 按钮后,会进入到环境检测试页面
-
正常情况下,环境检测应该是没有问题的,直接点击“下一步”
-
在创建数据页面中,输入对应的信息(如下图),点击创建数据,即可安装。
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系统中的文件内容
- 使用vi编辑器打开文件(命令行模式):vi 文件名
注意:文件名必须带上后缀,不然编辑的就是全新的文件
-
编辑文件(插入模式):
-
默认不能编辑。因为默认的模式是命令模式,只能写命令
-
按a/i/o,进行"插入(insert)"模式,这时候才可以编辑
-
保存文件(末行模式):
-
按"Esc"退出插入模块
-
进入末行模式:按键"shit"加上":"
-
末行模式中输入:
wq:保存后退出q!:不保存直接退出