【Linux / 数据库】项目实战:tpshop项目在Linux系统环境搭建
1 项目准备
- 环境部署准备
- 项目环境部署
1 TPShop环境部署
选择架构:LNMP
1.1 环境安装的准备
区别:
- VMware虚拟机:虚拟模拟的电脑
- Linux:相当于电脑上的系统
- cenOS:Linux的一个发行版本
1.2 远程连接步骤
- 远程机器查看IP地址,使用命令
ifconfig
。
- 本地机器测试是否能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安装下载。
- 安装依赖。
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
- 添加nginx的源地址。
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- 安装nginx服务,安装完成如下图。
yum -y install nginx
- 查看nginx启动状态。
systemctl status nginx
- 启动nginx服务。
systemctl start nginx
- 添加nginx服务到开机启动。
systemctl enable nginx
2.2 关闭防火墙(搭建环境准备)
- 停止firewall服务。
systemctl stop firewalld.service
- 禁止firewall开机启动。
systemctl disable firewalld.service
2.3 nginx验证
- 在浏览器地址栏中输入对应的Linux本机IP地址, 显示以下图片信息即完成。
3 php部署
3.1 php安装
- 添加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
- 安装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
- 安装PHP-fpm(进程管理器,提供PHP进程管理方式,可以有效控制内存和进程、平滑重载PHP配置)
3.2 php启动
- 查看版本以检测是否安装成功。
php -v
2. 安装完之后启动。
systemctl start php-fpm
- 设置开机启动。
systemctl enable php-fpm
- 加载php-fpm的配置文件。
systemctl daemon-reload
4 验证php与nginx的联动性
- 修改nginx的配置文件。
vi /etc/nginx/conf.d/default.conf
- 在配置文件的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; }
- 重启nginx服务器。
nginx -s reload
- 在项目默认路径下创建测试引导文件index.php。
echo "\<?php phpinfo(); ?>" >/usr/share/nginx/html/index.php
- 在当前电脑的浏览器当中输入:
虚拟机的IP地址/index.php
5 TPshop部署
5.1 上传tpshop项目源码
- 上传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
- 目录切换到 /usr/share/nginx/html。
cd /usr/share/nginx/html
- 解压缩文件到当前路径。
unzip TPshop_20190115.zip
- 修改html目录下所有文件权限。
chmod -R 777 *
5.2 修改nginx的配置文件
- 将/etc/nginx/conf的default.conf文件修改nginx原有配置文件的内容。
vi /etc/nginx/conf/default.conf
- 按i进行插入编辑,需要将default.conf 里的root 改成项目所在的路径,再按Esc,:wq保存退出。
- 重启nginx服务。
systemctl restart nginx
5.3 修改linux及mysql的安全配置
- 临时关闭SELinux的权限。
setenforce 0
- 永久关闭SELinux的权限,修改/etc/selinux/config为如下:
SELINUX=disabled
- 在/etc/my.cnf的mysqld下增加以下配置项:
- 首先 vi /etc/my.cnf,再添加下列语句。
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 修改mysql的配置文件之后,重启mysql。
systemctl restart mysqld
5.4 初始化tpshop项目
在浏览器地址栏中输入 ip/index.php, 会进入到tpshop的安装页面。(输入 ip/index.php,会自动跳转到 ip/install/index.php)
点击 “接受” 按钮后,会进入到环境检测试页面。
正常情况下,环境检测应该是没有问题的,直接点击“下一步” 。
在填写数据库密码中,我出现的错误信息:请在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
- 在创建数据页面中,输入对应的信息(如下图),点击创建数据,即可安装,安装成功如下图。
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系统环境搭建相关推荐
- yii2项目实战-博客管理平台的搭建
登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 返回通知列表 下一条 上一条 分享资讯 传PPT/文档 提问题 写博客 传资源 创建项目 创建代码片 ...
- 【Selenium项目实战】项目环境搭建:安装JDK、mysql、Tomcat、jpress和测试系统
前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210416. [Selenium项目实战] 项目环境搭建:安装JDK.mysql.Tomcat.jpress和测试系统 需求分 ...
- 【项目】基于SaaS的餐掌柜项目实战 阶段一 基于SaaS的餐掌柜项目实战 第1章 基础架构搭建 1 餐掌柜需求分析
[项目]基于SaaS的餐掌柜项目实战 文章目录 [项目]基于SaaS的餐掌柜项目实战 阶段一 基于SaaS的餐掌柜项目实战 第1章 基础架构搭建 1 餐掌柜需求分析 1.1 餐饮行业分析 1.2 餐饮 ...
- 10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程)
10天基于STM32F401RET6智能锁项目实战第1天(环境搭建和新建工程) 一.环境搭建 二.新建工程 一.环境搭建 1.安装keil5 2.安装支持包 这里按照需求安装支持包,有F4和F1的支持 ...
- 软件测试项目实战(Web项目)
软件测试项目实战(Web项目) 下载地址 资源介绍 共5天的测试项目实战讲解,大小4G.仅供软件测试人员学习交流参考,不可用作其他商业用途. 内容展示
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)......
手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 原文: 手把手0基础项目实战(一)--教你搭建一套可自动化构 ...
- JavaWeb项目实战 第四部分 Linux
文章目录 1.操作系统 1.1操作系统的作用 1.2不同领域的主流操作系统 1.3虚拟机 2.操作系统的发展史 2.1Unix 2.2C语言 2.3Minix 2.4Linux 2.4.1Linux ...
- 软件测试web自动化项目实战——TPshop开源商城系统
自动化测试流程 目标 1. 熟悉自动化测试的流程 1. 自动化测试的流程 1. 需求分析 2. 挑选适合做自动化测试的功能 3. 设计测试用例 4. 搭建自动化测试环境 [可选] 5. 设计自动化测 ...
- linux性能优化实战 倪朋飞,Linux性能优化实战:系统的swap变高(09)
一.实验环境 1.操作系统 root@openstack:~# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu D ...
- Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...
资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...
最新文章
- 高中必背88个数学公式_高中常考的88个数学公式,全部整理给你,赶紧收藏一下!...
- linux docker 容器运行后不退出的方法
- 项目进度管理:规划项目进度管理
- C语言执行shellcode的五种方法
- 为什么需要动态SQL
- 计算机组成原理——机器字长、指令字长、存储字长
- Java 实现Https访问工具类 跳过ssl证书验证
- mysql和sqlserver读写分离_C#简单构架之EF进行读写分离+多数据库Mysql/SqlServer
- 英特尔开源计算机视觉数据标签工具CVAT,加速数据注释
- win10浏览器闪退_Win10电脑的自带浏览器闪退怎么办?其实简单四步就可解决!...
- 2021新年喜庆音乐中国风背景音乐素材共39首第二辑合集下载
- 如何从零开始建立起一个公司的运维体系?
- A320M HDV 4.0主板用CH341A手动刷BIOS支持5600g
- 高德地图定位 地图比例缩放
- CSS 实现优惠券的技巧
- 数据分析三剑客之特征值提取(七)
- 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
- 机器人断脚_专家称在火星照片上发现远古机器人断脚!
- php 监听用户退出,php 利用 Inotify监视程序 用于重启服务器进程
- 冒险岛封包拦截研究!
热门文章
- js实现23种设计模式
- PHP微信公众平台开发高级篇--微信JS-SDK
- 20210218CTF伪协议绕过file_get_contents(bugkuctf的web21御结冰城感想)
- 迅雷下载Linux Oracle11gR2和Oracle12c
- Slove the {Failed to load unit 'HGCM' (VERR_INVALID_PARAMETER)}
- 端端Clouduolc同步索引简述
- ubuntu 域名解析暂时失败
- [转]多普达818、828+升级中文WM6.1及必装软件全过程讲解
- 一个学计算机的打字速度慢,电脑打字速度慢怎么办
- thymeleaf模板引擎即时生效的问题