1 项目准备

  • 环境部署准备
  • 项目环境部署

1 TPShop环境部署

选择架构:LNMP

1.1 环境安装的准备


区别:

  • VMware虚拟机:虚拟模拟的电脑
  • Linux:相当于电脑上的系统
  • cenOS:Linux的一个发行版本

1.2 远程连接步骤

  1. 远程机器查看IP地址,使用命令ifconfig

  1. 本地机器测试是否能ping通远程机器IP地址,我用的是Windows,命令是ping 远程IP地址


4. 本地远程连接,使用Finalshell,选择ssh连接。


![在这里插入图片描述](https://img-blog.csdnimg.cn/0d3d054af4fe47d58f1bf6cac7d704a1.png)

1.3 切换root管理员用户

sudo su


注意:提醒自己是否为root的一种方法是检查命令提示符。如果您以普通用户身份登录,许多系统以美元符号(“$”)结束其命令提示符,如果您以root身份登录,则以井号(“#”)结尾。

2 nginx部署

2.1 nginx 安装

使用yum安装下载。

  1. 安装依赖。
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
  1. 添加nginx的源地址。
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  1. 安装nginx服务,安装完成如下图。
yum -y install nginx

  1. 查看nginx启动状态。
systemctl status nginx
  1. 启动nginx服务。
systemctl start nginx
  1. 添加nginx服务到开机启动。
systemctl enable nginx

2.2 关闭防火墙(搭建环境准备)

  1. 停止firewall服务。
systemctl stop firewalld.service
  1. 禁止firewall开机启动。
systemctl disable firewalld.service

2.3 nginx验证

  1. 在浏览器地址栏中输入对应的Linux本机IP地址, 显示以下图片信息即完成。

3 php部署

3.1 php安装

  1. 添加PHP的源地址。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm


  1. 安装PHP的基本组件。(这里很糊涂安装了3次,最后也不知道怎么装成功的,附上安装成功的部分截图)
yum -y install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70wldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64 php70w-gd.x86_64 php70w-mysqli

  1. 安装PHP-fpm(进程管理器,提供PHP进程管理方式,可以有效控制内存和进程、平滑重载PHP配置)

3.2 php启动

  1. 查看版本以检测是否安装成功。
php -v


2. 安装完之后启动。

systemctl start php-fpm
  1. 设置开机启动。
systemctl enable php-fpm
  1. 加载php-fpm的配置文件。
systemctl daemon-reload

4 验证php与nginx的联动性

  1. 修改nginx的配置文件。
vi /etc/nginx/conf.d/default.conf
  1. 在配置文件的server节点中增加以下内容。
    先输入i,再添加下列代码,添加完成后输入:wq保存退出。(注意检查是否有错漏)
location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name; include fastcgi_params; }
  1. 重启nginx服务器。
nginx -s reload
  1. 在项目默认路径下创建测试引导文件index.php。
echo "\<?php phpinfo(); ?>" >/usr/share/nginx/html/index.php
  1. 在当前电脑的浏览器当中输入:虚拟机的IP地址/index.php

5 TPshop部署

5.1 上传tpshop项目源码

  1. 上传Tpshop的源码包【TPshop_20190115.zip】到特定目录 /usr/share/nginx/html。
  • 先拷贝到用户目录。

  • 再移动到特定目录 /usr/share/nginx/html。
sudo su                //使用root用户
请按密码:
whoami                 //可以查看到现在切换成根目录
pwd                    //查看当前目录
cd /home/admin         //切换到admin目录
ls                     //查看是否有TPshop_20171106_v2.0.9.zipmv TPshop_20171106_v2.0.9.zip /usr/share/nginx/html     //将TPshop_20171106_v2.0.9.zip移动到html文件夹
ls                     //查看是否有TPshop_20171106_v2.0.9.zip
  1. 目录切换到 /usr/share/nginx/html。
cd /usr/share/nginx/html
  1. 解压缩文件到当前路径。
unzip TPshop_20190115.zip
  1. 修改html目录下所有文件权限。
chmod -R 777 *

5.2 修改nginx的配置文件

  1. 将/etc/nginx/conf的default.conf文件修改nginx原有配置文件的内容。
vi /etc/nginx/conf/default.conf
  • 按i进行插入编辑,需要将default.conf 里的root 改成项目所在的路径,再按Esc,:wq保存退出。
  1. 重启nginx服务。
systemctl restart nginx

5.3 修改linux及mysql的安全配置

  1. 临时关闭SELinux的权限。
setenforce 0
  1. 永久关闭SELinux的权限,修改/etc/selinux/config为如下:
SELINUX=disabled
  1. 在/etc/my.cnf的mysqld下增加以下配置项:
  • 首先 vi /etc/my.cnf,再添加下列语句。
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  1. 修改mysql的配置文件之后,重启mysql。
systemctl restart mysqld

5.4 初始化tpshop项目

  1. 在浏览器地址栏中输入 ip/index.php, 会进入到tpshop的安装页面。(输入 ip/index.php,会自动跳转到 ip/install/index.php)

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

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

    在填写数据库密码中,我出现的错误信息:请在mysql配置文件修sql-mode或sql_mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION。
    则重复

  • 在/etc/my.cnf的mysqld下增加以下配置项:(注意:要添加在[mysqld]中)
  • 首先 vi /etc/my.cnf,再添加下列语句。
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 修改mysql的配置文件之后,重启mysql。
systemctl restart mysqld
  1. 在创建数据页面中,输入对应的信息(如下图),点击创建数据,即可安装,安装成功如下图。


TPshop创建表如下:

6 环境验证

安装完成之后,在完成的页面点击 “进入前台”,能够打开tpshop首页,且能打开二级页面,就说明环境搭建成功。

打开二级页面:

6.1 打不开二级页面解决方法

费了九牛二虎之力,之前也没学过php,没了解过nginx,重装了10几次,翻阅各种资料,终于解决了打不开二级页面的问题。

将本机安装的nginx的default.conf配置。
注:要将root改成项目所在的文件夹。

server {listen       80;server_name  0.0.0.0;#access_log  /var/log/nginx/host.access.log  main;#    location / {#        root   /usr/share/nginx/html/TPshop_20190115;
#        index  index.html index.htm;
#    }location / {root   /usr/share/nginx/html/TPshop_20190115;index  index.htm index.html index.php;  if (!-e $request_filename){#地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)rewrite ^/(.*)$ /index.php?s=$1 last;break;}}#上面的正则能解决不带xx.php的,这条正则是为了rewrite url中带index.php/admin/admin/login这种,思路是一样的,将index.php后的字符串当成参数location ~ /.*\.php/ {rewrite ^(.*?/?)(.*\.php)(.*)$ /$2?s=$3 last;break;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {root           /usr/share/nginx/html/TPshop_20190115;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME$document_root$fastcgi_script_name;include        fastcgi_params;}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}

【Linux / 数据库】项目实战:tpshop项目在Linux系统环境搭建相关推荐

  1. yii2项目实战-博客管理平台的搭建

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 返回通知列表 下一条 上一条 分享资讯 传PPT/文档 提问题 写博客 传资源 创建项目 创建代码片 ...

  2. 【Selenium项目实战】项目环境搭建:安装JDK、mysql、Tomcat、jpress和测试系统

    前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210416. [Selenium项目实战] 项目环境搭建:安装JDK.mysql.Tomcat.jpress和测试系统 需求分 ...

  3. 【项目】基于SaaS的餐掌柜项目实战 阶段一 基于SaaS的餐掌柜项目实战 第1章 基础架构搭建 1 餐掌柜需求分析

    [项目]基于SaaS的餐掌柜项目实战 文章目录 [项目]基于SaaS的餐掌柜项目实战 阶段一 基于SaaS的餐掌柜项目实战 第1章 基础架构搭建 1 餐掌柜需求分析 1.1 餐饮行业分析 1.2 餐饮 ...

  4. 10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程)

    10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程) 一.环境搭建 二.新建工程 一.环境搭建 1.安装keil5 2.安装支持包 这里按照需求安装支持包,有F4和F1的支持 ...

  5. 软件测试项目实战(Web项目)

    软件测试项目实战(Web项目) 下载地址 资源介绍 共5天的测试项目实战讲解,大小4G.仅供软件测试人员学习交流参考,不可用作其他商业用途. 内容展示

  6. 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)......

    手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 原文: 手把手0基础项目实战(一)--教你搭建一套可自动化构 ...

  7. JavaWeb项目实战 第四部分 Linux

    文章目录 1.操作系统 1.1操作系统的作用 1.2不同领域的主流操作系统 1.3虚拟机 2.操作系统的发展史 2.1Unix 2.2C语言 2.3Minix 2.4Linux 2.4.1Linux ...

  8. 软件测试web自动化项目实战——TPshop开源商城系统

    自动化测试流程 目标 1.  熟悉自动化测试的流程 1. 自动化测试的流程 1. 需求分析 2. 挑选适合做自动化测试的功能 3. 设计测试用例 4. 搭建自动化测试环境 [可选] 5. 设计自动化测 ...

  9. linux性能优化实战 倪朋飞,Linux性能优化实战:系统的swap变高(09)

    一.实验环境 1.操作系统 root@openstack:~# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu D ...

  10. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

最新文章

  1. 高中必背88个数学公式_高中常考的88个数学公式,全部整理给你,赶紧收藏一下!...
  2. linux docker 容器运行后不退出的方法
  3. 项目进度管理:规划项目进度管理
  4. C语言执行shellcode的五种方法
  5. 为什么需要动态SQL
  6. 计算机组成原理——机器字长、指令字长、存储字长
  7. Java 实现Https访问工具类 跳过ssl证书验证
  8. mysql和sqlserver读写分离_C#简单构架之EF进行读写分离+多数据库Mysql/SqlServer
  9. 英特尔开源计算机视觉数据标签工具CVAT,加速数据注释
  10. win10浏览器闪退_Win10电脑的自带浏览器闪退怎么办?其实简单四步就可解决!...
  11. 2021新年喜庆音乐中国风背景音乐素材共39首第二辑合集下载
  12. 如何从零开始建立起一个公司的运维体系?
  13. A320M HDV 4.0主板用CH341A手动刷BIOS支持5600g
  14. 高德地图定位 地图比例缩放
  15. CSS 实现优惠券的技巧
  16. 数据分析三剑客之特征值提取(七)
  17. 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
  18. 机器人断脚_专家称在火星照片上发现远古机器人断脚!
  19. php 监听用户退出,php 利用 Inotify监视程序 用于重启服务器进程
  20. 冒险岛封包拦截研究!

热门文章

  1. js实现23种设计模式
  2. PHP微信公众平台开发高级篇--微信JS-SDK
  3. 20210218CTF伪协议绕过file_get_contents(bugkuctf的web21御结冰城感想)
  4. 迅雷下载Linux Oracle11gR2和Oracle12c
  5. Slove the {Failed to load unit 'HGCM' (VERR_INVALID_PARAMETER)}
  6. 端端Clouduolc同步索引简述
  7. ubuntu 域名解析暂时失败
  8. [转]多普达818、828+升级中文WM6.1及必装软件全过程讲解
  9. 一个学计算机的打字速度慢,电脑打字速度慢怎么办
  10. thymeleaf模板引擎即时生效的问题