一、 环境与版本:

主机: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服务器上解决路径出错问题的更多相关文章

  1. 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组

    真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...

  2. 关于thinkphp 开发的网站部署问题

    公司一个网站用thinkphp 开发的,由wamp环境移植到lamp环境 出现错误.提示无法生成缓存文件. 原因是thinkphp 的一些目录需要重新生成,所以将一个新的thinkphp 核心包应用后 ...

  3. 如何把kotlin+spring boot开发的项目部署在tomcat上

    本文只讲部署过程,你首先要保证你的程序能在IDE里跑起来: 先看看你的application.properties中设置的端口号与你服务器上tomcat的端口号是否一致 server.port=80 ...

  4. laravel本地开发的项目部署到服务器上

    不建议用ftp,建议用git.svn等工具从你的开发服务器上拉取.或者使用一些自动构建发布的工具.如果非要用ftp上传,建议用以下步骤: 服务器上安装composer,并使用`composer sel ...

  5. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  6. 2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略

    本攻略基于ubuntu1804的版本,服务器用的华为云的服务器,python3(python2已经在2020彻底停止维护了,所以转到python3是必须的)欢迎加我的QQ6398903,或QQ群讨论相 ...

  7. spring boot + vue + element-ui全栈开发入门——项目部署

     前言 常用的部署方式有两种: 1.是把生成好的静态页面放到spring boot的static目录下,与打包后的spring boot项目一起发布,当spring boot运行起来后,自然而然就能访 ...

  8. 吐槽:基于PhoneGap开发移动项目

    目前,随着Google的Android手机和苹果的iphone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中.其中,Android应用是基于Java语言基础上进行开发的,而苹果公司的iph ...

  9. 基于ThinkPHP开发的PHPExcel导出

    首先我们需要去PHPExcel官网下载开源包 下载好了以后只需要把里面的classes文件夹解压出来就可以用了! 在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写name ...

随机推荐

  1. 洛谷 P3388 割点(割顶) 题解

    题面:     割点性质:     节点 u 如果是割点,当且仅当存在 u 的一个子树,子树中没有连向 u 的祖先的边(返祖边).     换句话说,如果对于一个点u,它的子节点是v,如果low[v] ...

  2. 02:Redis常见面试题

    1.1 redis基础面试题 1.什么是Redis?简述它的优缺点? 1. Redis本质上是一个Key-Value类型的内存数据库,很像memcached. 2. 整个数据库统统加载在内存当中进行操 ...

  3. python-day1(学前了解)

    Markdown基本语法 各级标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 加粗 **加粗文本** 斜体 *我斜了* 高亮 ==我高亮了== 上标 2 ...

  4. goods商品类

  5. Python 入门之 内置模块 -- datetime模块

    Python 入门之 内置模块 -- datetime模块 1.datetime模块 from datetime import datetime (1)datetime.now() 获取当前时间和日期 ...

  6. hadoop-mapreduce 详解

    mapreduce 完整流程解析 1. 在客户端启动一个 job: hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar -file ...

  7. 使用Tomcat、JNDI与ActiveMQ实现JMS消息通信服务

    前言 之所以使用JNDI 是出于通用性考虑,该例子使用JMS规范提供的通用接口,没有使用具体JMS提供者的接口,这样可以保证我们编写的程序适用于任何一种JMS实现(ActiveMQ.HornetQ等) ...

  8. P1224 [NOI2013]向量内积

    传送门 发现这个内积和矩乘有点像,考虑构造一个 $n$ 行 $m$ 列的矩阵 $A$,每一行都是一个题目给定的 $m$ 维向量 设 $B=AA^T$ ,其中 $A^T$ 为 $A$ 的转置矩阵,那么对 ...

  9. vue history模式 ios微信分享坑

    vue history模式 ios微信分享坑 问题分析:因为苹果分享会是调取签名失败是因为:苹果在微信中浏览器机制和安卓不同,有IOS缓存问题,和IOS对单页面的优化问题,通俗点说安卓进行页面跳转分享 ...

  10. python多线程之threading、ThreadPoolExecutor.map

    背景: 某个应用场景需要从数据库中取出几十万的数据时,需要对每个数据进行相应的操作.逐个数据处理过慢,于是考虑对数据进行分段线程处理: 方法一:使用threading模块 代码: # -*- codi ...