天天搜图小程序后端宝塔搭建 教程

大家好,我是仙生。

源于在使用宝塔搭建的时候遇到的一系列问题,因为本人不是程序员出生,遇到不少环境上的问题,群主比较忙不忍常打扰一些简单的问题,遂经过网上搜索,将一系列解决的办法记录下来。

一、创建网站

首先,我们创建一个网站,并同步创建好数据库,前期的lnmp环境搭建由宝塔面板一键搭建,就不介绍了。

image-20230814230310052

已经解析域名的用域名,没有的就直接IP地址,创建好之后尝试访问一下这个站点,显示下图就说明端口等访问一切正常,免得后期要排查端口问题或者其他问题

image-20230814230530513

上传源码

删除创建网站生成的预文件,上传项目源码并解压

image-20230814230611012

image-20230814230832349

php环境需要做的操作

卸载一些已预安装的扩展

image-20230814225844510

image-20230814225903058

然后要把网站的运行目录设置为public,注意去掉放跨站攻击的勾

image-20230814234255709

php禁用函数中删除putenv

image-20230815004056539

然后打开终端,在网站根目录输入以下代码,安装所需要的依赖包

1
composer install

image-20230814232203121

看到一下界面,说明依赖成功安装了。

image-20230814232514430

然后创建配置文件.env,该文件用于数据库的连接、七牛云和Redis等的配置,非常重要。

1
cp .env.example .env

然后配置这个文件,下面列出比较重要的配置项

  • 数据库配置
1
2
3
4
5
6
7
8
9
10
11
`DB_CONNECTION=mysql`
`DB_HOST=数据库主机地址`
`DB_PORT=数据库端口`
`DB_DATABASE=数据库名称`s
`DB_USERNAME=数据库账号`
`DB_PASSWORD=数据库密码`

`REDIS_HOST=Redis主机地址`
`REDIS_PASSWORD=Redis密码,没设置可以不填、填null或者直接删掉这项都可以`
`REDIS_PORT=Redis端口号`
`REDIS_DB=Redis数据库编号,可以默认为0`
  • 七牛云配置
1
2
3
4
5
6
7
8
QINIU_DOMAINS=七牛云上自定义的域名
QINIU_HTTPS=七牛云上自定义的域名(https协议)
QINIU_CUSTOM=七牛云上自定义的域名
QINIU_ACCESS_KEY=七牛云appkey
QINIU_SECRET_KEY=七牛云appsecret
QINIU_BUCKET=七牛云存储自定义的空间名称
QINIU_NOTIDY_URL=可以不填,这个是回调通知使用的,后续版本更新会用到
QINIU_URL=七牛云上自定义的域名
  • jwt加密key配置
1
JWT_KEY=jwt的key,这里随意填写一个字符串即可
  • 微信小程序配置
1
2
WX_ID=微信小程序的appid
WX_KEY=微信小程序的appsecret
  • 额外配置
1
2
3
4
ADMIN_HTTPS=管理端是否强制使用域名,这里推荐设置为true。值只能是false或者true。

ADMIN_ID=默认创建人的id,这里可以先随机填一个,等你发布上线,你通过小程序注册之后,更改为你自己的id,作用后期再讲。
AUTHOR_ID=默认作者的id,这里可以先随机填一个,等你发布上线,你通过小程序注册之后,更改为你自己的id,作用后期再讲。

根据自己的环境去配置上面说的东西。

然后把数据库文件导入到数据库中。

然后你需要在项目根目录下执行命令: php artisan key:generate 该命令会生成APP KEY并写入到.env文件中

1
php artisan key:generate

image-20230814234457526

否则会报错

image-20230814234521434

然后再次尝试访问你的网站,你发现你跳转到gitee的源码页面去了,这没有关系,可改可不该,因为我们的后端需要加/admin进入,如果你的还是显示403或是其它页面,尝试输入以下代码清空缓存,这玩意儿很有用,很有用!!!有事没事清理一下,非常有用。

1
2
php artisan cache:clear
php artisan config:cache

同时你还需要打开伪静态,这一步不知道是不是必要的。已经确认过,是必要的

image-20230814234920294

然后你就发现可以登录了,账号密码默认admin,如果不是的话去数据库把密码改成下面这串,好像是admin

$2y$10$/CpTcHb.CwuUvKXHMjn.U.miYQlhT5aFTOoR5v7C53mCeURF8BQNC

或者使用以下命令重置密码:php artisan admin:reset-password

image-20230815234634587

打开这玩意儿

然后需要用户登陆+创作者认证,获取ADMIN_ID和AUTHOR_ID然后填到.env文件的相应位置中。

创作者认证需要注意的一点是小程序需要用相应的获取用户头像的隐私权限。

其它注意事项:

有报错的时候多看看文件的权限、缓存问题等等。