1. 推荐使用镜像安装Cent OS系统,或者在纯净安装完成之后在完成Apache+MySQL+PHP的时候不要每个单独安装,因为这样会出一些三者之间版本不配的问题,网上各种说法都有,查起来也非常困难,版本匹配之后又会遇到什么问题也无从知晓,反正这种单独安装的方式不适合一般的开发需求,商业开发也基本上都是使用现成的镜像直接安装环境,作为普通开发者,也不要太在这种没有技术含金量的事情上面画太多的时间。

    如果不采用直接安装系统镜像的方式,还是想纯净安装,那我比较推荐的方式是,在安装好纯净的Cent OS系统之后,下一个XAMPP-Installer,下个匹配于自己在开发过程中使用过的版本。然后安装这个XAMPP。需要注意的是,装还这个之后实际上会显示MariaDB+Apache+PHP,这个不用见怪,因为度娘说MariaDB实际上就是MySQL的超集,我们在该情形下就拿他当MySQL对待就好。

  2. 在安装好XAMPP之后,需要检查一下自己的TP5服务端代码中的config文件,将里面的数据库相关的IP地址改成公网的IP地址,不然会报错说没办法通过root进入到处在127.0.0.1这个位置上的数据库,网上搜,一大堆解决方式,但是鲜有适合于TP5开发的,因为产生这类问题的原因太多太多,而网上的各种解决方式基本上都是针对于不同的情况而论,实施之后虽然没有什么大问题,并且感觉上像是解决了,但实际上没有找到问题的根源——网上的解决方式具有特普遍性而不具有特殊性,我们在部署TP5服务器的时候所具有的特殊性是“忘了将config配置文件中的数据库所在IP地址改成公网服务器的IP地址”。

  3. 在设置好之后需要将数据库sql文件引入到服务器上的数据库中,这里有两种方式,一个是通过终端页面进去之后用命令行导入数据库文件,对于新手不太推荐;比较推荐的是使用Navicat数据库管理工具远程连接数据库并在连接成功后将数据库文件导入进去进行管理,这个方式的详细做法可以上哔哩哔哩去看我的视频。但是需要提醒的是,还是因为我们的这个问题具有特殊性——在TP5代码的数据库config文件夹中设置了数据库登录的用户名密码,所以远程连接数据库的时候总会遇到各种拒绝,这时候我们就得看一下有没有输入和配置文件中一致的用户名密码,建议将用户名密码改成和XAMPP数据库用户名密码一致的,比如说我先前设置的XAMPP工具中的MySQL的密码是空,那么我在这里也吧TP5代码中的数据库密码设为空,这样做就是为了能够顺利连接上远程数据库并在远程数据库上新建数据库后载入本地数据库文件进行运行。

  4. 在这些工作都完成之后再去测试接口,会发现跟写入文件操作的接口没法用了,如果前期在这里处理的太好了,比如说我的这个情形,就是在前期就已经吧各种异常处理做好了,这时候因为无法写入文件,除了异常只能看到前期我自己写的抛出异常的语句,鉴于生产环境下很难进行调试,而发现又没有生成关于这个异常的log日志,这时候就很令人不耐烦,找来找去发现自己之前在抛出异常的这个语句上面进行了关于开发环境于生产环境的判断,而部署的时候很自主地将开发模式给关了,换成了生产模式,于是就一直抛出自己写地异常处理响应语句,这时候就需要把生产模式再关掉去看看TP5框架自己返回的异常是什么异常。直到这时,才发现,原来是mkdir()函数没能再Linux系统上正常运行,网上一搜,发现这种坑不会见于Windows开发中,而知见于对运行时权限管理比较注重的Linux操作系统上,也正是因为没能够执行mkdir()函数,我才在生产模式下没有看到任何日志记录,于是我遍将TP5中记录日志的runtime文件夹的权限设置成了777,同时还需要面的两个cache文件夹和log文件夹的权限也都设置成777!,这样之后,我写的关于文件操作的函数就能够顺利被调用起来了,大功告成。



    注意,一些所谓的“服务器内部错误”,细心查看log文件不难发现,就是忘了将runtime文件夹设置权限777;同时更要记住把runtime文件夹里面的cache文件夹、log文件夹也要设置成777权限。设置命令是:chmod 777 fileName

<p align="right">2020年5月1日</p>
<p align="right">艾孜尔江撰稿</p>

在Cent OS云服务器上部署基于TP5后端代码踩坑记录_艾孜尔江撰的更多相关文章

  1. unigui在阿里云服务器上部署

    unigui在阿里云服务器上部署 客户租用了阿里云WINDOWS2008服务器,部署UNIGUI发现死活不行,WINDOWS2008自带的IE9浏览器打开URL,卡死在loading...... 我远 ...

  2. PHP--腾讯云服务器上部署LNMP环境

    本文参考 云服务器上部署Laravel的实例教程 腾讯云 创建 Laravel5.4 项目 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PH ...

  3. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  4. [原创]在HP DL380 G7服务器上部署基于Ubuntu Server 16.04 和 VirtualBox的云平台

    对于一线开发人员来说,一提到虚拟机平台,往往会让人联想到在价格昂贵的服务器上部署VMware vSphere之类软件来实现. 笔者作为一个资深码农,也是一直梦寐着在自己家中打造一个真正的家庭私有云,秒 ...

  5. Linux学习2-在阿里云服务器上部署禅道环境

    前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...

  6. Ubuntu 云服务器上部署自己的 Rails 应用

    自学rails一段时间了,之前只用heroku部署了网站,想尝试把网站以一个更“正经”的方式呈现出来,就买了一个阿里云服务器.参考了网上部分rails部署教程,过程中也遇到了一些问题,所以在完成之后总 ...

  7. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  8. 如何在 Ubuntu 云服务器上部署自己的 Rails 应用

    安装步骤  参考:https://ruby-china.org/topics/32851 在云服务器上安装Ruby|Rails : http://www.cnblogs.com/znsongshu/p ...

  9. 基于Cent os 云服务器中SVN 服务器的搭建---具体实践是可行的 一次备注便于后续查找

    https://blog.csdn.net/shadowyingjian/article/details/80588544http://www.hongyanliren.com/2015m04/329 ...

随机推荐

  1. bfs—Catch That Cow—poj3278

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 87152   Accepted: 27344 ...

  2. Ubuntu Install Chinese Input Method

    为了提高在Linux系统使用中文输入的体验,安装搜狗拼音输入法. 确保键盘输入系统选中fcitx. 搜狗拼音输入法基于fcitx(Free Chinese Input Toy for X)框架,所以要 ...

  3. 程序员最喜欢用的在线IDE代码编译器,什么?你竟然不知道!

    1.网址https://tech.io/snippet 支持 20+ 种编程语言,页面上没有杂七杂八的东西,非常简约,非常干净,另外,它上面的代码段还可以嵌入到网页之中. 2.网址 https://w ...

  4. 学习bootstarp第一天

    一.下载bootstarp(https://v3.bootcss.com/),解压并将文件放入自己项目里去使用即可  二.安装bootstarp <!DOCTYPE html> <h ...

  5. Navicat12.1系列安装,破解以及破解navicat报错的解决方案

    由于上课的需要,我们必须自己下载并安装 Navicat Premium 12,虽然安装过程很简单,但是安装后的navicat只能试用,并没有永久激活,然而我还想永久使用,所以就各种百度,因为不断地遇到 ...

  6. django 整理数据库文档时,从mysql导出的表中没有注释的解决方案

    公司要将Django项目重构成Java项目,也就有了整理数据库文档的经历....... 由于django从model迁移时没有将注释(也就是模型类中的verbose_name)写进mysql的表中,导 ...

  7. 你知道Spring是怎么解析配置类的吗?

    彻底读懂Spring(二)你知道Spring是怎么解析配置类的吗? 推荐阅读: Spring官网阅读系列 彻底读懂Spring(一)读源码,我们可以从第一行读起 Spring执行流程图如下: 如果图片 ...

  8. k近邻法(二)

    上一篇文章讲了k近邻法,以及使用kd树构造数据结构,使得提高最近邻点搜索效率,但是这在数据点N 远大于 2^n 时可以有效的降低算法复杂度,n为数据点的维度,否则,由于需要向上回溯比较距离,使得实际效 ...

  9. spark on yarn安装

    网上关于spark的安装说明很多了,这里就以spark  pre-build with user provided hadoop 安装包为例讲解, 下载spark  pre-build with us ...

  10. 关于form表单的reset

    今天写代码想重置一个表单,一出手就是$("#formid").reset().结果表单纹丝不动数据都还在一点效果都没有. 后来找时间百度了下jquery的api,确实没有reset ...