VPS侦探论坛

 找回密码
 注册
查看: 3467|回复: 0

如何手动重新安装升级APACHE、PHP、NGINX——回馈军哥的论坛

[复制链接]
发表于 2016-6-28 01:52:11 | 显示全部楼层 |阅读模式

军哥 and 大家好:之前有一个马甲问了很多问题,但是好久没有用lnmpa就没有登录,就注册了这个新马甲使用。
因为安装的系统要使用paypal,paypal又是使用TLS1.2的,要升级系统的openss和cURL,本已经运行着,不能全部重装在lnmpa,只能分开重新编译安装,搞了几天的时间。
想到总是在问问题,也十分不好意思的,所以球赛中场休息的时候,发个帖,为论坛添砖加瓦。

首先说一个APACHE,因为PHP、NGINX、MYSQL已经有升级文件。
我安装的是1.2版本的,重新安装APACHE,我看了install.sh的文件,发现安装apach安装是在include/apache.sh的文件里。


  1. LNMP_Ver='1.2'
  2. . include/main.sh. include/init.sh. include/mysql.sh. include/mariadb.sh. include/php.sh. include/nginx.sh. include/apache.sh. include/end.sh
复制代码



所以直接看了apache.sh的代码里面有两个安装函数22版本和24版本的,我安装的是24版本所以就抽24版本的来处理。其实重新编译与升级是一样的,不过有些操作不用做而已,linux是文件系统,所以都是操作文件的,我用来好久linux才了解这个描述,就是说,文件都需要操作的,不像windows安装,已经包装好好多的关联操作,在linux编译安装系统,文件缺失总有提示,当然没有提示也没有办法了,linux对我来说还太深,题外话了。

我们继续,因为我安装的是lnmpa,所以 遇到 "${Stack}" = "lamp"  就跳过了,不管它。

然后就是解压apache的压缩文件,这里的命令我的理解就是有这个版本的就解压,没有这个版本就到镜像网站去下载。
所以如果是收手动操作的,就看你是重新编译安装2.4.12版本还是升级更高版本,自己可以到APACHE去下载,或者到军哥的镜像网站下载。

然后就是./config,make && make install。
我使用的是ubuntu,所以很多操作需要加sudo,所以我一般都使用sudo,因为有时候很奇怪的,例如直接 ./config,虽然run过去了,但是细心看你会发现有些东西好像有错,不过bash会有很多代码就跳过去,到你安装时发现安装有错误,才知道。反而直接用sudo ./config过去,就没有问题。make && make install也是一样。

如果是重新编译的,下面的命令基本不需要用的,mv啊,chmod啊,cp啊,基本不用了,因为之前新安装的时候已经有的了,这就是文件操作的意义,因为文件已经存在就不用管了。
当然,如果是升级的,文件操作方面其实也不用管的,因为军哥的lnmpa安装包的文件已经复制过去了,不过如果升级后有错误,就问军哥吧。
我想2.4系列的版本不多吧。

然后我说一个./config后面的参数问题,其实./config的意思我不大明白,但是参数问题很重要,linux里面,例如openssl,curl等,重新安装后,那么后面的参数也需进行修改什么的,这样才能起作用,例如--with-ssl,我重新安装openssl后,就需要把参数改为:--with-ssl=/usr/local/ssl

所以,当更新系统的什么软件后,与apache有关的参数需要了解一下。



关于PHP重新安装与升级的,其实已经有upgrade.php文件的升级文件,这个虽说是升级文件,但是安装现在版本也是可以的,例如安装了5.6.9版本,重新编译安装5.6.9版本也是可以的,也可以升级到5.6.22版本。
因为某些问题,我需要手动升级PHP的,但我担心跳过upgrade.php 会不会有问题,所以只能看看shell文件了。
然后发现升级php是用到include的/upgrade_php.sh文件的。

  1. . include/main.sh. include/init.sh. include/upgrade_nginx.sh. include/upgrade_php.sh. include/upgrade_mysql.sh. include/upgrade_mariadb.sh. include/upgrade_mysql2mariadb.sh
复制代码

看了upgrade.php的代码,升级PHP是其实是全新安装的过程。重新安装的过程包括:
下载、解压、编译、配置文件处理。
在我的认识了,重新编译安装,基本就是编译安装就可以了,因为之前安装过,配置文件处理已经存在,同时因为之前运行服务器的时候php.ini已经配置过,如果重新安装再配置就还原,再需要更加服务配置就麻烦了。所以我基本重新编译安装后就不动文件的了。
下面就跳过下载解压步骤了。我安装的是PHP5.6.9的其他版本的也不说了。其他版本的有些需要进行预处理的哦,例如5.2版本需要进行check_Curl的处理的,所以手动安装的,要注意。

基本重新编译安装/升级PHP,开始都会检查你是安装lnmp还是lnmpa的:Check_Stack_Choose。
然后检查你安装的是什么数据库之类的 Check_DB,这个函数在main.sh文件里面。
然后就检查啪啦啪啦,就不细说了,继续下去。

手动安装的,注意做预处理的是下面这个代码(lnmpa):



  1. mv /usr/local/apache/modules/libphp5.so /usr/local/apache/modules/libphp5.so.bak.${Upgrade_Date}mv /usr/local/php /usr/local/oldphp${Upgrade_Date}
复制代码

主要是删除apache关联文件与原有的PHP文件。

然后就是可以安装了。
./config, make, make install的,这里要提一下:ZEND_EXTRA_LIBS='-liconv',我觉得必须要用的,百度很多教程只是一个make,但是有时会出现一些错误,查了才知如果linux系统没有安装什么之类的就会出现,一般就是ZEND_EXTRA_LIBS='-liconv'之类吧,所以我按步骤了。
然后就是每个步骤都需要根用户来做出来,例如加sudo之类的。


然后下面的代码都是安装后的配置文件处理的工作,我没有动 因为php方面我修改了,其实一般来说,这些文件已安装好不用修改的,如果出现错误就找出原因来改文件就可以,反正linux就是改文件来进行运行处理的。


然后nginx和mysql其实和上面的经过是差不多,不过一般这两个都不用怎么升级吧。
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-4-24 05:14 , Processed in 0.025611 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表