基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题
一、 环境与版本:
主机: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. 在宝塔面板中对网站进行配置(关键):
登录面板 - 网站 - 对应站点记录后面的“设置”:

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

不要关闭弹层,在伪静态中写入代码:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$ last; break;
}
}

到这里就可以关闭弹层,试着用解析好的域名去直接访问了,如果仍然报错,可以尝试重启一下站点和服务。
这样就可以了。
基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题的更多相关文章
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
- 关于thinkphp 开发的网站部署问题
公司一个网站用thinkphp 开发的,由wamp环境移植到lamp环境 出现错误.提示无法生成缓存文件. 原因是thinkphp 的一些目录需要重新生成,所以将一个新的thinkphp 核心包应用后 ...
- 如何把kotlin+spring boot开发的项目部署在tomcat上
本文只讲部署过程,你首先要保证你的程序能在IDE里跑起来: 先看看你的application.properties中设置的端口号与你服务器上tomcat的端口号是否一致 server.port=80 ...
- laravel本地开发的项目部署到服务器上
不建议用ftp,建议用git.svn等工具从你的开发服务器上拉取.或者使用一些自动构建发布的工具.如果非要用ftp上传,建议用以下步骤: 服务器上安装composer,并使用`composer sel ...
- 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server
如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...
- 2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略
本攻略基于ubuntu1804的版本,服务器用的华为云的服务器,python3(python2已经在2020彻底停止维护了,所以转到python3是必须的)欢迎加我的QQ6398903,或QQ群讨论相 ...
- spring boot + vue + element-ui全栈开发入门——项目部署
前言 常用的部署方式有两种: 1.是把生成好的静态页面放到spring boot的static目录下,与打包后的spring boot项目一起发布,当spring boot运行起来后,自然而然就能访 ...
- 吐槽:基于PhoneGap开发移动项目
目前,随着Google的Android手机和苹果的iphone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中.其中,Android应用是基于Java语言基础上进行开发的,而苹果公司的iph ...
- 基于ThinkPHP开发的PHPExcel导出
首先我们需要去PHPExcel官网下载开源包 下载好了以后只需要把里面的classes文件夹解压出来就可以用了! 在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写name ...
随机推荐
- python中判断变量的类型
python的数据类型有:数字(int).浮点(float).字符串(str),列表(list).元组(tuple).字典(dict).集合(set) 一般通过以下方法进行判断: 1.isinstan ...
- 微信小程序 报错 “对应的服务器无效。控制台输入 showRequestInfo()可以获取更详细信息”
之前做的项目突然无法读出数据了,一测试发现报这个错误==>对应的服务器无效.控制台输入 showRequestInfo()可以获取更详细信息,后来发现是SSL证书到期了.重新申请了一个证书,免费 ...
- mybatis中的动态代理应用(mapper对象)
-----------------UserMapper的配置信息--------------------- <?xml version="1.0" encoding=&quo ...
- SIP协议 会话发起协议(二)
SIP - 响应码 SIP响应是由用户代理服务器(UAS)或SIP服务器生成的用于回复客户端生成的请求的消息.这可能是一个正式的确认,以防止UAC转发请求. 响应可能包含UAC所需的一些额外的信息头字 ...
- linux 走三层内网添加静态路由
/etc/sysconfig/network-scripts/ifcfg-eth1 #机器1ip route add 10.24.4.0/24 via 10.90.203.1 dev ens33/et ...
- token和sign
前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...
- Zookeeper客户端使用(使用原生zookeeper)
Zookeeper客户端使用 一.使用原生zookeeper 在pom.xml中加入依赖 <dependency> <groupId>org.apache.zookeeper& ...
- #1055 ... sql_mode=only_full_group_by
sql_mode=only_full_group_by 版权声明:本文为参考多篇博主文章,略作测试修改. 参考文章: 猿医生 的<5分钟学会MySQL-this is incompatible ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(7)|函数Functions与闭包Closure]
[易学易懂系列|rustlang语言|零基础|快速入门|(7)函数Functions与闭包Closure] 有意思的基础知识 函数Functions与闭包Closure 我们今天再来看看函数. 在Ru ...
- Berlekamp-Massey algorithm
https://www.cnblogs.com/zzqsblog/p/6877339.html https://blog.csdn.net/qq_39972971/article/details/80 ...