在这一次服务器部署中,可谓是历经曲折,最终还是没能部署成功,但是其中还有很多点值得我和大家分享的。

        首先,这次部署的环境是lnmp,即linux(Cent os7)+Nginx1.18+MySQL5.6+php7.2.

        在服务器部署之前我已经是在虚拟机上按照教程利用宝塔面板完成了一次部署,我觉得应该和以前在Windows上部署差不多,因此开始脱离宝塔面板的集成环境开始手动一个个安装配置环境。我能想到它难,但我没想到它这么难。以下是我遇到的一些坑。

         1.服务器网线接口插不对。是的,没错,插错另一张网卡了,我说这么固定IP之后一直重连怎么都连不上,最后在队友的提示下我意识到可以换一个口试试,结果一换,诶,好了。

          2.安装版本不对。在Cent os7中利用的是yum命令来进行安装,和Ubuntu有点区别,在输入yum install命令之前如果没有 进行换源操作,那么很有可能下载安装的版本就很有可能不是你想要的版本,因此在网上找帖子的时候。尽量要看一些写得好一点的帖子,该换源的时候就换源,换源即是更换下载源的意思。

          3.死钻牛角尖。其中有一个软件是phpMyAdmin,这是一个利用php编写的一个mysql数据库的管理web程序,有了它可以更方便的管理数据库。这个软件在Windows环境下安装的时候还是很顺利的,Apache(虽然我没试过)下应该也是很顺利的,但是这次我使用的是Nginx,所以一直配置这个软件都配置不上,经过一个晚上的配置之后,我意识到这条路似乎行不通,想着回去睡觉明天再说。半夜我在回宿舍的路上,我突然间问自己,我为什么要用这一个程序?我可以远程连接数据库进行管理啊!于是我就为这一晚上的时间感到不值。第二天和老师说了之后,他说其实我们部署mysql的话首选不会是phpMyAdmin,而是直接利用命令行进行数据库的管理,于是我得到了一个新的思路,我立刻回到座位百度:如何利用sql语句导入数据库,一查,在mysql中新建一个库,随后利用source +filename.sql;即可完成数据库的建立,数据库建立部分完成。

          4.php文件不解析问题。其实这个问题在我的另一篇博文里有提到解决的方法,在这里我提一下当时的情景,那时候是访问.php文件的时候是直接将文件下载下来,遇到这种情况即是网站不解析php文件,在Windows环境只需要配置好php解释器即可完成对pjp文件的解析支持,但是这次Cent os7却是多出了一个php-fpm服务,这是一个多线程架构,除了配置php.ini,还需要配置php-fpm.conf文件,这又多了一个麻烦,不过在查阅多篇博文之后,终于把php文件解析功能加上了。

          5.Nginx伪静态配置。这个就是有点坑爹了,我在查阅资料的时候发现不知道是不是我的添加的方法不对还是怎么地,一旦添加伪静态,重启Nginx之后直接罢工,经过几个小时的努力,最终在其中的一个location中直接添加重写规则(具体写法参照我另一篇博文),重启Nginx之后即可实现伪静态功能。

          6.缓存引起的页面无法更新问题。这个是Web开发人员经常会遇到的一个问题。如果是浏览器的缓存问题,那么换个浏览器或者清除浏览器缓存即可解决问题,不过这次我遇到的是另一个缓存问题,那就是系统缓存问题,有用的知识增加了,清除系统缓存即可解决问题,这个方法我不太熟,因此就不给大家演示了。

         理论上来说,环境部署完成,Docker镜像也已制作完成,那么现在总该可以正常使用平台了吧?不,接下来就是导致这次部署失败的最重要原因,那就是平台Web程序无法调用docker程序完成环境下发,具体原因不明,初步推测是用户权限以及配置问题,也就是这最后一步别卡死了,唉。再次说明知识掌握的还不够,还需多加学习。

         本次即是和大家分享一下Cent os与Windows mnp环境部署的一些不同,当然,如果说自己开发的网站仅仅是需要到AMP的话,部署起来也是比较简单的,大家如果感兴趣的话可以自己尝试。本次分享到此结束,感谢大家浏览!