今天是个很特别的日子 因为我最近在部署一个php项目 我从来都没有学过php项目,完全是零基础,但是我用宝塔部署过Java项目,于是我按着官方文档部署php项目,可谓是bug百出,挫折不穷。
如果我没记错的话,我已经折腾三四天了因为部署这个项目。但是今天终于成功了,,,开心开心开心!!!!哈哈哈哈哈哈!!!
接下来让我娓娓道来我的踩坑经历。
部署php项目嘛,先从宝塔说起。
首先你要有一台服务器,重装系统选择宝塔,然后登录宝塔控制面板,
- 点击网站->添加站点->添加域名
- 然后把项目目录上传到www.wwwroot+你的域名下面。
- 在站点设置下,网站目录就是项目目录,运行目录为public不同的项目运行目录可能不一样
- 你需要在宝塔的软件商店里安装运行项目需要的各种工具,包括但不限于,MySQL、Redis、PHP对应的版本、Nginx、phpMyAdmin等等。
- 安装工具后导入数据库sql文件,其中phpMyAdmin是在宝塔里的数据库可视化工具,在那里面也可以看到数据。
- 但是也可以用你本地的navicat远程连接你服务器的数据库。
- 你需要在宝塔里点击数据库以root的身份登录,如图
授权法
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser' @ '%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION ;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser' @ '192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION ;
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
5、如果不行应该需要服务器的防火墙放开3306端口
退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录
当然在控制面版里用phpMyadmin也是可以用的,这里只是提供远程连接服务器的一种方式。
安装redis扩展,启用redis服务
在宝塔的控制面版中,点击软件商店,点击你安装的php版本
在安装扩展中选择redis,这个很重要如果你的项目部署后报错说没有找到Redis或连接失败、拒绝访问极有可能就是这里出了问题,同时也可以在phpinfo中查看其它信息
[0] RedisException in redis.php line 21 Connection refused
致命错误: Class 'Redis' not found
修改配置文件
然后在redis中看看自己的bind和密码,在你的项目配置文件也需要修改数据库的地址、账号和密码就可以了。
如果项目部署后报这样的错误
Warning: require(): open_basedir restriction in effect.
那就需要把这个关闭