基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

时间:2023-11-21 17:36:14

一、 环境与版本:

主机:amazon aws EC2主机

系统:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1039-aws x86_64)

面板:宝塔免费版 6.9.5

服务:Nginx 1.16, PHP 7.2, MySQL 5.7.22(运行在amazon的RDS上,没通过宝塔面板安装,本文讨论内容不涉及数据库)

程序:ThinkPHP 5.0.24

二、 部署过程

1. 在云端开通并启动主机,做一点点必要的升级和小配置(省略,找主机商网站)。

2. 登录主机安装宝塔面板(省略,找宝塔官网)。

3. 登录宝塔面板,安装运行环境:

我选择的是LNMP环境,选择nginx版本为1.16,PHP版本7.2,mysql不打勾,phpmyadmin不打勾,FTP正常打勾不管它,然后我习惯选择“编译安装”,虽然安装得慢但是运行会更流畅。

4. 在面板中创建网站:

配置好域名路径等相关信息,同时开启FTP,配置好登录名和密码,然后直接创建。

不能忘了对域名提前做好解析。

5. 上传网站:

我通常都是在本地电脑把项目文件夹内的内容打包zip,然后通过FTP把zip上传到服务器的网站根目录。然后进入宝塔面板的文件管理模块,找到压缩包直接解压。这样的操作会节省很多上传时间。

6. 在宝塔面板中对网站进行配置(关键):

登录面板 - 网站 - 对应站点记录后面的“设置”:

基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

在打开的弹层中选择网站目录 - 运行目录 - /public, 保存

基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

不要关闭弹层,在伪静态中写入代码:

location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$ last; break;
}
}

基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题

到这里就可以关闭弹层,试着用解析好的域名去直接访问了,如果仍然报错,可以尝试重启一下站点和服务。

这样就可以了。