tpshop安装及问题记录

tpshop安装及问题记录

系统:centos7最小安装
环境:lnmp
工具:VMware
lnmp源码搭建请参考:
lnmp源码搭建:https://blog.csdn.net/qq_26741767/article/details/88176887

mysql安装路径:/usr/local/mysql
nginx安装路径:/usr/local/nginx
php安装路径:/usr/local/php
log日志存放位置:/data/logs/(对应名称/mysql或者/nginx)
nginx配置文件位置:/usr/local/nginx/conf/nginx.conf
nginx发布目录位置:/usr/local/nginx/html

创建虚拟主机配置文件夹vhost:

mkdir /usr/local/nginx/conf/vhost

tpshop源码下载:
http://www.tp-shop.cn/Index/Index/download.html
tpshop安装及问题记录_第1张图片
上传源码到发布目录:

#进入发布目录位置
cd /usr/local/nginx/html
#利用lrzsz工具上传源码,如果还没安装此工具,可以通过yum -y install lrzsz安装,rz上传,sz下载

在这里插入图片描述

解压源码文件

#安装unzip工具
yum -y install unzip
#解压
unzip TPshop20190115.zip

在这里插入图片描述

为tpshop源码文件赋权,方便后边的安装

chmod -Rf 777 /usr/local/nginx/html/TPshop_20190115

修改nginx配置文件,引入虚拟主机配置

vi /usr/local/nginx/conf/nginx.conf
#在http{}内插入以下内容引入虚拟主机配置
include /usr/local/nginx/conf/vhost/*.conf
#为什么写*不写对应的虚拟主机名的配置呢?
#是为了后期如果要配置多个虚拟主机的话,方便自动扫描加入,不用每次都手动去添加

tpshop安装及问题记录_第2张图片
虚拟主机配置www.qy_shop.com.conf内容可以参考以下:

server
    {
        listen 81;
        #listen [::]:80;
        server_name www.qy_shop.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /usr/local/nginx/html/TPshop_20190115;

        location ~* ^/(application|template|runtime)/.*\.(php|php5)$
        {
          deny all;
        }

       location / {
            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;
        }
        location ~ \.php/?.*$ {
            root  /usr/local/nginx/html/TPshop_20190115;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /usr/local/nginx/html/TPshop_20190115$fastcgi_script_name;
            include fastcgi_params;
            #set $path_info "";
            #定义变量 $real_script_name,用于存放真实地址
            #set $real_script_name $fastcgi_script_name;
            #如果地址与引号内的正则表达式匹配
            #if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                #将文件地址赋值给变量 $real_script_name
                #set $real_script_name $1;
                #将文件地址后的参数赋值给变量 $path_info
                #set $path_info $2;
            #}
            #配置fastcgi的一些参数
            #fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            #fastcgi_param SCRIPT_NAME $real_script_name;
            #fastcgi_param PATH_INFO $path_info;
        }

        location ~.*\.(jpg|png|jpeg)$
        {
            root  /usr/local/nginx/html/TPshop_20190115;
            #expires 30d;
}

     # js css缓存一小时
       location ~.*\.(js|css)$ {
           root  /usr/local/nginx/html/TPshop_20190115;
           #expires 1h;
       }
        #include other.conf;
        #error_page   404   /404.html;
        #include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }


        error_log  /data/logs/nginx/www.qy_shop.com.err;
	    access_log  /data/logs/nginx/www.qy_shop.com.log;
    }

进入源码文件,修改config.php配置文件,内容参考如下(测试使用):


// +----------------------------------------------------------------------

return [
    // 数据库类型
    'type'           => 'mysql',
    // 服务器地址
    'hostname'       => '127.0.0.1',
    // 数据库名
    'database'       => 'tpshop',
    // 用户名
    'username'       => 'root',
    // 密码
    'password'       => 'root',
    // 端口
    'hostport'       => '3306',
    // 连接dsn,虚拟机ip地址
    # 'dsn'            => '192.168.2.127',
    // 数据库连接参数
    'params'         => [],
    // 数据库编码默认采用utf8
    'charset'        => '#DB_CHARSET#',
    // 数据库表前缀
    'prefix'         => 'tp_',
    // 数据库调试模式
    'debug'          => false,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'         => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'    => false,
    // 读写分离后 主服务器数量
    'master_num'     => 1,
    // 指定从服务器序号
    'slave_no'       => '',
    // 是否严格检查字段是否存在
    'fields_strict'  => true,
    // 数据集返回类型 array 数组 collection Collection对象
    'resultset_type' => 'array',
    // 是否自动写入时间戳字段
    // 是否需要进行SQL性能分析
    'sql_explain'    => false,
];

应该尽量避免使用root用户直接操作数据库,部署数据库时应该创建一个专属用户,使用专属用户对项目数据库进行管理

创建专属管理用户:
mysql -u root -p(回车后输入密码)
create user 'tpadmin'@'localhost' identified by 'admin123';
update user set password=password("tpadmin") where user="admin123";
flush privileges;
创建数据库
create database tpshop;
为专属管理用户赋权
grant all on tpshop.* to 'tpadmin'@'localhost';
flush privileges;


修改config.php配置文件,修改如下:

// +----------------------------------------------------------------------

return [
    // 数据库类型
    'type'           => 'mysql',
    // 服务器地址
    'hostname'       => '127.0.0.1',
    // 数据库名
    'database'       => 'tpshop',
    // 用户名
    'username'       => 'tpadmin',
    // 密码
    'password'       => 'amdin123',
    // 端口
    'hostport'       => '3306',
    // 连接dsn,虚拟机ip地址
    # 'dsn'            => '192.168.2.127',
    // 数据库连接参数
    'params'         => [],
    // 数据库编码默认采用utf8
    'charset'        => '#DB_CHARSET#',
    // 数据库表前缀
    'prefix'         => 'tp_',
    // 数据库调试模式
    'debug'          => false,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'         => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'    => false,
    // 读写分离后 主服务器数量
    'master_num'     => 1,
    // 指定从服务器序号
    'slave_no'       => '',
    // 是否严格检查字段是否存在
    'fields_strict'  => true,
    // 数据集返回类型 array 数组 collection Collection对象
    'resultset_type' => 'array',
    // 是否自动写入时间戳字段
    // 是否需要进行SQL性能分析
    'sql_explain'    => false,
];

重启nginx和php

systemctl restart nginx
systemctl restart php-fpm

打开网页访问tpshop,我的ip是192.168.2.127,所以访问地址是192.168.2.127:81,页面会如下所示:
tpshop安装及问题记录_第3张图片
直接选择接受,进入下一步,环境如果出现下图的黄色感叹号告警,说明源码没有授权,回去重新授权以下即可
tpshop安装及问题记录_第4张图片
授权以后的界面应该是这样的
tpshop安装及问题记录_第5张图片
填写配置信息(如果已经创建专属管理用户,请在用户名和密码对应输入创建的用户和密码)
tpshop安装及问题记录_第6张图片
填写完成后直接创建数据,然后等待安装
tpshop安装及问题记录_第7张图片
安装完成之后会出现以下界面,至此tpshop安装完成:
tpshop安装及问题记录_第8张图片
可能出现以下错误:
tpshop安装及问题记录_第9张图片
我在虚拟机裸机装的时候没有遇到过这个情况,但是在服务器另一台装过LAMP环境的机子安装时,出现这个错误,最后发现是环境的问题,重新装了一下环境,再次安装就没问题了。

前台访问地址:http://ip:81/index.php
tpshop安装及问题记录_第10张图片
后台访问地址:http://ip:81/index.php/Admin/Admin/login
tpshop安装及问题记录_第11张图片

你可能感兴趣的:(tpshop安装及问题记录)